PaulHowarth/Blog/2009-06-15

Monday 15th June 2009

Local Packages

  • Updated curl to renumber patches as per the Fedora version - some of my local changes are likely to get merged into the Fedora version soon too (Bug #504857)

  • Updated davfs2 to 1.4.1 (retry uploads on connection failures)

  • Updated fetchyahoo to 2.13.6 (fix getting message IDs for read messages)

  • Updated perl-Archive-Tar to 1.52 (support for --no-same-permissions style behaviour)

  • Updated perl-Array-Compare to 1.18 (fix uninitialized variable in simple_compare - RT#45145)

  • Updated perl-PAR-Dist to 0.45 (fix test skipping if optional dependencies can't be found)

  • Updated perl-XML-NamespaceSupport to 1.10 (re-bundle with modern testing and Module::Install)

A couple of the perl module packages were unusually troublesome today.

Firstly, perl-XML-NamespaceSupport tries to use the CPAN module by default during installation due to the use of Module::AutoInstall, so that would be an extra build requirement (no too bad) and loads of extra redundant text in the build logs due to the CPAN module trying to configure itself. However, the biggest problem with the use of CPAN in an RPM-based distro is that it might pull in modules that don't get registered in the RPM database, leading to potentially unreproducible builds. Fortunately this could be prevented by adding the --skipdeps parameter to the Makefile.PL invocation.

Secondly, perl-Array-Compare failed to build on anything older than Fedora Core 5, trying to run Build.PL (which requires Module::Build, not in the buildroot). Adding a buildreq of perl(Module::Build) didn't help either, resulting in this strange output:

Checking if your kit is complete...
Looks good
Writing Makefile for Array::Compare
+ /usr/bin/make -j2
/usr/bin/perl "-Iblib/arch" "-Iblib/lib" Build.PL Build
cp lib/Array/Compare.pm blib/lib/Array/Compare.pm
Manifying blib/man3/Array::Compare.3pm
Too early to specify a build action 'Build'.  Do 'Build Build' instead.
make: *** [Build] Error 2

Looking at what had changed in Makefile.PL since the previous version, I saw that it had been auto-generated by Module::Build::Compat version 0.32, whereas the previous version was auto-generated by Module::Build::Compat version 0.2808_01. The only other change was that the PL_FILES entry was missing from the WriteMakefile call. Adding this back using this patch fixed the problem:

--- Array-Compare-1.18/Makefile.PL      2009-06-14 18:59:54.000000000 +0100
+++ Array-Compare-1.18/Makefile.PL      2009-06-15 10:55:38.000000000 +0100
@@ -9,6 +9,7 @@
                            'Carp' => 0
                          },
           'INSTALLDIRS' => 'site',
+          'PL_FILES'  => {},
           'EXE_FILES' => []
         )
 ;


Recent