Perl Modules Conundrum

Scott Kitterman scott at kitterman.com
Mon Jan 7 16:41:50 GMT 2008


Currently there are Perl modules (at least libfile-temp-perl and 
libtest-harness-perl) that are provided by the perl-modules package in Perl 
and also packaged separately in a later version.  It is currently impossible 
to build against these separate packages on the buildds.

What happens is that sbuild checks to see if it has such a module installed, 
determines that it does, because the module is provided by perl-modules.  
Later the build will fail due to dependency problems because the version is 
insufficient.  An exemplary build log can be found here:

http://launchpadlibrarian.net/11178540/buildlog_ubuntu-hardy-i386.mime-tools_5.425-0ubuntu1_FAILEDTOBUILD.txt.gz

FYI, that package built fine in my pbuilder before I uploaded it, so this is 
one of those cases where the difference between pbuilder and sbuild is 
significant.

This problem has been reported for some time:

https://bugs.launchpad.net/bugs/111800
https://bugs.launchpad.net/bugs/178536

The challenge is that provides are versioned, so there's no way for sbuild to 
know with it's current design that it should look further.  I suspect it's 
unrealistic to except a near-term Launchpad/sbuild fix for this.

Due to this problem, libmail-box-perl last successfully built in Edgy.

I haven't done an exhaustive survey of FTBFS due to this problem, but it will 
clearly be increasing over time.

My proposed solution to this problem is to rip libfile-temp-perl and 
libtest-harness-perl out of perl-modules, promote the separate packages to 
Main, and then add them as dependencies of perl-modules to that they could 
still be relied on to be present.

This approach would allow building against the newer modules and allow the 
newer modules to be upgraded without having to upload Perl every time one of 
them changes while still ensuring the modules will be installed for packages 
that haven't declared an explicit dependency on them.

Please consider this the "Hold any necessary discussion on ubuntu-devel" part 
of the MIR process for libfile-temp-perl and libtest-harness-perl.

Scott K



More information about the ubuntu-devel mailing list