Bug#750017: perl-policy: All packages using Perl vendorarch directory need a perlapi-* dependency
On Sat, May 31, 2014 at 08:33:48PM +0300, Niko Tyni wrote:
> Binary modules must specify a dependency on either
> <package>perl</package> or <package>perl-base</package> with
> a minimum version of the <package>perl</package> package
> - used to build the module, and must additionally depend on
> - the expansion of
> + used to build the module. Additionally, all modules installed
> + into <tt>$Config{vendorarch}</tt> (binary or otherwise
> + architecture dependent) must depend on the expansion of
> <package>perlapi-$Config{debian_abi}</package> using
> the <tt>Config</tt> module. If <tt>$Config{debian_abi}</tt>
> is empty or not set, <tt>$Config{version}</tt> must be used.
I now realize that this wording unintentionally removes the perlapi
requirement for binary modules outside vendorarch (see for instance
the amanda-common package, which uses /usr/lib/amanda/perl/).
Revised patch attached. The new wording feels a bit awkward but
I guess it will do. Improvements and eyeballs welcome, of course.
--
Niko Tyni ntyni@debian.org
>From 007c07db2c549adef83b0c9019d90746117bd7df Mon Sep 17 00:00:00 2001
From: Niko Tyni <ntyni@debian.org>
Date: Fri, 30 May 2014 14:10:22 +0300
Subject: [PATCH] All packages using Perl vendorarch directory need a perlapi-*
dependency
Having $Config{vendorarch} change between Perl major versions (for
multiarch or other reasons) implies that packages using it need a strict
dependency on those versions of perl-base that have a compatible search
path (@INC).
The vast majority of these packages are binary ("XS") modules, where we
already require a dependency on the virtual package perlapi-*, provided
by perl-base. The name of this virtual package will change when the
interface between the Perl interpreter and the modules changes.
If we consider @INC part of that interface, we can use the existing
mechanism also for the few nonbinary modules using $Config{vendorarch}.
This is a new requirement that currently affects six packages in
the archive.
---
perl-policy.sgml | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/perl-policy.sgml b/perl-policy.sgml
index c23f7c3..12cd82c 100644
--- a/perl-policy.sgml
+++ b/perl-policy.sgml
@@ -388,14 +388,15 @@ $(MAKE) install DESTDIR=$(CURDIR)/debian/<tmp>
</sect1>
<sect1 id="binary_modules">
- <heading>Binary Modules</heading>
+ <heading>Binary and Other Architecture Dependent Modules</heading>
<p>
Binary modules must specify a dependency on either
<package>perl</package> or <package>perl-base</package> with
a minimum version of the <package>perl</package> package
- used to build the module, and must additionally depend on
- the expansion of
- <package>perlapi-$Config{debian_abi}</package> using
+ used to build the module. Additionally, all binary modules
+ (regardless of their installation directory) and any other modules
+ installed into <tt>$Config{vendorarch}</tt> must depend on the
+ expansion of <package>perlapi-$Config{debian_abi}</package> using
the <tt>Config</tt> module. If <tt>$Config{debian_abi}</tt>
is empty or not set, <tt>$Config{version}</tt> must be used.
</p>
--
2.0.0.rc4
Reply to: