diff options
author | Felix Fietkau <nbd@openwrt.org> | 2007-07-10 20:36:25 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2007-07-10 20:36:25 +0000 |
commit | 0ed9124016866aba558c07b1cdde5cdc24627cf2 (patch) | |
tree | b8cd40bf38e708b076b36b65628ef5aa7dab1721 /scripts | |
parent | c0f96795873e3cabe3e6f8e1380538e66b05b651 (diff) | |
download | mtk-20170518-0ed9124016866aba558c07b1cdde5cdc24627cf2.zip mtk-20170518-0ed9124016866aba558c07b1cdde5cdc24627cf2.tar.gz mtk-20170518-0ed9124016866aba558c07b1cdde5cdc24627cf2.tar.bz2 |
fix PACKAGES:= for target profiles in target.mk
SVN-Revision: 7907
Diffstat (limited to 'scripts')
-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 e196003..dbd6cce 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; |