aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/package.mk30
-rwxr-xr-xscripts/package-metadata.pl12
2 files changed, 33 insertions, 9 deletions
diff --git a/include/package.mk b/include/package.mk
index 569ad647d6..06ff21b0b0 100644
--- a/include/package.mk
+++ b/include/package.mk
@@ -53,14 +53,26 @@ endif
include $(INCLUDE_DIR)/quilt.mk
-find_library_dependencies = $(wildcard $(patsubst %,$(STAGING_DIR)/pkginfo/%.version, \
- $(filter-out $(BUILD_PACKAGES),$(foreach dep, \
- $(filter-out @%, $(patsubst +%,%,$(1))), \
- $(if $(findstring :,$(dep)), \
- $(word 2,$(subst :,$(space),$(dep))), \
- $(dep) \
- ) \
- ))))
+find_library_dependencies = \
+ $(wildcard $(patsubst %,$(STAGING_DIR)/pkginfo/%.version, \
+ $(sort $(foreach dep4, \
+ $(sort $(foreach dep3, \
+ $(sort $(foreach dep2, \
+ $(sort $(foreach dep1, \
+ $(sort $(foreach dep0, \
+ $(Package/$(1)/depends), \
+ $(Package/$(dep0)/depends) $(dep0) \
+ )), \
+ $(Package/$(dep1)/depends) $(dep1) \
+ )), \
+ $(Package/$(dep2)/depends) $(dep2) \
+ )), \
+ $(Package/$(dep3)/depends) $(dep3) \
+ )), \
+ $(Package/$(dep4)/depends) $(dep4) \
+ )), \
+ ))
+
PKG_DIR_NAME:=$(lastword $(subst /,$(space),$(CURDIR)))
STAMP_NO_AUTOREBUILD=$(wildcard $(PKG_BUILD_DIR)/.no_autorebuild)
@@ -258,7 +270,7 @@ endef
endif
BUILD_PACKAGES += $(1)
- $(STAMP_PREPARED): $$(if $(QUILT)$(DUMP),,$(call find_library_dependencies,$(DEPENDS)))
+ $(STAMP_PREPARED): $$(if $(QUILT)$(DUMP),,$(call find_library_dependencies,$(1)))
$(foreach FIELD, TITLE CATEGORY SECTION VERSION,
ifeq ($($(FIELD)),)
diff --git a/scripts/package-metadata.pl b/scripts/package-metadata.pl
index 27215f5e57..5abc1bdef3 100755
--- a/scripts/package-metadata.pl
+++ b/scripts/package-metadata.pl
@@ -547,6 +547,18 @@ sub gen_package_auxiliary() {
print "Package/$n/abiversion = $abiv\n";
}
}
+ my %depends;
+ foreach my $dep (@{$pkg->{depends} || []}) {
+ if ($dep =~ m!^\+?(?:[^:]+:)?([^@]+)$!) {
+ $depends{$1}++;
+ }
+ }
+ my @depends = sort keys %depends;
+ if (@depends > 0) {
+ foreach my $n (@{$pkg->{provides}}) {
+ print "Package/$n/depends = @depends\n";
+ }
+ }
}
}