From de2aa28c4cecf4d63c9ed5e057498bf2c046bb69 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Sun, 15 Jul 2007 23:36:02 +0000
Subject: [PATCH] properly support dependencies on packages that just use
 Build/DefaultTargets

SVN-Revision: 7983
---
 include/scan.mk     | 2 +-
 scripts/metadata.pl | 8 ++++----
 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) {
-- 
GitLab