http://www.perlmonks.org?node_id=204997


In a recent journal entry, brian d foy, seasoned Perl hacker and publisher of The Perl Review, wrote about reducing the number of old distributions on CPAN to try to get it down to a level where it could fit on a cdrom.

The intention is not to delete modules: just old versions that are of no use except as an archive.

Even when these files are deleted from CPAN they will still be available on BackPAN so you can point users there if they need an older version.

You can see some interesting CPAN data at Perl at a glance. Brian refers to the effective size of CPAN as the Schwartz factor. Read his journal entry for more information. If you are a CPAN author you can clean up you directory here.

--
John.

  • Comment on CPAN authors, clean up your directories

Replies are listed 'Best First'.
Re: CPAN authors, clean up your directories
by blakem (Monsignor) on Oct 14, 2002 at 08:35 UTC
    From Perl at a glance
    The effective size [222 Mb] includes only the most current releases of everything in the Module List, and excludes perl distributions.
    If they can programatically calculate the "effective size" and there is a real market for CPAN on a CD (ugh, why?) couldn't they just make an "effective CPAN on CD" and be done with it?

    I don't see why anyone would even want a CPAN CD, since it would be obsolete almost as soon as its pressed. Unless you're using it to jumpstart a local mirror of CPAN, whats the point?

    -Blake

      Although portions of the CD would become obsolete when the CD was made, large parts of the CPAN don't change often.

      At YAPC::Europe 2001, we distributed such a CD, using a script by Johan and some manual cleaning to get CPAN to fit on one CD. We decided to do this because we had two sponsors who wanted to sponsor CDs, but our proceedings didn't require more than one. We figured the CPAN CD might be of some use to people with slow links.

      For this year's YAPC::Europe there was a discussion on the list about whether the CD was worthwhile, and several people indicated they were in fact using theirs. I think they went ahead and made the CD.

      The only person who I've spoken with who is using the CD is Nick Clark. He has a slow link, and so he uses the CD as an incomplete local mirror, only fetching a module from another mirror if the version on the CD isn't the most recent. (For anyone who might have a similar problem, there's an answer in the CPANPLUS FAQ on how to set this up with CPANPLUS.)

      I think this has more to do with the effort to break Perl in to manageable chunks. A CD probably isn't the best reason, but it would be nice to see deprecated modules somehow seperated from the rest (yet still available).

        He has a slow link, and so he uses the CD as an incomplete local mirror, only fetching a module from another mirror if the version on the CD isn't the most recent. (For anyone who might have a similar problem, there's an answer in the CPANPLUS FAQ on how to set this up with CPANPLUS.)
        And CPAN.pm does this by default as well. Put the http: URL first, and the file: URL later, and it'll automatically get the indicies from the first URL, but look at all file: URLs first for supplying the actual files, falling back to the first URL only if it cannot be gotten "locally". It's quite slick (and documented {grin}).

        -- Randal L. Schwartz, Perl hacker

      Well, portions of that CD would be obsolete the moment it's pressed. Some modules only have new releases every 6 months or worse, they don't get updated at all (checking cpan directory - argh).I am in favour of fitting it all on a CD but you do make a point on why that is not doable of using only the lateste (and perhaps the version before that - see GD). The CPAN CD I got at YAPC::Eu did come in handy... You never know when you're on a plain/train/boat/spacecraft and you just want a play with some module :)

      Anyway, cleaning out my CPAN dir is on my TODO list

      Greetz
      Beatnik
      ...Perl is like sex: if you're doing it wrong, there's no fun to it.
Re: CPAN authors, clean up your directories
by PodMaster (Abbot) on Oct 14, 2002 at 09:47 UTC
    I agree.

    BackPAN will be there forever ;)

    I went and deleted a few files and reclaimed about 20kb.

    I hope http://search.cpan.org/ will not get rid of the stuff that can only be found on BackPAN (like after you delete files).

    BTW ~ blakems crack about CD's being obsolete the second they're pressed doesn't hold true ~ how many people are still running perl50053? That's right, more than there should be, and #1 reason (i'm guessing here) is probably cause that's what they got on cd.

    update: Does cpan.org link to BackPAN?

    Apparently Pause knows. After I *scheduled* some files for deletion, I got some info about it, like the current link to BackPAN (temporary), and that it might eventually be accessible via http://history.perl.org.

    ____________________________________________________
    ** The Third rule of perl club is a statement of fact: pod is sexy.

Re: CPAN authors, clean up your directories
by demerphq (Chancellor) on Oct 14, 2002 at 11:21 UTC
    A slightly different problem is that a lot of CPAN stuff is old and unmaintained without being particularly useful, but occupying a namespace that means that newer better stuff has to be named stupid things.

    Id really like to see a way that an unmaintained modules namespace somehow gets "released" to another more diligent maintainer, perhaps after onyl committing to maintian the present interface for some amount of time.

    --- demerphq
    my friends call me, usually because I'm late....

      I suppose if there was Foo::Bar version 0.8 that's been gathering dust since 1994, and you really wanted that namespace Foo::Bar for yourself, you could simply release Foo::Bar 1.0 that happens to be totally different from the old 0.8.
        Thats possible?

        I had for some reason assumed that things that like were prohibited.

        Interesting idea, I guess i'd have to speak with the CPAN people to find out what the details of doing such a thing would be.

        --- demerphq
        my friends call me, usually because I'm late....

Re: CPAN authors, clean up your directories
by Abigail-II (Bishop) on Oct 14, 2002 at 12:00 UTC
    There is no reason for Perl authors to clean up their directory just because someone wants to make a CD with only the most recent releases. CPAN.pm has no problem fetching the most recent version, so if you want to have a CD with just the most recent versions - do like CPAN.pm. The code is there for everyone to see.

    Abigail

Re: CPAN authors, clean up your directories
by atcroft (Abbot) on Oct 14, 2002 at 11:29 UTC

    Please excuse my lack of knowledge of the ways of CPAN, for I have yet to have written anything I felt worthy of contributing, but I have a question as one from the user perspective.

    How would this affect those who, for whatever reason, must find modules for use with older versions of perl (such as 5.005.03, for instance)? I know recently on a system in production I had to install several modules where I had to go through two or more older implementations before I could find one that would install in such as case, although at the moment I do not recall which modules were involved.

    Not that I object to cleaning CPAN if the need is there, but wondering what the effects would be.

Re: CPAN authors, clean up your directories
by diotalevi (Canon) on Oct 14, 2002 at 13:27 UTC

    So where do regular, run-of-the-mill perl folks like myself find out about this BackPAN? Now that I've heard of it I can google for it but the results are limited. It's not clear from the Google results that BackPAN is even a thing to find. It's not mentioned in the CPAN FAQ or really anywhere I'd ever think to look. So what's the deal? Is this the occult perl user's archive or what?

    __SIG__ printf "You are here %08x\n", unpack "L!", unpack "P4", pack "L!", B:: +svref_2object(sub{})->OUTSIDE

      I think that BackPAN is very new and it hasn't been officially announced yet. I saw some mentions of it in Use Perl journals but not elsewhere. Here is some information that I received in an email when I deleted files:
      Note: To encourage deletions (and keep CPAN CDROMable), there is a project underway to maintain the complete PAUSE history on a site +of its own, most probably history.perl.org. A preliminary version is available at ftp://pause.perl.org/pub/backpan/authors/id/

      --
      John.

Re: CPAN authors, clean up your directories
by rcaputo (Chaplain) on Oct 14, 2002 at 17:00 UTC

    There's a good reason to delete old distributions if you happen to use RCS or CVS version numbers for your sub-modules.

    In a nutshell: RCS (and thus CVS) version numbers sometimes go backwards from CPAN.pm's point of view. For example, RCS version 1.10 comes after 1.9. CPAN.pm tests versions numerically, so 1.10 comes before 1.9.

    At last check, CPAN.pm doesn't resolve the deadlock between two versions of a distribution with "newer" sub-modules than the other. Rather, it considers each version of the distribution to be newer than the other. Hijinks ensue, as the link above shows.

    -- Rocco Caputo

      Yes, that's called "version retrograde". I detect one of those about every two weeks on the CPAN. I wanna write an autodetector some day, but haven't gotten enough brainpower for it.

      The proper answer isn't "delete old versions", though. The proper answer is to do what it has said in the perlmod manpage for a long time:

      $VERSION = do { my @r = (q$Revision: 2.21 $ =~ /\d+/g); sprintf "%d.". +"%02d" x $#r, @r }; # must be all one line, for MakeMaker

      -- Randal L. Schwartz, Perl hacker

      Frankly, I consider this a bug in CPAN. The spirit of Perl is to have lots of DWIM and to do the "natural" thing. Considering 10 to be less than 9 isn't natural, nor very DWIM. Version numbers aren't reals. I think that they are working on it in 5.9. (And it's better fixed before 5.10 comes out, otherwise that will be consider older than 5.6 or 5.8).

      Abigail

        Not only that, but Perl itself want's the 3-digit convention. That is, write "5.010" for version 5 subversion 10. That's used in the built-in version comparisons when translating between floating-point numbers and the newer "v-string" format.
Re: CPAN authors, clean up your directories
by Juerd (Abbot) on Oct 16, 2002 at 19:23 UTC

    The intention is not to delete modules: just old versions that are of no use except as an archive.

    Comprehensive Perl Archive Network

    - Yes, I reinvent wheels.
    - Spam: Visit eurotraQ.