diff options
author | Jo-Philipp Wich <jo@mein.io> | 2019-06-20 21:02:06 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2019-06-21 12:03:43 +0200 |
commit | 27a4a71c240875e3fff868f26f723178bf94eb86 (patch) | |
tree | 6d61257cd6fd68fef08992ba9edfb01bbcf108a6 /scripts/package-metadata.pl | |
parent | 3dc4f59eabaed5135cd4eed8d1846248d5f1b37c (diff) | |
download | upstream-27a4a71c240875e3fff868f26f723178bf94eb86.tar.gz upstream-27a4a71c240875e3fff868f26f723178bf94eb86.tar.bz2 upstream-27a4a71c240875e3fff868f26f723178bf94eb86.zip |
metadata: handle ABI version rebuild tracking for transient dependencies
Extend the packageauxvars database to keep a list of possible package
dependencies for each provider, then utilize this information in buildroot
to resolve the ABI version dependencies of dependent packages up to five
levels deep.
This should properly trigger rebuilds for packages indirectly depending
on other packages whose ABI_VERSION changed.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'scripts/package-metadata.pl')
-rwxr-xr-x | scripts/package-metadata.pl | 12 |
1 files changed, 12 insertions, 0 deletions
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"; + } + } } } |