aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2019-01-21 17:29:57 +0100
committerJo-Philipp Wich <jo@mein.io>2019-01-24 10:39:29 +0100
commit60558790a2a832265ec041131e851b6648f514d4 (patch)
tree167866b17e1ff23a6cc8471e782a1bbd59f0b1d6
parent68b29a7a9595bd1a5c634c1004168a434d5b1c62 (diff)
downloadupstream-60558790a2a832265ec041131e851b6648f514d4.tar.gz
upstream-60558790a2a832265ec041131e851b6648f514d4.tar.bz2
upstream-60558790a2a832265ec041131e851b6648f514d4.zip
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";
}
}
}