diff options
| -rw-r--r-- | Config.in | 2 | ||||
| -rw-r--r-- | Makefile | 3 | ||||
| -rw-r--r-- | package/Config.in | 11 | ||||
| -rw-r--r-- | package/busybox/Makefile | 1 | ||||
| -rw-r--r-- | package/iptables/Makefile | 9 | ||||
| -rw-r--r-- | package/rules.mk | 20 | ||||
| -rwxr-xr-x | scripts/gen_menuconfig.pl | 82 | ||||
| -rw-r--r-- | target/Config.in | 2 | 
8 files changed, 108 insertions, 22 deletions
@@ -34,5 +34,5 @@ config JLEVEL  	    Number of jobs to run simultanesouly  source "toolchain/Config.in" -source "package/Config.in" +source ".config.in" @@ -50,6 +50,7 @@ endif  	done > $@  .config.in: .pkginfo +	./scripts/gen_menuconfig.pl < $< > $@ || rm -f $@  pkginfo-clean:  	-rm -f .pkginfo .config.in @@ -63,7 +64,7 @@ scripts/config/conf: .config.in  menuconfig: scripts/config/mconf  	$< Config.in -config: scripts/config/mconf +config: scripts/config/conf  	$< Config.in  config-clean: diff --git a/package/Config.in b/package/Config.in deleted file mode 100644 index a0961bf66..000000000 --- a/package/Config.in +++ /dev/null @@ -1,11 +0,0 @@ -# - -menu "OpenWrt Package Selection" - -comment "Package categories" - -menu "Base system" -endmenu - -endmenu - diff --git a/package/busybox/Makefile b/package/busybox/Makefile index a5830764e..5ccbe2251 100644 --- a/package/busybox/Makefile +++ b/package/busybox/Makefile @@ -18,6 +18,7 @@ define Package/busybox  CONFIGFILE:=config/Config.in  SECTION:=base  CATEGORY:=Base system +DEFAULT:=y  TITLE:=Core utilities for embedded Linux  DESCRIPTION:=The Swiss Army Knife of embedded Linux.  It slices, it dices, it\\\  makes Julian Fries. diff --git a/package/iptables/Makefile b/package/iptables/Makefile index 56ab59417..cc7c84a0d 100644 --- a/package/iptables/Makefile +++ b/package/iptables/Makefile @@ -28,6 +28,8 @@ endif  define Package/iptables  SECTION:=net  CATEGORY:=Base system +MENU:=1 +DEFAULT:=y  TITLE:=IPv4 firewall administration tool  URL:=http://netfilter.org/  endef @@ -186,10 +188,6 @@ define Package/ip6tables/install  	$(RSTRIP) $(1)  endef -$(eval $(call BuildPackage,iptables)) -$(eval $(call BuildPackage,iptables-utils)) -$(eval $(call BuildPackage,ip6tables)) -  define BuildPlugin  define Package/$(1)/install  	install -m0755 -d $$(1)/usr/lib/iptables @@ -206,6 +204,8 @@ endef  L7_INSTALL:=mkdir -p $$(1)/etc/l7-protocols; \  	$(CP) files/l7/*.pat $$(1)/etc/l7-protocols/ +$(eval $(call BuildPackage,iptables)) +$(eval $(call BuildPackage,iptables-utils))  $(eval $(call BuildPlugin,iptables-mod-conntrack,$(IPT_CONNTRACK-m)))  $(eval $(call BuildPlugin,iptables-mod-extra,$(IPT_EXTRA-m)))  $(eval $(call BuildPlugin,iptables-mod-filter,$(IPT_FILTER-m),$(L7_INSTALL))) @@ -214,6 +214,7 @@ $(eval $(call BuildPlugin,iptables-mod-ipopt,$(IPT_IPOPT-m)))  $(eval $(call BuildPlugin,iptables-mod-ipsec,$(IPT_IPSEC-m)))  $(eval $(call BuildPlugin,iptables-mod-nat,$(IPT_NAT-m)))  $(eval $(call BuildPlugin,iptables-mod-ulog,$(IPT_ULOG-m))) +$(eval $(call BuildPackage,ip6tables))  $(STAGING_DIR)/usr/lib/libipq.a: $(PKG_BUILD_DIR)/.built diff --git a/package/rules.mk b/package/rules.mk index ac9b98d74..2ff710ac8 100644 --- a/package/rules.mk +++ b/package/rules.mk @@ -46,6 +46,8 @@ SOURCE:=$(patsubst $(TOPDIR)/%,%,${shell pwd})  VERSION:=$(PKG_VERSION)-$(PKG_RELEASE)  PKGARCH:=$(ARCH)  PRIORITY:=optional +DEFAULT:= +MENU:=  TITLE:=  DESCRIPTION:=  endef @@ -96,11 +98,21 @@ endif  IDEPEND_$(1):=$$(strip $$(DEPENDS))  DUMPINFO += \ -	echo "Package: $(1)"; \ +	echo "Package: $(1)";  +ifneq ($(MENU),) +DUMPINFO += \ +	echo "Menu: $(MENU)"; +endif +ifneq ($(DEFAULT),) +DUMPINFO += \ +	echo "Default: $(DEFAULT)"; +endif +DUMPINFO += \  	echo "Version: $(VERSION)"; \ -	echo "Depends: $(IDEPEND_$(1))"; \ +	echo "Depends: $$(IDEPEND_$(1))"; \ +	echo "Category: $(CATEGORY)"; \  	echo "Title: $(TITLE)"; \ -	echo "$(DESCRIPTION)" | sed -e 's,\\,\n,g'; \ +	echo "Description: $(DESCRIPTION)" | sed -e 's,\\,\n,g'; \  	echo; \  	echo "$(URL)"; \  	echo "@@"; @@ -110,7 +122,7 @@ $$(IDIR_$(1))/CONTROL/control: $(PKG_BUILD_DIR)/.prepared  	mkdir -p $$(IDIR_$(1))/CONTROL  	echo "Package: $(1)" > $$(IDIR_$(1))/CONTROL/control  	echo "Version: $(VERSION)" >> $$(IDIR_$(1))/CONTROL/control -	echo "Depends: $(IDEPEND_$(1))" >> $$(IDIR_$(1))/CONTROL/control +	echo "Depends: $$(IDEPEND_$(1))" >> $$(IDIR_$(1))/CONTROL/control  	echo "Source: $(SOURCE)" >> $$(IDIR_$(1))/CONTROL/control  	echo "Section: $(SECTION)" >> $$(IDIR_$(1))/CONTROL/control  	echo "Priority: $(PRIORITY)" >> $$(IDIR_$(1))/CONTROL/control diff --git a/scripts/gen_menuconfig.pl b/scripts/gen_menuconfig.pl new file mode 100755 index 000000000..70e31a45f --- /dev/null +++ b/scripts/gen_menuconfig.pl @@ -0,0 +1,82 @@ +#!/usr/bin/perl +use strict; + +my $src; +my $makefile; +my $pkg; +my %category; + +sub print_category($) { +	my $cat = shift; +	 +	return unless $category{$cat}; +	 +	print "menu \"$cat\"\n\n"; +	my %spkg = %{$category{$cat}}; +	foreach my $spkg (sort {uc($a) cmp uc($b)} keys %spkg) { +		foreach my $pkg (@{$spkg{$spkg}}) { +			my $title = $pkg->{name}; +			my $c = (72 - length($pkg->{name}) - length($pkg->{title})); +			if ($c > 0) { +				$title .= ("." x $c). " ". $pkg->{title}; +			} +			print "\t"; +			$pkg->{menu} and print "menu"; +			print "config PACKAGE_".$pkg->{name}."\n"; +			print "\t\ttristate \"$title\"\n"; +			print "\t\tdefault ".$pkg->{default}."\n"; +			foreach my $depend (@{$pkg->{depends}}) { +				print "\t\tdepends PACKAGE_$depend\n"; +			} +			print "\n" +		} +	} +	print "endmenu\n\n"; +	 +	undef $category{$cat}; +} + +my $line; +while ($line = <>) { +	chomp $line; +	$line =~ /^Source-Makefile: \s*(.+\/([^\/]+)\/Makefile)\s*$/ and do { +		$makefile = $1; +		$src = $2; +		undef $pkg; +	}; +	$line =~ /^Package: \s*(.+)\s*$/ and do { +		$pkg = {}; +		$pkg->{src} = $src; +		$pkg->{makefile} = $makefile; +		$pkg->{name} = $1; +		$pkg->{default} = "m if ALL"; +	}; +	$line =~ /^Version: \s*(.+)\s*$/ and $pkg->{version} = $1; +	$line =~ /^Title: \s*(.+)\s*$/ and $pkg->{title} = $1; +	$line =~ /^Menu: \s*(.+)\s*$/ and $pkg->{menu} = $1; +	$line =~ /^Default: \s*(.+)\s*$/ and $pkg->{default} = $1; +	$line =~ /^Depends: \s*(.+)\s*$/ and do { +		my @dep = split /,\s*/, $1; +		$pkg->{depends} = \@dep; +	}; +	$line =~ /^Category: \s*(.+)\s*$/ and do { +		$pkg->{category} = $1; +		defined $category{$1} or $category{$1} = {}; +		defined $category{$1}->{$src} or $category{$1}->{$src} = []; +		push @{$category{$1}->{$src}}, $pkg; +	}; +	$line =~ /^Description: \s*(.*)\s*$/ and do { +		my $desc = $1; +		my $line; +		while (<>) { +			last if /^@@/; +			$desc .= $1; +		} +		$pkg->{description} = $desc; +	} +} + +print_category 'Base system'; +foreach my $cat (keys %category) { +	print_category $cat; +} diff --git a/target/Config.in b/target/Config.in index 80e9847d6..7f07ff0ac 100644 --- a/target/Config.in +++ b/target/Config.in @@ -69,7 +69,7 @@ config LINUX_2_6_AU1000  	bool "au1000 [2.6]"  	select mipsel  	select LINUX_2_6 -	select LINUX_PCMCIA_SUPPORT +	select PCMCIA_SUPPORT  	help  	  Build firmware for AMD Alchemy 1500 boards  	  (e.g. 4G-Systems Mesh/Access Cube ...)  | 
