diff --git a/include/scan.mk b/include/scan.mk index cd1e47e1a..9bd0f379d 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 e8a7c1b4a..46f66446a 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) {