summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJo-Philipp Wich2019-01-21 16:29:57 +0000
committerJo-Philipp Wich2019-01-24 09:39:29 +0000
commit60558790a2a832265ec041131e851b6648f514d4 (patch)
tree167866b17e1ff23a6cc8471e782a1bbd59f0b1d6
parent68b29a7a9595bd1a5c634c1004168a434d5b1c62 (diff)
downloadopenwrt-60558790a2a832265ec041131e851b6648f514d4.tar.gz
build: extend ABI_VERSION suffixing to provides
When a library package specifies additional provides, e.g. libncurses which provides libncursesw, we should also append the abi version suffix to each provide, since there may be more than one package providing the virtual library. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
-rw-r--r--include/package-ipkg.mk2
-rwxr-xr-xscripts/package-metadata.pl14
2 files changed, 11 insertions, 5 deletions
diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk
index dc05eefc7c..1cb4da8e30 100644
--- a/include/package-ipkg.mk
+++ b/include/package-ipkg.mk
@@ -162,7 +162,7 @@ Package: $(1)$$(ABIV_$(1))
Version: $(VERSION)
$$(call addfield,Depends,$$(Package/$(1)/DEPENDS)
)$$(call addfield,Conflicts,$$(call mergelist,$(CONFLICTS))
-)$$(call addfield,Provides,$$(call mergelist,$(PROVIDES)$$(if $$(ABIV_$(1)), $(1)))
+)$$(call addfield,Provides,$$(call mergelist,$(PROVIDES)$$(if $$(ABIV_$(1)), $(1) $(foreach provide,$(PROVIDES),$(provide)$$(ABIV_$(1)))))
)$$(call addfield,Alternatives,$$(call mergelist,$(ALTERNATIVES))
)$$(call addfield,Source,$(SOURCE)
)$$(call addfield,SourceName,$(1)
diff --git a/scripts/package-metadata.pl b/scripts/package-metadata.pl
index b69ceb216a..e0cdff1e81 100755
--- a/scripts/package-metadata.pl
+++ b/scripts/package-metadata.pl
@@ -516,13 +516,19 @@ sub gen_package_auxiliary() {
if ($pkg->{name} && $pkg->{repository}) {
print "Package/$name/subdir = $pkg->{repository}\n";
}
- if ($pkg->{name} && defined($pkg->{abiversion})) {
+ if ($pkg->{name} && defined($pkg->{abiversion}) && length($pkg->{abiversion})) {
+ my $abiv;
+
if ($pkg->{abiversion} =~ m!^(\d{4})-(\d{2})-(\d{2})-[0-9a-f]{7,40}$!) {
print STDERR "WARNING: Reducing ABI version '$pkg->{abiversion}' of package '$name' to '$1$2$3'\n";
- print "Package/$name/abiversion = $1$2$3\n";
+ $abiv = "$1$2$3";
+ }
+ else {
+ $abiv = $pkg->{abiversion};
}
- elsif (length $pkg->{abiversion}) {
- print "Package/$name/abiversion = $pkg->{abiversion}\n";
+
+ foreach my $n (@{$pkg->{provides}}) {
+ print "Package/$n/abiversion = $abiv\n";
}
}
}