summaryrefslogtreecommitdiff
path: root/scripts/metadata.pl
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2008-06-11 01:36:08 +0000
committerFelix Fietkau <nbd@openwrt.org>2008-06-11 01:36:08 +0000
commit46e3535d08baf2508ef7d9fef60d568ed3cb0052 (patch)
tree1a79051ae3ce5724a913264f1c1983f942050319 /scripts/metadata.pl
parent51bc4434dda9501f2f4aae7f0a103992036b1201 (diff)
downloadmtk-20170518-46e3535d08baf2508ef7d9fef60d568ed3cb0052.zip
mtk-20170518-46e3535d08baf2508ef7d9fef60d568ed3cb0052.tar.gz
mtk-20170518-46e3535d08baf2508ef7d9fef60d568ed3cb0052.tar.bz2
fix some previously ignored build dependencies (for example, uci->lua)
SVN-Revision: 11429
Diffstat (limited to 'scripts/metadata.pl')
-rwxr-xr-xscripts/metadata.pl18
1 files changed, 14 insertions, 4 deletions
diff --git a/scripts/metadata.pl b/scripts/metadata.pl
index 50d636a..bd1a40a 100755
--- a/scripts/metadata.pl
+++ b/scripts/metadata.pl
@@ -502,11 +502,21 @@ sub gen_package_mk() {
foreach my $name (sort {uc($a) cmp uc($b)} keys %package) {
my $config;
my $pkg = $package{$name};
+ my @srcdeps;
next if defined $pkg->{vdepends};
next if $done{$pkg->{src}};
$done{$pkg->{src}} = 1;
+ foreach my $spkg (@{$srcpackage{$pkg->{src}}}) {
+ foreach my $dep (@{$spkg->{depends}}, @{$spkg->{builddepends}}) {
+ $dep =~ /@/ or do {
+ $dep =~ s/\+//g;
+ push @srcdeps, $dep;
+ };
+ }
+ }
+
if ($ENV{SDK}) {
$conf{$pkg->{src}} or do {
$config = 'm';
@@ -522,9 +532,7 @@ sub gen_package_mk() {
my $hasdeps = 0;
my $depline = "";
- foreach my $deps (@{$pkg->{depends}}, @{$pkg->{builddepends}}) {
- next if $deps =~ /@/;
- $deps =~ s/\+//;
+ foreach my $deps (@srcdeps) {
my $idx;
my $pkg_dep = $package{$deps};
my @deps;
@@ -544,10 +552,12 @@ sub gen_package_mk() {
}
undef $idx if $idx =~ /^(kernel)|(base-files)$/;
if ($idx) {
- next if $dep{$pkg->{src}."->".$idx};
next if $pkg->{src} eq $pkg_dep->{src};
+ next if $dep{$pkg->{src}."->".$idx};
+ next if $dep{$pkg->{src}."->($dep)".$idx};
if ($pkg_dep->{vdepends}) {
$depline .= " \$(if \$(CONFIG_PACKAGE_$dep),\$(curdir)/$idx/compile)";
+ $dep{$pkg->{src}."->($dep)".$idx} = 1;
} else {
$depline .= " \$(curdir)/$idx/compile";
$dep{$pkg->{src}."->".$idx} = 1;