diff options
-rw-r--r-- | debian/changelog | 3 | ||||
-rw-r--r-- | man/deb-symbols.man | 7 | ||||
-rwxr-xr-x | scripts/dpkg-shlibdeps.pl | 5 |
3 files changed, 13 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog index 6690b4154..3581597c1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,6 +12,9 @@ dpkg (1.20.0) UNRELEASED; urgency=medium the STRIP variable. * dpkg-genbuildinfo: Do not include irrelevant packages in the Binary field. * dpkg: Do not clear selections for unknown packages. Closes: #927752 + * dpkg-shlibdeps: Add support for new Build-Depends-Packages, to be able + to specify multiple packages. Closes: #926669 + Based on a patch by Frank Schaefer <kelledin@gmail.com>. * Documentation: - man: Fix uncommon wording constructs. * Build system: diff --git a/man/deb-symbols.man b/man/deb-symbols.man index ca52b1733..7da0a7682 100644 --- a/man/deb-symbols.man +++ b/man/deb-symbols.man @@ -67,6 +67,13 @@ and is used by \fBdpkg\-shlibdeps\fP to make sure that the dependency generated is at least as strict as the corresponding build dependency (since dpkg 1.14.13). .TP +.B Build\-Depends\-Packages +The same as \fBBuild\-Depends\-Package\fP but accepts a comma-separated +list of package names (since dpkg 1.20.0). +This field will override any \fBBuild\-Depends\-Package\fP field present, +and is mostly useful with a “\-dev” packages and metapackages depending +on these, say for a transition period. +.TP .B Ignore\-Blacklist\-Groups It indicates what blacklist groups should be ignored, as a whitespace separated list, so that the symbols contained in those groups get diff --git a/scripts/dpkg-shlibdeps.pl b/scripts/dpkg-shlibdeps.pl index a318a59d1..f662b2f58 100755 --- a/scripts/dpkg-shlibdeps.pl +++ b/scripts/dpkg-shlibdeps.pl @@ -435,8 +435,9 @@ foreach my $file (keys %exec) { foreach my $soname (@sonames) { # Adjust minimal version of dependencies with information # extracted from build-dependencies - my $dev_pkg = $symfile->get_field($soname, 'Build-Depends-Package'); - if (defined $dev_pkg) { + my $dev_pkgs = $symfile->get_field($soname, 'Build-Depends-Packages') // + $symfile->get_field($soname, 'Build-Depends-Package'); + foreach my $dev_pkg (split /[,\s]+/, $dev_pkgs // '') { debug(1, "Updating dependencies of $soname with build-dependencies"); my $minver = get_min_version_from_deps($build_deps, $dev_pkg); if (defined $minver) { |