Perl 5.14 packaging underway

Niko Tyni ntyni at debian.org
Mon Apr 25 14:27:05 UTC 2011


Hi,

for once, I found some hack time this weekend so I put together
preliminary Perl 5.14.0-RC1 packaging. See

    git://git.debian.org/perl/perl-5.14.git

I've tested this only as far as installing it and building
liblocale-gettext-perl. 

Dominic: just in case you have some spare time+cycles for another mass
rebuild, I'm sure upstream would very much appreciate any breakage
reports before the actual 5.14.0 release.

Merging the Debian changes was mostly straightforward, the only exception
was debian/cpan_config_path. Some notes follow:

It looks like upstream CPAN no longer tries to write a CPAN::Config file
if it doesn't exist already, but falls back to CPAN::MyConfig under
$HOME. This needs further inspection, but if the analysis correct,
debian/cpan_config_path.diff can probably be dropped.

I suspect fixes/processPL is long obsolete, but I haven't been
able to get quite to the bottom of it.

fixes/hurd-ccflags should be forwarded upstream.

debian/extutils_hacks needs a review.

debian/devel-ppport-ia64-optim and debian/arm_optim may well be obsolete.

A few tests in t/porting needed to be patched if we want to be able to
build the beast in a different Git repository from upstream's. See the
debian/skip-upstream-git-tests branch.

feature.pm needed to be moved to perl-base, it's needed by File::Glob.

autodie.pm versioning is a bit strange: the bundled version (2.1001)
has diverted from CPAN (2.10). I used 2.10.01 for the versioned Breaks
so we don't force the separate package to pick up four digit versions
just for this.

Devel::DProf is getting removed in 5.16 (along with Shell), so it needs to
be packaged separately. No Recommends+Breaks yet.

Last but not least, I finally wrote a tool to

# 1) check the versioned Breaks against Module::CoreList information
#
# 2) check that all Breaks entries have appropriate Replaces and Provides
#    entries
#
# 3) check that there are no packages in the Debian archive (as seen via
#    the local apt package cache) that should have Breaks/Replaces/Provides
#    entries

It's not very pretty but it's a lot better than nothing. I've put
it in the perl source package as debian/check-control and added it
to the (manual) 'new-build' debian/rules target (but ignored any errors.)

My intention is to keep all the tests passing for all the development
branches, but bit rot might change things in the future. There are a
few places for hardcoding foreseeable exceptions like separate Debian
packages gaining more digits in their version numbers.

I have updated the 5.14 debian/control file based on the results. There
are also a few discrepancies on the 5.10 and 5.12 side:

sid/5.10.1-20:

#   Failed test 'Breaks for libansicolor-perl in perl-modules matches Module::CoreList for Term::ANSIColor'
#   at ../check-breaks/check-breaks line 172.
#          got: '1.10'
#     expected: '2.00'

#   Failed test 'Breaks for libfile-path-perl in perl-modules matches Module::CoreList for File::Path'
#   at ../check-breaks/check-breaks line 172.
#          got: '2.08'
#     expected: '2.07.03'

#   Failed test 'no potential packages for new Provides/Replaces/Breaks found in the archive'
#   at ../check-breaks/check-breaks line 199.
#          got: 'libmath-complex-perl libextutils-command-perl libunicode-collate-perl libdigest-perl libextutils-install-perl'
#     expected: ''
# Looks like you failed 3 tests of 188.


experimental/5.12.3-4:
#   Failed test 'Breaks for libmodule-build-perl in perl-modules matches Module::CoreList for Module::Build'
#   at ../check-breaks/check-breaks line 172.
#          got: '0.360301'
#     expected: '0.360300'

#   Failed test 'Breaks for libextutils-parsexs-perl in perl-modules matches Module::CoreList for ExtUtils::ParseXS'
#   at ../check-breaks/check-breaks line 172.
#          got: '2.2100'
#     expected: '2.210000'

#   Failed test 'Breaks for libfile-path-perl in perl-modules matches Module::CoreList for File::Path'
#   at ../check-breaks/check-breaks line 172.
#          got: '2.09'
#     expected: '2.08.01'

#   Failed test 'Breaks for libtime-piece-perl in perl matches Module::CoreList for Time::Piece'
#   at ../check-breaks/check-breaks line 172.
#          got: '1.15'
#     expected: '1.15.01'

#   Failed test 'no potential packages for new Provides/Replaces/Breaks found in the archive'
#   at ../check-breaks/check-breaks line 199.
#          got: 'libmath-complex-perl libextutils-command-perl libdigest-perl libextutils-install-perl'
#     expected: ''
# Looks like you failed 5 tests of 191.

(I haven't actually done anything about these.)
-- 
Niko Tyni   ntyni at debian.org




More information about the Perl-maintainers mailing list