[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#579457: debian-policy: finer granularity for perlapi-*



On Wed, May 05, 2010 at 08:23:47AM +0000, Brendan O'Dea wrote:
> >I would like to include these settings in the virtual package name so
> >that it would be possible to make incompatible ABI changes during the
> >life time of a single Perl upstream version and have a clean transition
> >path.

> It seems to me that you could leave it as-is, for this release but
> additionally make this policy change:
> 
> >For convenience, the perl package could include the suffix and/or the
> >whole string in something like $Config{debian_abi}. In that case we
> >should probably mandate that packages need to use it rather than derive
> >the string themselves.

Thanks! This is obviously an improvement: it only specifies the minimum
necessary interface between the packages and leaves the rest to the
domain of the perl package.

Perhaps something like this?  Feel free to bikeshed the names.

diff --git a/perl-policy.sgml b/perl-policy.sgml
index 1d26df7..7c5a243 100644
--- a/perl-policy.sgml
+++ b/perl-policy.sgml
@@ -88,8 +88,10 @@
 	  re-built against the new package (see <ref id="binary_modules">).
 	</p>
 	<p>
-	  The <package>perl-base</package> package must provide
-	  <package>perlapi-<var>version</var></package> for all released
+	  The <package>perl-base</package> package must specify a name for the
+	  binary interface it is offering in the <tt>$Config{debian_abi}</tt>
+	  variable, and provide the expansion of
+	  <package>perlapi-$Config{debian_abi}</package> for all released package
 	  versions it is compatible with.
 	</p>
       </sect>
@@ -348,7 +350,7 @@ $(MAKE) install PREFIX=$(CURDIR)/debian/&lt;tmp&gt;/usr
 	    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{version}</package> using
+	    <package>perlapi-$Config{debian_abi}</package> using
 	    the <tt>Config</tt> module.
 	  </p>
 	</sect1>

I agree that starting the 5.12 series with just
$Config{debian_abi}="5.12.0" should be fine.

> >[1] Given that this is all about binary compatibility, I don't understand
> >    why the virtual package is called perlapi-* and not perlabi-*.
> >    Maybe somebody could enlighten me?
> 
> The name came from the variables in perl used to denote the oldest
> compatible binary version: api_{revision,version,subversion}.

Ah, I see.

> Feel free to s/abi/api/ if it truely bothers you.

Not really, just wondering. It's probably best to stick to the tradition.
-- 
Niko Tyni   ntyni@debian.org



Reply to: