diff options
author | Jo-Philipp Wich <jo@mein.io> | 2019-01-21 17:29:57 +0100 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2019-01-24 10:39:29 +0100 |
commit | 60558790a2a832265ec041131e851b6648f514d4 (patch) | |
tree | 167866b17e1ff23a6cc8471e782a1bbd59f0b1d6 /scripts | |
parent | 68b29a7a9595bd1a5c634c1004168a434d5b1c62 (diff) | |
download | upstream-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>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/package-metadata.pl | 14 |
1 files changed, 10 insertions, 4 deletions
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"; } } } |