diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-07-10 20:36:25 +0000 | 
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-07-10 20:36:25 +0000 | 
| commit | 8bf629c36a1fa0561c2878da16f859c188c7d16b (patch) | |
| tree | 9294b61ceef72b683fae0e0b6fea94da337106f7 | |
| parent | 70e09c2296450a1437f94abd73ff9147fca71361 (diff) | |
fix PACKAGES:= for target profiles in target.mk
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7907 3c298f89-4303-0410-b956-a3cf2f4a3e73
| -rwxr-xr-x | scripts/metadata.pl | 26 | 
1 files changed, 19 insertions, 7 deletions
| diff --git a/scripts/metadata.pl b/scripts/metadata.pl index e19600332..dbd6ccef3 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -131,6 +131,20 @@ sub parse_package_metadata() {  	return %category;  } +sub merge_package_lists($$) { +	my $list1 = shift; +	my $list2 = shift; +	my @l = (); +	my %pkgs; + +	foreach my $pkg (@$list1, @$list2) { +		$pkgs{$pkg} = 1; +	} +	foreach my $pkg (keys %pkgs) { +		push @l, $pkg unless ($pkg =~ /^-/ or $pkgs{"-$pkg"}); +	} +	return sort(@l); +}  sub gen_target_mk() {  	my @target = parse_target_metadata(); @@ -149,7 +163,7 @@ sub gen_target_mk() {    define Profile/$conf\_$profile->{id}      ID:=$profile->{id}      NAME:=$profile->{name} -    PACKAGES:=".join(" ", @{$profile->{packages}})."\n"; +    PACKAGES:=".join(" ", merge_package_lists($target->{packages}, $profile->{packages}))."\n";  			$profile->{kconfig} and $profiles_def .= "    KCONFIG:=1\n";  			$profiles_def .= "  endef";  			$profiles_eval .= " @@ -303,12 +317,9 @@ config LINUX_$target->{conf}_$profile->{id}  $profile->{config}  EOF  			$profile->{kconfig} and print "\tselect PROFILE_KCONFIG\n"; -			my %pkgs; -			foreach my $pkg (@{$target->{packages}}, @{$profile->{packages}}) { -				$pkgs{$pkg} = 1; -			} -			foreach my $pkg (keys %pkgs) { -				print "\tselect DEFAULT_$pkg\n" unless ($pkg =~ /^-/ or $pkgs{"-$pkg"}); +			my @pkglist = merge_package_lists($target->{packages}, $profile->{packages}); +			foreach my $pkg (@pkglist) { +				print "\tselect DEFAULT_$pkg\n";  			}  			print "\n";  		} @@ -317,6 +328,7 @@ EOF  	print "endchoice\n";  } +  sub find_package_dep($$) {  	my $pkg = shift;  	my $name = shift; | 
