summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-07-15 23:36:02 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-07-15 23:36:02 +0000
commit9ed76c6c5c63f0923dc70dd7c7f99f9d1c648489 (patch)
treea6333f80492e5f0c3e7f137f590037f5088011a0
parent08bc50f0808241c1381348bdf54fc72f6fdd6525 (diff)
properly support dependencies on packages that just use Build/DefaultTargets
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7983 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--include/scan.mk2
-rwxr-xr-xscripts/metadata.pl8
2 files changed, 5 insertions, 5 deletions
diff --git a/include/scan.mk b/include/scan.mk
index cd1e47e1a3..9bd0f379da 100644
--- a/include/scan.mk
+++ b/include/scan.mk
@@ -31,7 +31,7 @@ endef
$(FILELIST):
rm -f tmp/info/.files-$(SCAN_TARGET)-*
- find $(SCAN_DIR) $(SCAN_EXTRA) -mindepth 1 $(if $(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) -name Makefile | xargs grep -HE 'call (KernelPackage|Build(Package|Kernel))' | sed -e 's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq > $@
+ find $(SCAN_DIR) $(SCAN_EXTRA) -mindepth 1 $(if $(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) -name Makefile | xargs grep -HE 'call (Build/DefaultTargets|KernelPackage|Build(Package|Kernel))' | sed -e 's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq > $@
tmp/info/.files-$(SCAN_TARGET).mk: $(FILELIST)
( \
diff --git a/scripts/metadata.pl b/scripts/metadata.pl
index e8a7c1b4a8..46f66446a8 100755
--- a/scripts/metadata.pl
+++ b/scripts/metadata.pl
@@ -4,6 +4,7 @@ my %preconfig;
my %package;
my %srcpackage;
my %category;
+my %subdir;
sub get_multiline {
my $prefix = shift;
@@ -81,6 +82,7 @@ sub parse_package_metadata() {
$subdir = $2;
$src = $3;
$subdir =~ s/^package\///;
+ $subdir{$src} = $subdir;
$srcpackage{$src} = [];
undef $pkg;
};
@@ -518,14 +520,12 @@ sub gen_package_mk() {
$dep =~ s/\+//;
my $idx;
my $pkg_dep = $package{$dep};
- $pkg_dep or $pkg_dep = $srcpackage{$dep}->[0];
- next unless defined $pkg_dep;
next if defined $pkg_dep->{vdepends};
if (defined $pkg_dep->{src}) {
($pkg->{src} ne $pkg_dep->{src}) and $idx = $pkg_dep->{subdir}.$pkg_dep->{src};
- } elsif (defined($pkg_dep) && !defined($ENV{SDK})) {
- $idx = $dep;
+ } elsif (defined($srcpackage{$dep})) {
+ $idx = $subdir{$dep}.$dep;
}
undef $idx if $idx =~ /^(kernel)|(base-files)$/;
if ($idx) {