Package: debhelper
Version: 9.20140613
User: [email protected]
Usertags: perl-5.20-transition
There's a pending Perl policy change discussed in #750017 that requires
the handful of packages in the archive that install nonbinary Perl modules
into /usr/lib/perl5 (or, more generally, $Config{vendorarch} to add a
perlapi-* dependency. The attached mostly untested patch implements this
in dh_perl.
I'll try to find some time to test it myself, but as that could be done by
others too, I wanted to file this sooner rather than later. Not adding
the 'patch' tag quite yet, though.
--
Niko Tyni [email protected]
>From 5218415a469dc9a70b4ad9878da445a726c4cc24 Mon Sep 17 00:00:00 2001
From: Niko Tyni <[email protected]>
Date: Sat, 31 May 2014 21:04:40 +0300
Subject: [PATCH] Add perlapi-* dependency on packages installed to
$Config{vendorarch}
$Config{vendorarch} can now change between perl versions, so stricter
dependencies are needed for partial upgrades. See #750017 for details.
This currently affects six packages in the archive.
---
dh_perl | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/dh_perl b/dh_perl
index ed18f91..cf5c8fa 100755
--- a/dh_perl
+++ b/dh_perl
@@ -86,6 +86,7 @@ my $version;
use constant PROGRAM => 1;
use constant PM_MODULE => 2;
use constant XS_MODULE => 4;
+use constant ARCHDEP_MODULE => 8;
foreach my $package (@{$dh{DOPACKAGES}}) {
my $tmp=tmpdir($package);
@@ -101,6 +102,8 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
return unless -f;
$deps |= PM_MODULE if /\.pm$/;
$deps |= XS_MODULE if /\.so$/;
+ $deps |= ARCHDEP_MODULE
+ if $File::Find::dir =~ /\Q$vendorarch\E$/;
}, @dirs if @dirs;
# find scripts
@@ -129,10 +132,11 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
addsubstvar($package, "perl:Depends", $perl, $version)
unless $perl eq 'perl-base' && ! length($version);
- # add perlapi-<ver> for XS modules
+ # add perlapi-<ver> for XS modules and other modules
+ # installed into vendorarch
addsubstvar($package, "perl:Depends",
"perlapi-" . ($Config{debian_abi} || $Config{version}))
- if $deps & XS_MODULE;
+ if $deps & ( XS_MODULE | ARCHDEP_MODULE );
}
# MakeMaker always makes lib and share dirs, but typically
--
2.0.0.rc4