the final stone is now built for
magpie: it's possible to list on your
mageia system the perl modules that have up to date versions upstream. it allows to see at a glance which perl packages need to be updated. it's based on
cpanplus, and only tackles perl modules installed on your system.
the new command is:
$ magpie old
** core packages: 11
Devel::DProf 20080331.00 20110228.00
Devel::SelfStubber 1.03 1.05
[...]
if 0.05 0.0601
** normal packages: 57
DateTime::TimeZone 1.28 1.29 perl-DateTime-TimeZone 1.280.0
Digest::SHA 5.50 5.60 perl-Digest-SHA 5.500.0
[...]
parent 0.224 0.225 perl-parent 0.224.0
** orphan packages: 7
KENTNL 0.010173Dist::Zilla…
[...]
inc::latest 0.3624 0.38
** strange packages: 3
App::cpanminus 1.2001 1.4002 cpanminus(1.200.100),perl-App-cpanminus(1.200.100)
HTTP::Response 6.00 6.01 perl-libwww-perl(5.837.0),perl-Test-Mock-LWP(0.50.0),perl-HTTP-Message(6.0.0)
Perl::MinimumVersion 1.27 1.28 perl-Perl-MinimumVersion(1.270.0),perl-Perl-Critic-Pulp(47.0.0)
** ignored modules: 12
Boulder::Unigene(28051999.00), File::MimeInfo::Rox(0.20), Getopt::Lucid(0.19), HTML::Table(2.08), Imager::Font::Type1(1.011), Inline::Python(0.38), Lingua::Features(0.30), Parse::RecDescent::FAQ::Original(6.00), Switch(2.16), Tie::Watch(1.301), WebFetch(0.13), XML::Grove(0.46)
the columns are: module, old version, new version, mageia package name, mageia package version.
as you can see, the modules are sorted in various categories:
- core - modules shipped with perl (or perl-base)
- dual-lifed (not shown above) - modules that are both shipped with perl (or perl-base) and as a stand-alone package
- normal - regular modules with their own package
- orphan - modules that do not belong to a mageia package (either inherited from mandriva, or not yet pushed on buildsystem).
- strange - modules that belong to more than one magiea package
- ignore - those are modules that either cannot be built (with an upstream bug) or that confuse cpanplus when comparing versions
with this information, it's therefore very straightforward to
update the packages, launching the following command as needed:
$ eval $( magpie co -s $pkg ) && magpie update
of course, since all the building blocks are now available, that's what the last command to be implemented (magpie dwim) will do!