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 nt...@debian.org
>From 007c07db2c549adef83b0c9019d90746117bd7df Mon Sep 17 00:00:00 2001 From: Niko Tyni <nt...@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