Home of the Squeezebox™ & Transporter® network music players.
Results 1 to 4 of 4
  1. #1
    Simon Kelley
    Guest

    Slimserver/CPAN/* - crawling horror?

    As a preliminary to packaging slimserver in Debian, I've tried to take a
    systematic look at the contents of the CPAN directory, since it doesn't
    make sense to just include this stuff in Debian package. Most of it can
    be obtained just by depending on the correct packages from the Debian
    archive.

    What I found is a bit of a mess:

    * The majority of the CPAN code is out of date.
    * Some modules have local modifications, but there's no way to tell
    which, short if downloading-and-diffing them (which I did - a very
    boring process)
    * Some modules _might_ have local modifications, but there's no easy way
    at all to tell, since the versions in Slimserver are no longer
    available in CPAN.
    * Some modules don't have modifications, but have had their version
    numbers mangled by passing through CVS/SVN, because the version numbers
    are in CVS tags.
    * There's a few non-CPAN modules in there too.

    I understand that the Slimserver tarball has to be self-contained, with
    copies of all the required CPAN code, but there has to be a better way
    than this. A few suggestions for starters:

    1) Split off locally-modified modules so that they are easily discernable.

    2) For the unmodified modules, Update to the latest CPAN version as part
    of forking each new release. That gets any CPAN bugfixes in, and gives
    the whole development cycle to chase out any regressions. It's much
    better to be using up-to-date modules as that is what will be in most
    distros.

    3) Review the local changes - some look very trivial - and eliminate if
    possible.

    4) For the modules where I couldn't tell (marked ???) determine the
    modified/unmodified status.

    5) Check that all of this stuff is actually needed.


    Can anybody help with this, or provide better suggestions?

    I've attached the results of my investigations.


    Cheers,

    Simon.


    Name. slim-version CPAN-version mod-in-slim in-debian

    Audio/Wav 0.02 0.05 no 0.04-1 libaudio-wav-perl
    Audio/WMA 0.8 0.7 yes no
    (version 0.8 seems to be a slim invention, no sign of >0.7 anywhere)
    Audio/FLAC/Header 1.4 1.4 yes 1.4-1
    Audio::APE 0.01 none N/A N/A
    Audio::APEtags 0.01 0.02 ??? no
    Carp::Assert 0.18 0.18 no 0.18-2
    Class::Accessor 0.19 0.22 no 0.22-1
    Class::Accessor:Chained 0.01 0.01 no 0.01-1
    Class:ata::Inheritable 0.02 0.04 no 0.04-1
    Class:BI::
    Relationship
    RelationShip/*
    Column
    ColumnGrouper
    Iterator
    Query 0.96 3.0.11 ??? 0.96-1

    AbstractSearch 0.05 0.07 no 0.07-1

    ObjectCache
    Cacheable 0.01 0.03 no no

    Pager 0.05 0.07 no 0.07-1

    Plugin 0.03 0.03 no 0.03-2
    AbstractCount 0.03 0.06 no no
    CountSearch 1.02 1.02 no no
    RetrieveAll 1.01 1.02 no 1.02-1

    Class::ISA 0.32 0.33 ??? no
    Class::Trigger 0.08 0.10 no 0.10-1

    Class::Virtual
    Class::Virtually::Abtract 0.04 0.05 no 0.05-2

    Class:Whitehole 0.04 0.04 no 0.04-2

    Compress::Zlib 1.33 1.41 yes 1.41-1

    Data::Page 1.01 2.00 ??? 2.00-1

    Date:Parse 2.27 2.27 no libtimedate-perl (1.1600-5)

    DBD:SQLite 1.08 1.09 no libdbd-sqlite3-perl (1.09-1)

    DBI::Const
    DBI:BD::*
    DBI::FAQ
    DBI:ProfileData
    DBI:ProfileDumper
    DBI:Proxyserver
    DBI:SQl:*
    DBI:PurePerl
    DBI:W32ODBC
    DBD:File/* 0.31 0.34 ??? libdbi-perl (1.48-2)

    DBI::Format 1.1 1.1 ??? no

    DBI::Shell 11.91 11.92 no no

    DBIx::ContextualFetch 1.01 1.03 ??? 1.03-1

    enum:: 1.16 1.16 no no

    File::BOM 0.08 0.11 yes no

    File::Listing - in libwww-perl
    1.15 1.15 no libwww-perl (5.803-4)

    File::Spec 0.82 0.90 no no
    File::Temp 0.13 0.16 no no
    File::Which 0.05 0.05 no 0.05-5

    GD 2.25 2.30 ??? libgd-gd2-perl (1:2.30-1)

    HTML::
    Entities
    Filter
    HeadParser
    LinkExtor
    Parser
    PullParser
    TokeParser - in HTML-Parser
    3.45 3.46 ??? 3.45-3

    HTML::Form - in libwww-perl

    HTTP::* - in libwww-perl

    Ima:BI 0.33 0.34 no 0.34-1

    IO::String.pm 1.02 1.07 no 1.05-1

    JSON::* 0.99 1.00 yes libjson-perl (1.00-1)

    LWP::* - in libwww-perl

    MIME::Base64 2.16 3.05 ??? no (only oldstable)
    MIME::quotedPrint 2.13 3.03 ??? both in MIME-BASE64-3.05

    MP3::Info 1.13 1.13 yes no
    MP4::Info 1.05 1.05 yes no

    net:NS 0.45 0.53 no libnet-dns-perl (0.53-2)

    net:HTTP in libwww-perl
    net::HTTPS in libwww-perl

    Ogg::Vorbis::Header:PurePerl 1.0 0.7 yes libogg-vorbis-header-pureperl-perl (0.07-2)

    RPC::XML 1.35 1.35 ??? in librpc-xml-perl (0.57-1)

    SQL::Abstract 1.20 1.20 no libsql-abstract-perl (1.20-1)
    SQL::Abtsract::limit 0.101 0.11 no libsql-abstract-limit-perl (1:0.101-1)


    Template::* 2.13 2.14 ??? libtemplate-perl (2.14-1)

    Test::* 0.54 0.62 no no (only-in-woody)

    Tie::Watch 1.1 1.2 ??? no
    Tie::RegExpHash 0.12 0.13 ??? libtie-regexphash-perl (0.13-1)
    Tie::Cache::LRU 0.21 0.21 no no
    Tie::Cache::LRU::Expires 0.53 0.54 yes no

    Time::HiRes 1.66 1.82 no in perl package.
    Time::localtime 1.02 1.02 ??? in perl package.
    Time:m 1.00 1.00 ??? in perl package.
    Time::Zone 2.22 2.22 no libtime-modules-perl (2003.1126-2)

    UNIVERSAL::moniker 0.07 0.08 ??? libuniversal-moniker-perl (0.08-2)

    URI::* 1.35 1.35 yes (small) liburi-perl (1.35-1)
    NB: adds icy.pm itunesplaylist.pm moodlogicplaylist.pm

    WWW::* in libwww-perl

    XML::Parser 2.34 2.34 yes (tiny -check Expat version) libxml-parser-perl (2.34-4)

    YAML:: 0.39 0.39 yes(tiny) libyaml-perl (0.38-2)





  2. #2
    Senior Member
    Join Date
    Jun 2005
    Posts
    381

    Slimserver/CPAN/* - crawling horror?

    Good work looking at all this. The CPAN stuff is pretty tricky. One
    way to figure out local modifications would be to look at the commit
    history at http://svn.slimdevices.com/trunk/server/CPAN/, but of course
    that won't always make it obvious. People who add CPAN modules or make
    changes to them should be very explicit when they do so.

    For the most part, I believe that whenever a change has been made to a
    CPAN module, it has been passed upstream. Not all have made it into
    CPAN though. I never got a response back from the maintainer of YAML.pm
    for instance. In other cases, the CPAN maintainer is identical to the
    person who made the Slim modification (Dan in the case of Audio::WMA,
    and co-maintainer for Audio::FLAC::Header).

    As for CPAN modules in Slim being out of date, that is mostly just
    indifference. Updating code that is working is fairly unexciting and
    introduces some risk. I agree that it should be done, I'm just not
    volunteering to do it.

    All in all, your suggestions look pretty reasonable.


    Comment specifically on the YAML.pm mod: yes, it is necessary, and I
    will try getting in touch with the maintainer again.

  3. #3
    Perl Commando Dan Sully's Avatar
    Join Date
    Apr 2005
    Location
    Daly City, CA
    Posts
    2,864

    Slimserver/CPAN/* - crawling horror?

    * Simon Kelley shaped the electrons to say...

    >As a preliminary to packaging slimserver in Debian, I've tried to take a
    >systematic look at the contents of the CPAN directory, since it doesn't
    >make sense to just include this stuff in Debian package. Most of it can
    >be obtained just by depending on the correct packages from the Debian
    >archive.


    That's correct.

    >What I found is a bit of a mess:
    >
    >* The majority of the CPAN code is out of date.


    Yes - I've tried to keep things up to date, but have fallen behind
    (especially on the binary modules) as testing is required.

    >* Some modules _might_ have local modifications, but there's no easy way
    > at all to tell, since the versions in Slimserver are no longer
    >available in CPAN.


    You should rely on the $VERSION as opposed to any $Id$ tags.

    >* There's a few non-CPAN modules in there too.


    Such as?

    >1) Split off locally-modified modules so that they are easily discernable.


    Good idea. I'll make that happen.

    >2) For the unmodified modules, Update to the latest CPAN version as part
    >of forking each new release. That gets any CPAN bugfixes in, and gives
    >the whole development cycle to chase out any regressions. It's much
    >better to be using up-to-date modules as that is what will be in most
    >distros.


    Good idea.

    >3) Review the local changes - some look very trivial - and eliminate if
    >possible.


    Which ones in particular?

    >4) For the modules where I couldn't tell (marked ???) determine the
    >modified/unmodified status.
    >
    >5) Check that all of this stuff is actually needed.


    Very true.

    I've also been trying to get changes back to the upstream authors.

    >Name. slim-version CPAN-version mod-in-slim in-debian
    >
    >Audio/Wav 0.02 0.05 no 0.04-1 libaudio-wav-perl


    This is a yes actually.

    >Audio/WMA 0.8 0.7 yes no
    > (version 0.8 seems to be a slim invention, no sign of >0.7 anywhere)
    >Audio/FLAC/Header 1.4 1.4 yes 1.4-1
    >Audio::APE 0.01 none N/A N/A
    >Audio::APEtags 0.01 0.02 ??? no


    I own these modules and haven't release new CPAN versions yet.

    For all the modules which you've marked 'no', I've update their versions, with the exceptions of the binary modules.

    >Class:BI::
    > Relationship
    > RelationShip/*
    > Column
    > ColumnGrouper
    > Iterator
    > Query 0.96 3.0.11 ??? 0.96-1


    Yes - heavily modified - but recently turned off the code that was modified,
    and looking at other packages, so it may be a moot point.

    >Class::ISA 0.32 0.33 ??? no


    Not modified.

    >Compress::Zlib 1.33 1.41 yes 1.41-1


    Not modified.

    >DBD:SQLite 1.08 1.09 no libdbd-sqlite3-perl (1.09-1)


    Modified, but the 1.09 version fixes the issue we modified it for.

    >DBI::Const
    >DBI:BD::*
    >DBI::FAQ
    >DBI:ProfileData
    >DBI:ProfileDumper
    >DBI:Proxyserver
    >DBI:SQl:*
    >DBI:PurePerl
    >DBI:W32ODBC
    >DBD:File/* 0.31 0.34 ??? libdbi-perl (1.48-2)
    >
    >DBIx::ContextualFetch 1.01 1.03 ??? 1.03-1
    >
    >GD 2.25 2.30 ??? libgd-gd2-perl (1:2.30-1)


    Not modified.

    >File::BOM 0.08 0.11 yes no


    The new version appears to have fixed the issue.

    >HTML::
    > Entities
    > Filter
    > HeadParser
    > LinkExtor
    > Parser
    > PullParser
    > TokeParser - in HTML-Parser
    > 3.45 3.46 ??? 3.45-3
    >
    >JSON::* 0.99 1.00 yes libjson-perl (1.00-1)
    >
    >MIME::Base64 2.16 3.05 ??? no (only oldstable)
    >MIME::quotedPrint 2.13 3.03 ??? both in MIME-BASE64-3.05


    Not modified.

    >MP3::Info 1.13 1.13 yes no
    >MP4::Info 1.05 1.05 yes no
    >Ogg::Vorbis::Header:PurePerl 1.0 0.7 yes libogg-vorbis-header-pureperl-perl (0.07-2)


    Yes - and trying to get changes back to the upstream authors.

    >RPC::XML 1.35 1.35 ??? in librpc-xml-perl (0.57-1)
    >
    >Template::* 2.13 2.14 ??? libtemplate-perl (2.14-1)
    >
    >Tie::Watch 1.1 1.2 ??? no
    >Tie::RegExpHash 0.12 0.13 ??? libtie-regexphash-perl (0.13-1)
    >
    >Time::localtime 1.02 1.02 ??? in perl package.
    >Time:m 1.00 1.00 ??? in perl package.
    >
    >UNIVERSAL::moniker 0.07 0.08 ??? libuniversal-moniker-perl (0.08-2)


    Not modified.

    I've removed unused modules where I could identify them to cleanup.

    -D
    --
    <dr.pox> does whistling in the dark make me go blind faster?

  4. #4
    Simon Kelley
    Guest

    Re: Slimserver/CPAN/* - crawling horror?

    Dan Sully wrote:

    >
    > You should rely on the $VERSION as opposed to any $Id$ tags.

    I did, but there are some instances of things like this:
    $VERSION = sprintf("%d.%02d", q$Revision: 1.1 $ =~ /(\d+)\.(\d+)/);

    Where the revision has been replaced by CVS in the SlimServer copy.
    (See, for example CPAN/HTML/TokeParser.pm)
    >
    >> * There's a few non-CPAN modules in there too.

    >
    >
    > Such as?


    URI:icy.pm|itunesplaylist.pm|moodlogicplaylist.pm)
    Audio::APE.pm
    >
    >> 1) Split off locally-modified modules so that they are easily
    >> discernable.

    >
    >
    > Good idea. I'll make that happen.


    Excellent! Thanks.
    >
    >> 2) For the unmodified modules, Update to the latest CPAN version as
    >> part of forking each new release. That gets any CPAN bugfixes in, and
    >> gives the whole development cycle to chase out any regressions. It's
    >> much better to be using up-to-date modules as that is what will be in
    >> most distros.

    >
    >
    > Good idea.
    >
    >> 3) Review the local changes - some look very trivial - and eliminate
    >> if possible.

    >
    >
    > Which ones in particular?

    The ones which I noticed were:

    --- Parser.pm 2003-08-18 21:49:27.000000000 +0100
    +++ /tmp/CPAN/XML/Parser.pm 2005-10-24 22:47:06.000000000 +0100
    @@ -14,7 +14,7 @@
    require XML::Parser::Expat;
    $VERSION = '2.34';
    die "Parser.pm and Expat.pm versions don't match"
    - unless $VERSION eq $XML::Parser::Expat::VERSION;
    + unless $XML::Parser::Expat::VERSION && $VERSION eq
    $XML::Parser::Expat::VERSION;
    }

    --- YAML.pm 2005-04-12 23:31:09.000000000 +0100
    +++ /tmp/CPAN/YAML.pm 2005-10-24 22:47:20.000000000 +0100
    @@ -589,7 +589,7 @@
    sub is_valid_plain {
    return 0 unless length $_[0];
    # refer: parse_inline_simple()
    - return 0 if $_[0] =~ /^[\s\{\[\~\`\'\"\!\@\#\%\&\*\^]/;
    + return 0 if $_[0] =~ /^[\s\{\[\~\`\'\"\!\@\#\%\&\*\^\|]/;
    return 0 if $_[0] =~ /[\{\[\]\},]/;
    return 0 if $_[0] =~ /[:\-\?]\s/;
    return 0 if $_[0] =~ /\s#/;

    I thing the YAML one has been covered elsewhere.
    >
    >> 4) For the modules where I couldn't tell (marked ???) determine the
    >> modified/unmodified status.
    >>
    >> 5) Check that all of this stuff is actually needed.

    >
    >
    > Very true.
    >
    > I've also been trying to get changes back to the upstream authors.


    That's good. I don't think it's realistic to always be able to release
    without some patched CPAN code, and I'm happy to support that in the
    Debian package. I'm lazily trying to do the minimum amount of work for
    each subsequent release when I have to determine the dependency list,
    and work out which modules have to stay in the Slimserver package.
    >
    >> Name. slim-version CPAN-version mod-in-slim in-debian
    >>
    >> Audio/Wav 0.02 0.05 no 0.04-1
    >> libaudio-wav-perl

    >
    >
    > This is a yes actually.

    So it is: my mistake.
    >
    >> Audio/WMA 0.8 0.7 yes no
    >> (version 0.8 seems to be a slim invention, no sign of >0.7 anywhere)
    >> Audio/FLAC/Header 1.4 1.4 yes 1.4-1
    >> Audio::APE 0.01 none N/A N/A
    >> Audio::APEtags 0.01 0.02 ??? no

    >
    >
    > I own these modules and haven't release new CPAN versions yet.

    I think that Audio::APE is one which isn't in CPAN at all, AFAICS. I
    assume it will be.
    Is Audio::APEtags 0.02 OK to use?
    >
    > For all the modules which you've marked 'no', I've update their
    > versions, with the exceptions of the binary modules.
    >


    Great! If the Slimserver nightlies are using the latest version, I'm
    much happier foisting the same in Debian users..............
    >> Class:BI::
    >> Relationship
    >> RelationShip/*
    >> Column ColumnGrouper
    >> Iterator
    >> Query 0.96 3.0.11 ??? 0.96-1

    >
    >
    > Yes - heavily modified - but recently turned off the code that was
    > modified,
    > and looking at other packages, so it may be a moot point.


    OK, still valid for 6.2, which is my immediate problem.
    >
    >> Class::ISA 0.32 0.33 ??? no

    >
    >
    > Not modified.
    >
    >> Compress::Zlib 1.33 1.41 yes 1.41-1

    >
    >
    > Not modified.
    >

    Need to be reconcilled:
    --- Zlib.pm 2004-01-15 22:42:29.000000000 +0000
    +++ /tmp/CPAN/Compress/Zlib.pm 2005-10-24 22:47:17.000000000 +0100
    @@ -13,14 +13,14 @@
    require 5.004 ;
    require Exporter;
    require DynaLoader;
    -use AutoLoader;
    +#use AutoLoader;
    use Carp ;
    use IO::Handle ;

    use strict ;
    -local ($^W) = 1; #use warnings ;
    -use vars qw($VERSION @ISA @EXPORT $AUTOLOAD);
    -use vars qw($deflateDefault $deflateParamsDefault $inflateDefault);
    +use warnings ;
    +our ($VERSION, @ISA, @EXPORT, $AUTOLOAD);
    +our ($deflateDefault, $deflateParamsDefault, $inflateDefault);

    $VERSION = "1.33" ;

    @@ -197,7 +197,7 @@
    sub deflateInit(@)
    {
    my ($got) = ParseParameters($deflateDefault, @_) ;
    - local ($^W) = 0; #no warnings;
    + no warnings;
    croak "deflateInit: Bufsize must be >= 1, you specified
    $got->{Bufsize}"
    unless $got->{Bufsize} >= 1;
    _deflateInit($got->{Level}, $got->{Method}, $got->{WindowBits},
    @@ -209,7 +209,7 @@
    sub inflateInit(@)
    {
    my ($got) = ParseParameters($inflateDefault, @_) ;
    - local ($^W) = 0; #no warnings;
    + no warnings;
    croak "inflateInit: Bufsize must be >= 1, you specified
    $got->{Bufsize}"
    unless $got->{Bufsize} >= 1;
    _inflateInit($got->{WindowBits}, $got->{Bufsize}, $got->{Dictionary});
    @@ -222,7 +222,7 @@
    my ($got) = ParseParameters($deflateParamsDefault, @_) ;
    croak "deflateParams needs Level and/or Strategy"
    unless defined $got->{Level} || defined $got->{Strategy};
    - local ($^W) = 0; #no warnings;
    + no warnings;
    croak "deflateParams: Bufsize must be >= 1, you specified
    $got->{Bufsize}"
    unless !defined $got->{Bufsize} || $got->{Bufsize} >= 1;


    >> DBD:SQLite 1.08 1.09 no
    >> libdbd-sqlite3-perl (1.09-1)

    >
    >
    > Modified, but the 1.09 version fixes the issue we modified it for.
    >

    OK.

    >> DBI::Const
    >> DBI:BD::* DBI::FAQ
    >> DBI:ProfileData
    >> DBI:ProfileDumper
    >> DBI:Proxyserver
    >> DBI:SQl:*
    >> DBI:PurePerl
    >> DBI:W32ODBC
    >> DBD:File/* 0.31 0.34 ??? libdbi-perl
    >> (1.48-2)
    >>
    >> DBIx::ContextualFetch 1.01 1.03 ??? 1.03-1
    >>
    >> GD 2.25 2.30 ???
    >> libgd-gd2-perl (1:2.30-1)

    >
    >
    > Not modified.
    >
    >> File::BOM 0.08 0.11 yes no

    >
    >
    > The new version appears to have fixed the issue.
    >
    >> HTML::
    >> Entities
    >> Filter
    >> HeadParser
    >> LinkExtor
    >> Parser
    >> PullParser
    >> TokeParser - in HTML-Parser
    >> 3.45 3.46 ??? 3.45-3
    >>
    >> JSON::* 0.99 1.00 yes
    >> libjson-perl (1.00-1)
    >> MIME::Base64 2.16 3.05 ??? no (only
    >> oldstable)
    >> MIME::quotedPrint 2.13 3.03 ??? both in
    >> MIME-BASE64-3.05

    >
    >
    > Not modified.


    To be clear: this doesn't include JSON, which is modded, including:
    # Modified by Jacob Potter for SlimServer - don't die on blessed references
    >
    >> MP3::Info 1.13 1.13 yes no
    >> MP4::Info 1.05 1.05 yes no
    >> Ogg::Vorbis::Header:PurePerl 1.0 0.7 yes
    >> libogg-vorbis-header-pureperl-perl (0.07-2)

    >
    >
    > Yes - and trying to get changes back to the upstream authors.
    >
    >> RPC::XML 1.35 1.35 ??? in
    >> librpc-xml-perl (0.57-1)
    >>
    >> Template::* 2.13 2.14 ???
    >> libtemplate-perl (2.14-1)
    >>
    >> Tie::Watch 1.1 1.2 ??? no
    >> Tie::RegExpHash 0.12 0.13 ???
    >> libtie-regexphash-perl (0.13-1)
    >> Time::localtime 1.02 1.02 ??? in perl
    >> package.
    >> Time:m 1.00 1.00 ??? in perl
    >> package.
    >>
    >> UNIVERSAL::moniker 0.07 0.08 ???
    >> libuniversal-moniker-perl (0.08-2)

    >
    >
    > Not modified.
    >
    > I've removed unused modules where I could identify them to cleanup.


    Thanks for your work. I've attached the latest status - I'm now
    converging rapidly in a dependency set. ( I guess the "version in slim"
    column is no longer relevant - I've left it in for completeness.)

    Cheers,

    Simon.

    Name. slim-version CPAN-version mod-in-slim in-debian

    Audio/Wav 0.02 0.05 yes 0.04-1 libaudio-wav-perl
    Audio/WMA 0.8 0.7 yes no
    (version 0.8 seems to be a slim invention, no sign of >0.7 anywhere)
    Audio/FLAC/Header 1.4 1.4 yes 1.4-1
    Audio::APE 0.01 none N/A N/A
    Audio::APEtags 0.01 0.02 ??? no
    Carp::Assert 0.18 0.18 no 0.18-2
    Class::Accessor 0.19 0.22 no 0.22-1
    Class::Accessor:Chained 0.01 0.01 no libclass-accessor-chained-perl(0.01-1)
    Class:ata::Inheritable 0.02 0.04 no libclass-data-inheritable-perl(0.04-1)
    Class:BI::
    Relationship
    RelationShip/*
    Column
    ColumnGrouper
    Iterator
    Query 0.96 3.0.11 yes libclass-dbi-perl (0.96-1)

    AbstractSearch 0.05 0.07 no libclass-dbi-abstractsearch-perl(0.07-1)

    ObjectCache
    Cacheable 0.01 0.03 no no

    Pager 0.05 0.07 no libclass-dbi-pager-perl(0.07-1)

    Plugin 0.03 0.03 no libclass-dbi-plugin-perl(0.03-2)
    AbstractCount 0.03 0.06 no no
    CountSearch 1.02 1.02 no no
    RetrieveAll 1.01 1.02 no libclass-dbi-plugin-retrieveall-perl(1.02-1)

    Class::ISA 0.32 0.33 no perl-modules(5.8.7-7)
    (perl-modules is always installed when perl is.)
    Class::Trigger 0.08 0.10 no libclass-trigger-perl(0.10-1)

    Class::Virtual
    Class::Virtually::Abtract 0.04 0.05 no libclass-virtual-perl(0.05-2)

    Class:Whitehole 0.04 0.04 no libclass-whitehole-perl(0.04-2)

    Compress::Zlib 1.33 1.41 yes libcompress-zlib-perl(1.41-1)

    Data::Page 1.01 2.00 ??? libdata-page-perl(2.00-1)

    Date:Parse 2.27 2.27 no libtimedate-perl (1.1600-5)

    DBD:SQLite 1.08 1.09 no libdbd-sqlite3-perl (1.09-1)

    DBI::Const
    DBI:BD::*
    DBI::FAQ
    DBI:ProfileData
    DBI:ProfileDumper
    DBI:Proxyserver
    DBI:SQl:*
    DBI:PurePerl
    DBI:W32ODBC
    DBD:File/* 0.31 0.34 no libdbi-perl (1.48-2)

    DBI::Format 1.1 1.1 no no

    DBI::Shell 11.91 11.92 no no

    DBIx::ContextualFetch 1.01 1.03 no libdbix-contextualfetch-perl(1.03-1)

    enum:: 1.16 1.16 no no

    File::BOM 0.08 0.11 yes no
    (0.11 fixes modification issue)

    File::Listing - in libwww-perl
    1.15 1.15 no libwww-perl (5.803-4)

    File::Spec 0.82 0.90 no no
    File::Temp 0.13 0.16 no no
    File::Which 0.05 0.05 no libfile-which-perl(0.05-5)

    GD 2.25 2.30 no libgd-gd2-perl (1:2.30-1)

    HTML::
    Entities
    Filter
    HeadParser
    LinkExtor
    Parser
    PullParser
    TokeParser - in HTML-Parser
    3.45 3.46 no libhtml-parser-perl(3.45-3)

    HTML::Form - in libwww-perl

    HTTP::* - in libwww-perl

    Ima:BI 0.33 0.34 no libima-dbi-perl(0.34-1)

    IO::String.pm 1.02 1.07 no libio-string-perl(1.05-1)

    JSON::* 0.99 1.00 yes libjson-perl (1.00-1)

    LWP::* - in libwww-perl

    MIME::Base64 2.16 3.05 no in perl
    MIME::quotedPrint 2.13 3.03 no in perl

    MP3::Info 1.13 1.13 yes libmp3-info-perl (1.13-1)
    MP4::Info 1.05 1.05 yes no

    net:NS 0.45 0.53 no libnet-dns-perl (0.53-2)

    net:HTTP in libwww-perl
    net::HTTPS in libwww-perl

    Ogg::Vorbis::Header:PurePerl 1.0 0.7 yes libogg-vorbis-header-pureperl-perl (0.07-2)

    RPC::XML 1.35 1.35 no in librpc-xml-perl (0.57-1)

    SQL::Abstract 1.20 1.20 no libsql-abstract-perl (1.20-1)
    SQL::Abtsract::limit 0.101 0.11 no libsql-abstract-limit-perl (1:0.101-1)


    Template::* 2.13 2.14 no libtemplate-perl (2.14-1)

    Test::* 0.54 0.62 no in perl-modules

    Tie::Watch 1.1 1.2 no no in perl-tk ????
    Tie::RegExpHash 0.12 0.13 no libtie-regexphash-perl (0.13-1)
    Tie::Cache::LRU 0.21 0.21 no no
    Tie::Cache::LRU::Expires 0.53 0.54 yes no

    Time::HiRes 1.66 1.82 no in perl package.
    Time::localtime 1.02 1.02 no in perl package.
    Time:m 1.00 1.00 no in perl package.
    Time::Zone 2.22 2.22 no libtime-modules-perl (2003.1126-2)

    UNIVERSAL::moniker 0.07 0.08 no libuniversal-moniker-perl (0.08-2)

    URI::* 1.35 1.35 yes (small) liburi-perl (1.35-1)
    NB: adds icy.pm itunesplaylist.pm moodlogicplaylist.pm

    WWW::* in libwww-perl

    XML::Parser 2.34 2.34 yes (tiny -check Expat version) libxml-parser-perl (2.34-4)

    YAML:: 0.39 0.39 yes(tiny) libyaml-perl (0.38-2)




Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •