All of these recipes assume that you have put "use CPAN" at the top of your program.

What distribution contains a particular module?

    my $distribution = CPAN::Shell->expand(
        "Module", "Data::UUID"

This returns a string of the form "AUTHORID/TARBALL". If you want the full path and filename to this distribution on a CPAN mirror, then it is .../authors/id/A/AU/AUTHORID/TARBALL.

What modules does a particular distribution contain?

    my @modules = CPAN::Shell->expand(
        "Distribution", "JHI/Graph-0.83.tar.gz"

You may also refer to a distribution in the form A/AU/AUTHORID/TARBALL.


the main documentation


blah blah blah

%s defines neither package nor VERSION--version check failed

(F) You said something like "use Module 42" but in the Module file there are neither package declarations nor a $VERSION.

        So I spot this line in CPAN::Reporter:

    $tr->via( 'CPAN::Reporter ' . CPAN::Reporter->VERSION );

        and I change it to

    $tr->via( 'CPAN::Reporter ' . $CPAN::Reporter::VERSION );

        and the bug is worked around.

2006-09-20 Andreas J. Koenig <>

        * #  FAIL  DBIx-Timeout  1.01 350359 5.8.8 on Netbsd 3.0 (i386-netbsd-thread-multi-64int)
# PASS Net-SDP 0.07 350354 5.8.8 on Netbsd 3.0 (i386-netbsd-thread-multi-64int)
# PASS GIS-Distance 0.01000 350352 5.8.8 on Netbsd 3.0 (i386-netbsd-thread-multi-64int)
# PASS Class-Measure 0.02 350351 5.8.8 on Netbsd 3.0 (i386-netbsd-thread-multi-64int)
# PASS WWW-Pagination 0.35 350350 5.8.8 on Netbsd 3.0 (i386-netbsd-thread-multi-64int)
# PASS Socket-Multicast6 0.01 350348 5.8.8 on Netbsd 3.0 (i386-netbsd-thread-multi-64int)
# PASS IO-Socket-INET6 2.51 350347 5.8.8 on Netbsd 3.0 (i386-netbsd-thread-multi-64int)

        Repeating experiments with CPAN::Reporter and Net::SMTP and AUTOMATED_TESTING

        I just started with a fresh blead@28875 and the command

            install CPAN::Reporter Bundle::CPAN Module::Signature Devel::Symdump

        and all reports that CPAN::Reporter offered were accepted by me. So
        tomorrow morning I expect reports on above the FAIL for
        DBIx-Timeout. Then I can install Mail::Send again and send a few reports
        and then I can set AUTOMATIC_TESTING and on the next perl I can do that
        in opposite order.

        7 hours later nothing shows up on

        I'd better go subscribe to cpan-testers. Now I am subscribed and I
        re-tested with blead@28876 and while Mail::Send does send out messages
        since I added the MASQUERADE_AS line, they do not come back to me. I
        need to change the email_to to me on the next try.... And yes, the mail
        arrives. Apparently it is not accepted at testers, only Net::SMTP gets
        through. Maybe some MX thingie going on.

2006-09-19 Andreas J. Koenig <>

        * repeating the exercise of testing CPAN::Reporter

        blead@28868: install CPAN::Reporter and its dependencies (no MailTools
        but Net::SMTP ist there). Testing TAPx::Parser fails miserably, the
        report seems to be sent. Testing CGI::Session succeeds with lots of
        SKIPs. The report seems to have been sent. Testing Module::Signature
        succeeds with just a single test, report seems to have been sent.
        Installing CPANPLUS::Dist::Build installs among many other dependencies
        CPANPLUS itself, the latter succeeds and I let CPAN::Reporter send a
        mail which seems to work.

        Now I install Mail::Mailer and succeed. The Mail is still sent by
        Net::SMTP and apparently succeeds.

        Now let's try IO::Tty. Tests succeed but it's a based distro, so
        CPAN::Reporter cannot send mail. To get to a quick end, I now test
        CPAN::Reporter itself. It pretends to send mail, from the debug output I
        recognize Mail::Mailer. And now I have two mails in the mqueue with
        "Could not resolve k75.linux.bogus". QED.

        MASQUERADE_AS(`')dnl in the seems to have
        done the trick.

        * find out why CPAN::Reporter cannot send mail on my home machine

        Somebody seems to try to send mail and using the local address
        (k75.linux.bogus) in a HELO or something. I'm testing with

        Installed modules? Mail::Send from MailTools? Net::SMTP from libnet?

        MailTools no, N:S yes.

        Ah, Test::Reporter says "If you have MailTools installed". Hmmm. This
        test succeeded today with blead@28866. Will have to wait again to see a

        So now I have MailTools installed and now I see again the message

% mailq MSP Queue status... /var/spool/mqueue-client is empty Total requests: 0 MTA Queue status... /var/spool/mqueue (1 request) -----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient----------- k8J6VCVD013108 3070 Tue Sep 19 08:31 <k@k75.linux.bogus> (Deferred: 450 Could not resolve k75.linux.bogus) <> Total requests: 1

        This is the debugging output of {CPAN,Test}::Reporter:

Sending test report with 'pass' to Test::Reporter: debug Test::Reporter: send Test::Reporter: debug Test::Reporter: from Test::Reporter: debug Test::Reporter::Mail::Util: _mailaddress Test::Reporter: debug Test::Reporter: report Test::Reporter: debug Test::Reporter: subject Test::Reporter: debug Test::Reporter: _verify Test::Reporter: errstr Test::Reporter: debug Test::Reporter: _have_mail_send Test::Reporter: debug Test::Reporter: _mail_send Test::Reporter: via Test::Reporter: address Test::Reporter: debug Test::Reporter: from Test::Reporter: debug Test::Reporter::Mail::Util: _mailaddress Test::Reporter: debug Test::Reporter: subject Test::Reporter: debug Test::Reporter: mail_send_args Test::Reporter: debug Test::Reporter: _have_mail_send Test::Reporter: debug Test::Reporter: report

        Need to repeat the process and then report as a bug.

2006-09-18 Andreas J. Koenig <>

2006-09-17 Andreas J. Koenig <>

        * Test the urllist dialog. Requires a fake file. DONE in rev. 851

        * Todo: test many cases:

        if we have a urllist, if have none: can we always hit RETURN and reach
        the end, especially if we already have a previous pick? Once upon a time
        the user may have been able to reach the previous pick from the
        continent question. The hint is the $no_previous_warn variable.

        if we say 'o conf init'...yes/no (yes is what the shell test does, so
        there's no need here to investigate this branch)

        What's about the SPACE RETURN thing, is it broken and since when? It
        seems it works again, maybe since rev. ???

        * (E3) and
        by Andrew Strebkov makes the URL selection nicer.

        It allows hyphenated ranges like 10-14. It also fixed the SPACE RETURN
        bug that seems to be fixed now anyway. DONE in rev 848

        * MAYBE change syntax for 'o conf init MATCH' to require two slashes for
        the regex version just for ortogonality. REJECTED because this argument
        does not have the same magic as other arguments that may be several
        different types of strings.

        * The $demobug thing is underdocumented! Go after the bug hidden there.
        * Todo: write a test that checks if the keys in HandleConfig are all
        documented in the POD. DONE in rev. 831

2006-09-12 Andreas J. Koenig <>

        * rev 807 broken (and _62 was most likely broken too): prompt namespaces
        now too much voodoo. FirstTime::_real_prompt is not defined everywhere.
        Goto the drawing board

        CPAN::Shell::colorable_makemaker_prompt used in package CPAN and
        CPAN::Distribution uses ExtUtils::MakeMaker::prompt

        CPAN::FirstTime::_real_prompt is local in CPAN::FirstTime::init for
        colorizable and later for a closure and yet later again directly for
        colorizable again

        CPAN::FirstTime::prompt is used within CPAN::FirstTime::init many times

        my_dflt_prompt uses prompt

        my_yn_prompt uses prompt

        my_prompt_loop uses prompt

        conf_sites uses prompt

        picklist uses prompt

        bring_your_own uses prompt

        prompt uses _realprompt

        Q.E.D. _real_prompt  may be undefined. Stupid. FIXED in rev. 825

        825 also fixes 5.8.0 which always matched each prompt twice. All I had
        to do was to change the tests so that no non-prompt-match ever matches a
        prompt accidentally

2006-09-11 Andreas J. Koenig <>

        * Todo: again go testing with several perl versions.

        Especially the urllist dialog needs test cases. But older perls as well
        need attention.

2006-09-09 Andreas J. Koenig <>

        * Tempted to give up on Term::ANSIColor. If I turn on colorize_output in, then we do not pass tests. Somehow loading of
        Term::ANSIColor changes too much.

        utf8 handling wrong with ANSIColor; err, no, only an emacs issue.

        several '# Can't exec "./Build": No such file or directory at /home/k/sources/CPAN/SVN/blib/lib/ line 5477.'

        Yes, this is reproducable. The Makefile target
        testshell-with-protocol-twice runs the testsuite once with
        colorize_output off and once with on and we see that colorize breaks the
        tests. Todo: make the difference between colorize and not colorize as
        small as possible, then we know which lines we can blame.

        Yes, now I have it reproducable and the blame is clearly not on
        Term::ANSIColor but on some perl leakage. To demonstrate the bug, set
        the $demobug variable in to a true value. Then run make
        testshell-with-protocol-twice. I seen the second run with
        colorize_output==TRUE fail. Maybe it's the use of the regex, I don;t
        know yet. Need to narrow down.

        But the important step is that I now have a workaround and can support
        colorization with just a small compromize. AND I can turn the bug on and
        investigate in many different contexts. FIXED all that in 809

        The $demobug thing is underdocumented!

2006-09-08 Andreas J. Koenig <>

        * Todo: run everything with PRINT_ORNAMENTING turned on to see what is
        myprint and what is mywarn. Are both going to STDERR? We should document
        when to use myprint and mywarn. And we should not let anybody use print
        directly. DONE

2006-09-07 Andreas J. Koenig <>

        * Bugs in FirstTime: print and warn not unified; needs to be
        investigated: two calls to warn replaced with print in rev. 803:
        somebody ate the warnings, they were not displayed for unknown reasons.
        Update: no, the warnings were not dropped but the global value of
        $CPAN::Config->{urllist} was emptied when I interrupted the selection
        process. Fixed in 804-807 or so.

2006-09-04 Andreas J. Koenig <>

        * hr ================ no todos below this line ================ /hr

        * Todo: use 'o conf init MATCH' when only a few mandatory variables are
        missing so that people need not go through the whole cycle DONE in rev

        * Bug: Your proxy_user? [] Or not?

        784,5,6 something terrible broken... FIXED in rev 788

2006-09-02 Andreas J. Koenig <>

        * Todo: "o conf init novar" shall tell that it is not a config variable
        but 'o conf init var' shall only go to this variable's dialog, not
        everything that has this substring. DONE in rev 778

2006-09-01 Andreas J. Koenig <>

        * Todo: why has the question for the ftp_proxy no square brackets? FIXED
        somewhere between 775 and 782

        * Todo: the prompt for keep_source_where seems bogus and people cannot
        choose it anyway. With a bit of rewording one could call it
        build_dir_intro and then we would find out that we have no prompt for
        the keep_source_where config variable. FIXED in rev 784

        * Todo: completion for 'o conf init MATCH' DONE in rev 776

2006-08-31 Andreas J. Koenig <>

        * replace "no lib '.'" with rel2absing the INC if rel2abs is available
        (suggested by Slaven Rezic) DONE in rev 773

        * Todo: investigate why 'o conf init histsize' still asks two questions.
        Maybe we should write the test automatically with all available
        variables and see if one question is asked. STARTED for all but the
        _list and _hash stuff and for undocumented things like
        commandnumber_in_prompt and things we never ask like ftp_passive. It
        turned out that histsize really depends on histfile and they should be
        asked as a pair. But then I tried 'ftp' which hit several options,
        '^ftp$', '\bftp\b' which both did not match at all and I wondered if
        this needs to be addressed or not and how. Same for make. What about
        inactivity_timeout? why does it use prompt(), not my_default_prompt?
        index_expire? username? password? ALL FIXED between 775 and 784

        * Todo: document 'o conf init MATCH' and write a couple tests into
        30shell.t DONE

2006-08-23 Andreas J. Koenig <>

        * Todo: integrate branch
        DONE by David in rev. 758

2006-07-29 Andreas J. Koenig <>

        * As #20754 I requested bzip2 support from CPANPLUS. I should write the
        code for mldistwatch so that I just have to turn on the indexing of bz2
        files. DONE in rev 815 of the PAUSE repository.

        * Todo: add a command to list all scripts and use it to test-install all
        of them to get a good coverage for the new 'install <script>' support.
        DONE in revision 746

2006-07-23 Andreas J. Koenig <>

2006-07-22 Andreas J. Koenig <>

        * Jim Cromie suggests: tweak shell to allow cpan> o conf init @sections
        tweak FirstTime::init() interface to accept optional @sections

        put various interactive Qs into groups of conditionals: if ( !@sections
             or grep /$this_sect_name/, @sections)

        candidate sections: progs - external prog selection make - all make
        options DONE in re 784

        * hr ================ no todos below this line ================ /hr

        * How do I merge the branch 1.87-install-scripts into current code base?

        The problem is, I do not remember where the branch started. Is this a
        problem? I have the branches already checked out in ../SVN-branches/.

        There I find the train hackathon result was in 689 and 686 was the copy
        that started the branch.

        So I guess the merge command would have to be

        svn merge -r 686:689

        YES, this did it and is now to be checked in as rev. 733

        'install ANDK/keepcool-0.344' works now like a charm, the stored script
        name is even 'keepcool' and not 'keepcool-0.344'.

2006-07-19 Andreas J. Koenig <>

        * From: Adam Kennedy <>
          Subject: Re:, META.yml, PREREQ_PM and dynamic dependencies
          To: "Andreas J. Koenig" <>
          Date: Tue, 11 Jul 2006 16:58:34 +1000
          dynamic_config was a major major design mistake, that they got
          entirely backwards. It relies on authors to not forget to set the
          dynamic flag, or it results in a failed install.
          But of course, nobody ever does remember to set it, and we have a huge
          number of existing modules that don't do this properly.
          There is no problem at all in us having the requires values considered
          to be "advisory" only, and then "localize" the dependencies.
          In short, the flag should have actually been the other way around
          (i.e. static_config) and so dynamic_config should ALWAYS be 1, unless
          you have it EXPLICITLY set to 0.
          We may or may not be able to get the spec revised later on, but in the
          mean time, dynamic_config should aways be 1 unless you have an
          explicit 0, not just when there is no requires field.
          This makes installation potentially a bit slower, and less able to
          shortcut, but it makes sure that installation remains correct.

        I just tried to make this a Todo item but then checked the code and
        found it bahaves already as Adam suggests. ---> DONE

2006-06-15 Andreas J. Koenig <>

        * make signature-checking a feature that can be turned on or off and
        which defaults to off. (requested by Adam Kennedy) DONE in rev. 726 or

2006-04-26 Andreas J. Koenig <>

        * apply patch by

From: "Enzer, Matisse BGI SF" <> Subject: CPAN 1.87 - proposed patch to add Basic Auth for non-proxy URLs To: "Andreas Koenig" <> Cc: "Thalhammer, Jeffrey BGI SF" <> Date: Tue, 25 Apr 2006 22:17:35 -0700

        which is stored at patches/enzer-matisse-CPAN-1.87.patch DONE in rev 729

2006-04-19 Andreas J. Koenig <>

        * Recap branches:

% svn ls 1.80_56plus/ 1.87-dbmdeep-hackery/ 1.87-install-scripts/

        Merge in 1.87-install-scripts without much further ado. DONE in rev. 733

        Try to recall how broken 1.87-dbmdeep-hackery was. It was very broken
        but I do not remember details.

        * dynamic_config => 1 means that I must throw away the contents of the
        META.yml and if the key is missing, I must default it to 1. DONE in rev

2006-04-02 Andreas J. Koenig <>

2006-03-12 Andreas J. Koenig <>

        * test the change that I made on Vassilii's suggestion in #18011,
        checked in as rev. 712.

2006-03-06 Andreas J. Koenig <>

        * feature request by Martin Sluka: the upgrade command, as described
        further down; to catch the isa_perl issue, we must instantiate a
        Distrostatus object instead of the bare "return" in line 5077. And test
        thoroughly what happens the second time around and later when the user
        finally says "force"; DONE in rev. 727

2006-02-26 Andreas J. Koenig <>

        * dslip status shows only 4 fields instead of 5. For license infos from
        META.yml see DONE in rev.

2006-02-24 Andreas J. Koenig <>

        * Todo 30shell:

        Todo: rewrite the 30shell.t test for Open3 (or just a tempfile) by
        concatenating all regexes or split on the prompt. DONE

        Run the test 30shell on a freshly installed perl and see that only those
        tests fail that need prerequisites. Or better yet, no tests at all? DONE
        in rev. 663

        When we succeed with this, make a version that runs within the core of
        perl, maybe filter out just those tests that do not require additional
        resources. REJECT: provides no extra utility

        * To: Tyler MacDonald <>

         >> If I understand the problem right, it is that you wish to use a module in the
         >> current distribution (a subclass of Module::Build) to do the installing.
         >> If this is correct, you only need to put a 'use lib "lib";' in your Build.PL
         >> for it to be picked up properly.  (It does not need to be installed in the
         >> standard places before you use it.)
                >       Nope, that problem is handled already in
                > DBIx::Migration::Directories.
                >       I now have a Schema::RDBMS::AUS package, which needs the subclass
                > that DBIx::Migration::Directories supplies.
                > DBIx::Migration::Directories::Build needs to be available at the time
                > Build.PL is run so that it can alter Module::Build's config and supply extra
                > actions.
        Add it to your "requires" hash, that way it will end up in META.yml and
        if people have YAML installed, they can read it.
        If people have YAML not installed they will call either the
        Makefile.PL or the Build.PL to hopefully find out what the
        prerequisites are. That way you get the prerequisites but as you have
        noticed, it is too late for your build process.
        I don't know how I will fix that. Suggestions welcome. I put it into my
        Todo file.
        * Feature request: when asking 'm /svn::notify/', then I would like to
        see in the list which of the modules are installed locally. Was that
        what Admin was doing?

  It would not work for distros, but for modules. Not for bundles either.

  3 states: not installed, not up-to-date, up-to-date  ... space,"<","="

  color codes: green=uptodate, yellow=not uptodate, black=not installed

        DONE in rev. 732

        * upgrade: new command that does nothing but
        CPAN::Shell->install(CPAN::Shell->r)? Do not forget that we still may
        have perl distros in the "r" list. DONE in rev. 727

        * DBM::Deep for a hash behind $CPAN::META. See 2005-12-28 for issues and
        branches/1.80_56plus for a few lines that probably went in the wrong
        direction. Split the loading of Authors/Modules/Distros/Bundles into
        separate pieces and make them lazy. Consider 'reload index', the
        storable Metadata file, readonly/readwrite, changes of the DSLIP thingy,
        offsets into an uncompressed 02xxx file. Remember RT #4943. Remove the
        code for "status" when finished

        * readline: offer the choice between Gnu and Perl

        * Bug: installing scripts without modules? How does it work? How
        should it work? getting the latest version ad-hoc?

        * hr ================ no todos below this line ================ /hr

2006-02-23 Andreas J. Koenig <>

        * Install without {My,}, the rules should be:

        if there is no CPAN/ already loaded, we must try to load a

        if there is no CPAN/, we must initialize one immediately. If we
        are root, this should be something like
        /usr/local/perl-5.8.0@27277/lib/5.8.8/CPAN/ as I just tested it
        with 5.8.8.

        So if root installs CPAN without testing it, they have no CPAN/
        They start it and land immediately in the init process. Good.

        If he runs 'make test' it should succeed all tests. Currently it fails
        12cpan and skips 30shell because of 'no Expect'. ==> TODO. DONE with
        rev. 659

        If they have no CPAN/ and start cpan as an ordinary user, then
        they should get, without asking, a ~/.cpan/CPAN/ and land in
        the init dialog. This is currently OK.

        * Todo: mention in the manpage. Oops, this was already DONE

2006-02-22 Andreas J. Koenig <>

        * rethink if the CPAN/ file now is being built at all. Shouldn't
        it be built as a system-wide default? Yes, it is being built. DONE

2006-02-20 Andreas J. Koenig <>

        * Bug: the new test 12cpan.t is not suited for 5.004_05:

t/12cpan............Unquoted string "qr" may clash with future reserved word at t/12cpan.t line 13. Unquoted string "command" may clash with future reserved word at t/12cpan.t line 13. syntax error at t/12cpan.t line 13, near "/," Unquoted string "qr" may clash with future reserved word at t/12cpan.t line 17. Unquoted string "foo" may clash with future reserved word at t/12cpan.t line 17. syntax error at t/12cpan.t line 17, near "+=>" Unquoted string "bar" may clash with future reserved word at t/12cpan.t line 17. Unquoted string "baz" may clash with future reserved word at t/12cpan.t line 17. Unquoted string "foo" may clash with future reserved word at t/12cpan.t line 17. Execution of t/12cpan.t aborted due to compilation errors. # Looks like your test died before it could output anything. dubious

        and not for 5.005_04:

t/12cpan..........Can't locate object method "catfile" via package "File::Spec" at t/12cpan.t line 3. # Looks like your test died before it could output anything. t/12cpan..........dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-3 Failed 3/3 tests, 0.00% okay


        * Bugalert: I saw the "awry" case without a reason.

cpan[10]> install Bundle::Spd Signature for /home/k/.cpan/sources/authors/id/G/GA/GAAS/CHECKSUMS ok Checksum for /home/k/.cpan/sources/authors/id/G/GA/GAAS/libwww-perl-5.805.tar.gz ok libwww-perl-5.805/ libwww-perl-5.805/lib/ libwww-perl-5.805/lib/HTTP/ libwww-perl-5.805/lib/HTTP/ [...] libwww-perl-5.805/Changes libwww-perl-5.805/AUTHORS libwww-perl-5.805/README libwww-perl-5.805/lwpcook.pod Removing previously used /home/k/.cpan/build/libwww-perl-5.805 Package came without SIGNATURE

Running install for module HTML::HeadParser Running make for G/GA/GAAS/HTML-Parser-3.50.tar.gz LWP not available Fetching with Net::FTP: ftp://localhost/pub/CPAN/authors/id/G/GA/GAAS/HTML-Parser-3.50.tar.gz Signature for /home/k/.cpan/sources/authors/id/G/GA/GAAS/CHECKSUMS ok

Warning: No checksum for HTML-Parser-3.50.tar.gz in /home/k/.cpan/sources/authors/id/G/GA/GAAS/CHECKSUMS.

The cause for this may be that the file is very new and the checksum has not yet been calculated, but it may also be that something is going awry right now. Proceed? [yes] Caught SIGINT Got another SIGINT

cpan[11]> ls GAAS

        After that, the problem was not reproducable. Remove and reinstall perl,
        install CPAN, install Bundle::CPAN, install Bundle::Spd works.

        So we have a hard to reproduce bug.

        Running 'install Bundle::Phalanx100' gives after 20 minutes

Warning: No checksum for Net-Daemon-0.39.tar.gz in /home/k/.cpan/sources/authors/id/J/JW/JWIED/CHECKSUMS.

The cause for this may be that the file is very new and the checksum has not yet been calculated, but it may also be that something is going awry right now. Proceed? [yes]

        This time I look immediately into the CHECKSUMS file (which is the cached
        one!) and indeed there is no Net-Daemon-0.39.tar.gz in it. On the CPAN
        we do have a newer checksums file. Is this cool?

        So we have the root of the cause. Now for a solution?

        I can answer 'no' and then reproduce the problem. Note that the old
        CHECKSUMS file is 3 months old and its timestamp is 1 month old.

        Fixed in 638 with the new argument $sloppy for CHECKSUM_check_file, but
        test still missing. ... Test added by adding CHECKSUMS@588 in rev. 643

        Later renamed to CHECKSUMS.2nd (around rev. 1033)

2006-02-19 Andreas J. Koenig <>

        * Bug: with 'o debug all' we did not reach 'Distribution seems to have
        never been unzipped/untarred, nothing done' but instead some "Unknown
        distribution" or so. Fixed in 625

        * Bug: in the last test run we did not detect that
        ANDK/CPAN-Test-Dummy-Perl5-Make-1.02.tar.gz was not in the CHECKSUMS
        file. We had the 

        #     CHECKSUM_STATUS NIL -- distro not in CHECKSUMS file

        in the "d" output but we did not pass he code that shouts. Fixed in 624

2006-02-18 Andreas J. Koenig <>

2006-02-17 Andreas J Koenig <>

        * Bug: on a system without make installed, CPAN happily tries

        Checking if your kit is complete...
        Looks good
        Writing Makefile for CPAN
                        -- NOT OK
        Running make test
                Can't test without successful make
        Running make install
                make had returned bad status, install seems impossible

        REJECT: this is a bugreport against an old

2006-02-17 Andreas J. Koenig <>

        * watch

        Does anybody answer my question 'How do you run nmake when it is in a
        path that contains spaces?'? LEAVE WINDOWS ASIDE

2006-02-16 Andreas J. Koenig <>

2006-02-15 Andreas J. Koenig <>

2006-02-14 Andreas J Koenig <>

        * Bug: inexistant distro leads to perl error; clean on uninstalled
        distro would be nice as a test case

        % perl -Ilib -MCPAN -e 'CPAN::Shell->$_("MARKSTOS/Test-XML-Valid-0.04345.tar.gz") for qw(clean d);'
Going to read /home/akoenig/.cpan/sources/authors/01mailrc.txt.gz
CPAN: Compress::Zlib loaded ok
Going to read /home/akoenig/.cpan/sources/modules/02packages.details.txt.gz
  Database was generated on Tue, 14 Feb 2006 02:18:00 GMT
CPAN: HTTP::Date loaded ok
Going to read /home/akoenig/.cpan/sources/modules/
CPAN: Storable loaded ok
Going to write /home/akoenig/.cpan/Metadata
Running make clean
Distribution has no own directory, nothing to do.
Can't use string ("") as a HASH ref while "strict refs" in use at lib/ line 3857.

        Fixed in rev. 604

2006-02-14 Andreas J. Koenig <>

        * Foreign bug: Module-Build-0.27_07 fails the test runthrough.t with

t/runthrough......ok 14/28 # Failed test 'Check version used to create META.yml: 0.2707 == 0.270700' # in t/runthrough.t at line 142. # got: '0.2707' # expected: '0.270700' t/runthrough......NOK 19# Looks like you failed 1 test of 28. t/runthrough......dubious Test returned status 1 (wstat 256, 0x100)

        Ditto for 27154, 27016; 26919 is OK. Hmmm, several perls in between are
        OK. So far these are debugging perls. No, 27088 is another one that is
        OK and it is nondebugging.

        If YAML is not installed, the test is skipped, so I must make sure that
        YAML is installed, but this is difficult because YAML was broken by perl
        until recently.

        OK, looked into the code instead and wrote bug report to the M:B mailing
        list. DONE.

2006-02-13 Andreas J. Koenig <>

        * Bug: Randal reports that Zoidberg has both a Makefile.PL and a
        Build.PL and he has prefer_installer EUMM and yet CPAN chose to run the
        Build.PL. rt #17612. RESOLVED as not a bug in

2006-02-11 Andreas J. Koenig <>

        * Bug?: Somehow I managed to get POE to fail the installation, maybe
        AutoInstall was involved. I then installed LWP and then tried POE again.
        It succeeded in all tests, but make install said, it had "Already tried
        without success". In such a moment this is simply the wrong thing, we
        would much rather that retried, especially as the test suite
        runs forever!

        So is this a bug? I cannot tell before I know why the first installation
        attempt failed. Cannot reproduce.

        * Foreign bug: POE with bleadperl@27154 fails a few tests with

        *** glibc detected *** double free or corruption (!prev): 0x085ed6e0 ***
        Test returned status 0 (wstat 6, 0x6)
DIED. FAILED tests 1-42

tests/30_loops/10_select/comp_tcp 0 6 42 42 100.00% 1-42 tests/30_loops/20_poll/comp_tcp_c 0 6 42 42 100.00% 1-42 tests/30_loops/30_event/comp_tcp_ 0 6 42 42 100.00% 1-42 44 tests and 16 subtests skipped.

        Does not fail with 5.8.8.       Blame? 27059! REPORTED

2006-02-10 Andreas J. Koenig <>

        * Foreign bug: t/37-translator-graph....Can't locate object method
        "is_trivial_link" via package "GLOB" at
        line 46.

        with bleadperl@17102 when trying to test SQL::Translator. Happends on
        blead, not on 5.8.8 but with 5.8.8 I have other (and much more) failures

        With #16852 I have already a ticket there for the signature.

        I regret that I did not include the full command needed to upload one's
        key. Here it is:

    gpg -a --keyserver hkp:// --send-keys YOURID

2006-02-08 Andreas J. Koenig <>

        * Bug: when Running "Makefile.PL" fails, then the case is not reachable
        for the failed routine. Need another Naysayer category?? Try
        Digest-SHA-5.34.tar.gz under perl-5.004_05 before Module::Signature is
        installed. FIXED in rev. 580

2006-02-05 Andreas J. Koenig <>

        * Bug: RDF::Simple installs although I see failing tests?

        ./Build test returns true even if tests fail. This was not always the
        case or was it? No, it wasn't.

        I go into the Class-MethodMaker-2.08 directory and try

        perl Build.PL
        ./Build test
        ./Build clean

        If Module::Build is missing, I install it manually. No involved.

        These perls behave (exit 255):

        These don't (shell returns true):


        Stepping in the debugger through bleadperl@27088 and 5.8.8:

        27088 has Test::Harness 2.56 while my 5.8.8 has 2.57_03. Apparently a
        Test::Harness bug. REPORTED as #17490

2006-02-02 Andreas J. Koenig <>

2006-01-31 Andreas J. Koenig <>

        * Visit the p5p thread C<replacing "inuse" Win files (was Re: Help with
        a build error)> for our own cpan.bat. Currently Windows users
        cannot 'reload cpan' when they started the shell from cpan.bat, only
        when they used 'perl -MCPAN -eshell' (David Golden)

        * Feature request: integrate more than one source into a common index.

        * dontload: make a dontload_list and deprecate dontload_hash. It seems
        OK to keep $META->{dontload_hash} but it would be nice if changes on
        $Config->{dontload_list} would always adjust the dontload_hash. DONE in
        rev. 581

        * document and provide a dialog for commandnumber_in_prompt or provide a
        sprintf based solution. Or just leave it as it is. Just like

        * Todo: Write a bunch of distros and upload them with the sole purpose
        of testing Also helps Test::Prereq and others.
        PITA::Test::Dummy::Perl5::Make and PITA::Test::Dummy::Perl5::Build? A
        start is done in t/shell.t STARTED around rev. 519

        * Bug: with bleadperl and CPAN 1.83_62 I first install Bundle::CPAN.
        Then I try to install Net::LDAP and answer all questions from
        Module::Install with the default. It then installs Convert::ASN1
        successfully and then says

*** Convert::ASN1 successfully installed. *** ExtUtils::AutoInstall installation finished. Writing Makefile for Net::LDAP make: getcwd: No such file or directory make[1]: Entering directory `' make[1]: *** No targets specified and no makefile found. Stop. make[1]: Leaving directory `' /usr/bin/make -- NOT OK

        If I now start a new CPAN session, I can install Net::LDAP without problems.

        If I uninstall Convert::ASN1 and start a new CPAN session I can get
        nearly the same result:

make[1]: Leaving directory `/home/k/.cpan/build/Convert-ASN1-0.19' sudo make install UNINST=1 -- OK *** Convert::ASN1 successfully installed. *** ExtUtils::AutoInstall installation finished. Writing Makefile for Net::LDAP CPAN: YAML loaded ok make[1]: Entering directory `/home/k/.cpan/build/perl-ldap-0.33' make[1]: *** No targets specified and no makefile found. Stop. make[1]: Leaving directory `/home/k/.cpan/build/perl-ldap-0.33' /usr/bin/make -- NOT OK

        On the other hand, running same thing on a 5.8.7 with 1.83 succeeds, but
        it asks me if I want to run sudo (and I say no and again no).

        Now I tried bleadperl@27016 with its 1.8359: 'install YAML' then
        'install Net::LDAP' and got the same error.

        Now I try perl-5.8.8-RC1 with its 1.83: it succeeds but asks me again if
        I want to run sudo.

        5.8.8-RC1 with 1.8362: succeeds and asks me if I want to run sudo.

        blead@26447 with 1.8362: error.

        What is it about, the ExtUtils::AutoInstall line? ExtUtils::AutoInstall
        is NOT part of the core. Net::LDAP comes with version 0.59, Audrey has
        reached 0.63.

        I think it goes like so:

        have no perm -> ask sudo -> user says no -> success
        have perm       implicit yes             -> failure

        This is consistent with all of above.... After some more investigation
        reported as bug to Audrey and Graham

2006-01-30 Andreas J. Koenig <>

        * Revisit 17313: Module::Build people have promised to write a
        ./Build.bat file instead of a ./Build file on Windows. Until this
        becomes true, hide mbuild_install_build_command from Windows users.

2006-01-29 Andreas J. Koenig <>

        * Foreign bug: broke perl again YAML? blead@26994 fails on test
        dump-perl-types.t of YAML-0.53. Wrote blame report about 26980--DONE

2006-01-27 Andreas J. Koenig <>

        * Foreign bug: Email::Field or which module was it that just produced
        more than 1000000 eval warnings? Cannot reproduce.

        * bug: if a META.yml specifies a prerequisite module that we do not
        know, the whole prereq_pm became undef. FIXED in rev. 480.

2006-01-26 Andreas J. Koenig <>

        * Bug: illegal entries in the Config hash are never removed and a hash
        cannot be emptied. The latter is FIXED with rev. 475, the former with
        rev. 476.

        * Bug (Tyler MacDonald): OK, I've figured out what went wrong: 0.27_06
        isn't on yet. However, *how* it went wrong is
        truly bizzare: LWP returned a "404 not found" error, yet somehow I still
        ended up with a .tar.gz and .tar file, and CPAN thinking it had actually
        downloaded something. This looks like a bug in, both in the 1.7
        version that's distributed with 5.8.7, and the latest release, 1.83.

        In my environment, this comes from curl. After fixing the curl switches,
        the problem persists. This time is lynx to blame, but for lynx there is
        no commandline switch that propagates a 404 to a false. So we now read
        the file that lynx sends us and heuristically decide if it is an error
        message. FIXED in revision 477.

2006-01-25 Andreas J. Koenig <>

        * Bug: META.yml may contain build_requires which for example File::BOM
        specifies. It doesn't matter that I believe that it is not a
        build_requires, it is really a requires because only tests fail, not the
        build process. But I must merge the two hashes. FIXED in rev. 471

        * Foreign bug: YAML with bleadperl fails a test which succeeds with
        maintperl. REPORTED

        * Bug: with 1.8358 from the core CPAN says after the start
        "lib/CPAN/ initialized" and goes into the init dialog. After ^C
        I find a lib/CPAN/ file.

        Ahhh, that's how 'o conf commit' had written my dontload_hash: producing
        a syntax error. FIXED in  rev. 466

2006-01-24 Andreas J. Koenig <>

        * 5 new bugs from in RT: 17237 17238 17241 17242 17266

        17237 may be fixed with rev. 464 but not yet tested.

        rev. 465 continued to work on 17237 and I consider it fixed now.

        rev. 467 fixes 17238

        rev. 465 also is an answer to 17241 because this was most likely not a bug

        rev. 469 fixes 17266

        17242 is the request to work with Win32::OLE which I could only reply to
        with 'patches welcome'

        * Bug: setting "o conf dontload_hash ''" breaks the shell: C<Can't use
        string ("") as a HASH ref while "strict refs" in use at lib/ line
        833.> FIXED in rev 464.

2006-01-21 Andreas J. Koenig <>

        * see if podlators 2.0.1 fixes the broken README and if so, switch back
        to ${PERL} in the Makefile.PL. FIXED in rev. 457

        * bug: while trying to install Bundle::CPAN, YAML was delayed "until
        after prerequisites" but later was not retried or maybe was retried but
        CPAN said, it was

Running make for I/IN/INGY/YAML-0.53.tar.gz Is already unwrapped into directory /home/k/.cpan/build/YAML-0.53 Delayed until after prerequisites Running make test Delayed until after prerequisites Running make install Delayed until after prerequisites

        So the installation of Bundle::CPAN was not really tried to finish.

        The dependency chain is as follows:

          YAML depends on Class::Spiffy and Test::Base
    Test::Base depends on Spiffy

        Bug is that ->{later} is not double checked when encountered. Fixed in
        rev. 454.

2006-01-18 Andreas J. Koenig <>

        * Foreign Bug: RDF::Simple has LWP::UserAgent as undeclared prereq???

        Running make against RDF::Simple pulls in a lot but it finally comes to
        an end. When I then run test, the whole load of modules starts testing
        and three fail their tests:

  ABW/AppConfig-1.56.tar.gz                    : make_test NO
  FLUFFY/Class-MethodMaker-2.08.tar.gz         : make_test NO
  ZOOLEIKA/RDF-Simple-0.22.tar.gz              : make_test NO

        paging back reveals: all the RDF::Simple tests fail due to missing
        LWP::UserAgent, RDF::Simple::Serialiser, and Class::MethodMaker. The
        latter two do not appear when I test against 5.8.8-tobe. REPORTED via

        AppConfig fails due to "Can't modify non-lvalue subroutine call at
        t/file.t line 112, <DATA> line 69." This is a 5.9.3 issue, we succeed
        with 5.8.8-tobe (@26917) REPORTED via p5p.

        Class-MethodMaker tests fail complaining that they cannot find
        Class::MethodMaker. This is also a 5.9.3 issue. Fully automated binary
        search is impossible unless I find a smaller test case. 26492 ok, 26493
        not ok. Ha! It is a Makefile.PL vs Build.PL issue! On RT #16241 I have
        added this observation.

2006-01-17 Andreas J. Koenig <>

        * rt #17089 suggests that we have to care for M:B being installed when
        we find a distro that has only a Build.PL and no Makefile.PL

        AFAIR only CPAN::Metadata::RDF is a module that comes with Build.PL and
        without Makefile.PL, so it is the only one to test the bugreport. This
        takes *quite* a while because of prerequisites (Class::MethodMaker,
        Template::Toolkit, DateTime::TimeZone, DBD::SQLLite, LWP, etc.). And of
        course after all the prerequisites, we HAVE Module::Build, so must
        remove it again. FIXED in rev. 433

        * Foreign Bug? I must investigate DateTime::TimeZone separately. It
        wanted to install Module::Build on its own and then failed giving as a
        reason that Module::Build was not installed???

        It turns out the prereq_pm is undef for some reason. But prereq_pm is
        only built during the 'make' step and then not resetted during a 'force
        get'. The 'prereq_pm_detected' bit is set and I must leave/enter the
        shell to debug this. OK. I see a Makefile.PL that simply fails because
        Module::Build is not installed. At least it says what it wants, but we
        must be better prepared for such an attack. OK, I'll file a bugreport
        against both DateTime::TimeZone and Module::Build -- somebody has to
        confess that it is a prereq and write it into the META.yml. That's what
        I would say. DONE

2006-01-13 Andreas J. Koenig <>

        * Bug: when ~/.cpan/sources/authors/id/A/AN/ANDK/CPAN-1.83_54.tar.gz is
        not a tar file (because I mistyped a URL and got something else), then
        even "force get ANDK/CPAN-1.83_54.tar.gz" does not overwrite the bogus
        file. The stupid program just keeps complaining that the file is not a
        tarfile and I must remove it manually.

        Ahh, this bug needs not be fixed because it only happens when you have
        no Digest::SHA available. REJECT

        * Bug: $CPAN_config_loaded should be replaced with something like
        $INC{"CPAN/"} || $INC{"CPAN/"} so that loading one
        of the two before starting the shell will do. Then revert patch 411.
        FIXED in rev. 418

        * Todo: see the newest cpan by brian. DONE (BDFOY/cpan-1.51.tar.gz)

2006-01-12 Andreas J. Koenig <>

        * Bug: We cannot determine the prereequisites of File::Find::Rule
        because we have no YAML installed and Richard uses Module::Build, so we
        have no Makefile to parse. There is some MB interface to get them. fixed
        in rev. 396

        * Bug: "install Bundle::CPAN Expect Test::Pod" currently failes
        correctly when we reach YAML because we cannot verify the signature. But
        we must not die, we must only set the correct status so the rest of the
        gang can be installed. Fixed in rev. 384

2006-01-11 Andreas J. Koenig <>

        * what happens to "failed" when we reload the index? TESTED OK

        * force: I'd expect 'force ls' to always fetch fresh CHECKSUMS
        files. Currently it doesn't. FIXED in rev. 401

        * optimize "ls dowens": currently fetches D/CHECKSUMS and D/DO/CHECKSUMS
        even if we already have D/DO/DOWENS/CHECKSUMS. Is it worth fixing? NO

        * get rid of the summary currently provided by install bundle, its
        superceded by failed(). REJECT, maybe it's useful

        * Todo: document "failed" (and "status"?) DONE for failed, REJECT for status

        * today's rev. 374 of should be partially reverted: while
        failed() looks good most of the time, it looks ugly that 'force install
        version' installs version and still failed reports:

Writing /usr/local/perl-5.8.0@26774/lib/site_perl/5.9.3/i686-linux-64int/auto/version/vxs/.packlist ./Build install --uninst 1 -- OK Failed installations in this command: JPEACOCK/version-0.53.tar.gz : make_test NO

cpan> failed Failed installations in this session: BDFOY/Test-Prereq-1.029.tar.gz : make_test NO JPEACOCK/version-0.53.tar.gz : make_test NO

        Correct behaviour should be that the 'make_test NO' bit be nuked. FIXED
        in rev. 387

        Above that, the "prompt" change was only interesting during debugging.
        Nobody wants to see the internal number of commands in his prompt. FIXED
        in rev. 388

        * Bug: YAML fails to unpack because of bad signature. Retrying leads to
        prereq Test::Base failing due to bad signature. Retrying leads to
        running make test on YAML. dump reveals that somehow SIG_STATUS was set
        to YES. Ahh, that's the signature on the CHECKSUMS file. Need a new
        attribute for broken signatures. FIXED in rev. 374

2006-01-09 Andreas J. Koenig <>

        * document CPAN_SHELL_LEVEL DONE

        * find out why Expect is so noisy and when this did start DONE

        * Slaven suggests: How to discover that we are in the subshell?
        Environment? Prompt? Level? PS1 as an environment variable? How does
        Debian's apt-get solve that? HALF-DONE in rev. 360: We now have the
        envariable CPAN_SHELL_LEVEL but I'd still like to make a change to the
        prompt. Update: Debian does not mangle the prompt, they just say 'Type
        exit when you're done':

        *** dvorak (Y/I/N/O/D/Z) [default=N] ? z
Type `exit' when you're done.
Abstaining from writing .zhistory, is younger than stats.dbhash at /root/bin/ line 513.
Zsh version 4.3.0-dev-2
Linux dev05 #2 Tue Jan 10 17:34:37 CET 2006 i686 GNU/Linux

        So this Todo can also be CLOSED.

        * Rename Releasenotes to Changes and make the ChangeLog in the
        traditional format, there is some XSLT stylesheet somewhere that does
        this. Ah here:
        DONE up to rev. 352

2006-01-01 Andreas J. Koenig <>

        * Give every command a number and store that number in the object,
        something like incommandcolor but without removing it at the end of the
        command. With such a number we can make failed(commandnumber) filter on
        that commandnumber and have instant per-command-failed. DONE in rev 374

2005-12-31 Andreas J. Koenig <>

        * Bug: I install Archive::Extract and it has the prerequisite
        Module::Load::Conditional declared but nobody installs it.
        FIXED in rev. 329

2005-12-30 Andreas J Koenig <>

        * FirstTime needs a structure over each question or questiongroup so
        that we can ask single questions. Structure was brought by Jim Comie
        around rev. 355

        * Bug: "reload cpan" does not work if the old and the new
        have a different path. I installed a new from CPAN and it
        did remove the old /usr/share/perl/5.8/ but installed the
        new one as /usr/local/share/perl/5.8.7/ The reload then
        always just said "0 subroutines redefined". FIXED in rev. 321

        * rev 315 fixed a path/permission problem with the use of basename() and
        I could see that the error message gets much better than before but we
        need a test case that shows that this strategy can really work in some
        cases. Maybe we need to store the tar file somewhere else to keep the
        tmp/ directory tidy. Also we must see what happens when we cannot remove
        the tmp/ directory. The list of broken distros in
        eg/ will help. DONE

        * add eg/ to the MANIFEST? Not yet, the script is too much focused on a
        problem that is not of interest to others. REJECT

        * Bug: checksum mismatch on a file is being reported even when the
        file has 0 bytes. 0 bytes should clearly constitute the right/the
        duty to overwrite. FIXED in rev. 320

2005-12-29 Andreas J. Koenig <>

        * Bug suspected in Module::Install: it seems to run in a
        subshell with sudo and so we get directories under build/ that we do not
        own. No release before this bug is traced down! Bugreport sent to Audrey
        a few minutes ago (already Friday, 0:30 Berlin time). Bug confirmed and
        has already been fixed in 0.37 and old distros must be redistroed. DONE

        * branching and merging: make current HEAD a branch "1.80_56plus" and
        roll HEAD back to contain only the zero-risk stuff (for maybe later
        releasing that as 1.81?) DONE

2005-12-21 Andreas J Koenig <>

        * complete 'o conf' does not show commit. FIXED in rev 291

        * Bug: Module::Install writes into META.yml "perl: 5.004" and we take it
        as a Module requirement. Whose bug? WORKAROUND in rev 290

        * Can't locate object method "prettyprint" via package "CPAN::Config" at
        lib/ line 1246, <STDIN> line 2. FIXED in rev 288

2005-12-19 Andreas J. Koenig <>

        * Documentation of sudo, ls *, Module::Build, bzip2, YAML; DONE

        * Sudo for Build? Ask mailinglist if we need a
        build_install_build_command or what we need there. DONE

2005-12-18 Andreas J. Koenig <>

        * add to the Bundle: YAML, Text::Glob, Module::Build, Digest::SHA FIXED in rev 280

        * 'make release' is broken. Apparently I have to follow some sequence to
        make release:-( MAYBE FIXED

        * Bug: The following prints "incommandcolor" which should never happen:

perl -Ilib -MCPAN -e 'CPAN::Shell->$_("MARKSTOS/Test-XML-Valid-0.04.tar.gz") for qw(clean d);' CPAN: LWP::UserAgent loaded ok CPAN: URI::URL loaded ok Going to read /home/ftp/pub/CPAN/authors/01mailrc.txt.gz CPAN: Compress::Zlib loaded ok Going to read /home/ftp/pub/CPAN/modules/02packages.details.txt.gz Database was generated on Sun, 18 Dec 2005 00:23:31 GMT Going to read /home/ftp/pub/CPAN/modules/ CPAN: Storable loaded ok Going to write /home/k/.cpan/Metadata Running make clean Has no own directory Distribution id = M/MA/MARKSTOS/Test-XML-Valid-0.04.tar.gz CPAN_USERID MARKSTOS (Mark Stosberg <>) CALLED_FOR M/MA/MARKSTOS/Test-XML-Valid-0.04.tar.gz CONTAINSMODS Test::XML::Valid UPLOAD_DATE 2004-06-01 incommandcolor 0

        FIXED in rev 279

2005-12-17 Andreas J. Koenig <>

        * make selectable in the config if M:B should be chosen over
        Makefile.PL. prefer_installer DONE in rev 271

        * Bug: tolerance on colon only works with m command but not with install command:

cpan> install Class:Container CPAN: Storable loaded ok Going to read /root/.cpan/Metadata Database was generated on Sat, 17 Dec 2005 10:06:33 GMT Warning: Cannot install Class:Container, don't know what it is. Try the command

    i /Class:Container/

to find objects with matching identifiers.

cpan> m Class:Container Module id = Class::Container CPAN_USERID KWILLIAMS (Ken Williams <>) CPAN_VERSION 0.12 CPAN_FILE K/KW/KWILLIAMS/Class-Container-0.12.tar.gz MANPAGE Class::Container - Glues object frameworks together transparently INST_FILE /usr/local/share/perl/5.8.7/Class/ INST_VERSION 0.12

        FIXED in rev 269

        * switch back and forth between preferring Build.PL or Makefile.PL; find
        12 modules that are good for testing Module::Build:

        SVN::Notify::Mirror  failed a test with "could not exec svnnotify" but it
                       worked on the commandline

        SVN::Notify::Config  is the whole family of SVN::Notify a mess, dependency-wise?

        SVN::Notify          must be installed first???

        Text::Lorem HTTP::Proxy Workflow Calendar::Simple DateTime::HiRes
        CGI::Wiki::Kwiki Class::Container HTML::TagCloud

        DONE for rev 269

2005-12-15 Andreas J. Koenig <>

        * Bug: what? we still do not support Build.PL? Didn't anybody send
        me a patch? Try 'install CPAN::Metadata::RDF' and see how this can
        be fixed as quickly as possible.

        Try:        look CPAN::Metadata::RDF
        then there: perl Build.PL;./Build;./Build install

        This does nothing for the prerequisites. We could lookup META.yml either
        then or beforehand. FIXED although only minimal tested in rev 269

        * YAML for dependency checking in rev 268

        * bz2 support: testobject is ARTURAZ/Net-Vypress-Chat-0.72.1.tar.bz2
        DONE in rev 264

        * Todo: sha256 DONE in rev 263

        * Todo: 4th colmn in the 'r' command has not the canonical name
        but the unneeded D/DC/ stuff. DONE in rev 262.

        * Globbing on the ls command: completion? REJECTED

2005-12-12 Andreas J. Koenig <>

        * Feature request: if I type 'm CGI:Session' (note the missing second
        colon) I get

        No objects of type Module found for argument CGI:Session

        I believe, CPAN could supply the missing colon in this case. DONE

2005-11-30 Andreas J. Koenig <>

        * Bug: when the Metadata file has been read with the old version and
        CPAN reads the new index it does not update the version. Witness
        Crypt::Khazad. Once the Metadata are removed completely and built up
        correctly, everything is OK.

        Can be tested by running

        !print $CPAN::META->{readonly}{"CPAN::Module"}{"Crypt::Khazad"}{"CPAN_VERSION"} = "1.0"
        reload index

        This may have nothing to do with multidot versions, just some
        pessimization in the code dealing with replacement of META when
        re-reading index files. FIXED

2005-11-22 Andreas J. Koenig <>

        * From: David Golden <>:

        > Also, "lack of distname support" is overblowing the situation.
        > Distnames are supported perfectly fine as long as you put it in the
        > proper syntax with author's ID and version.
        I think the problem Jim encountered is that "proper syntax" is part of
        the arcana of CPAN.  It's not obvious from the help:
        >  a,b,d,m  WORD or /REGEXP/  about authors, bundles, distributions, modules
        >  i        WORD or /REGEXP/  about anything of above
        >  r        NONE              reinstall recommendations
        >  ls       AUTHOR            about files in the author's directory
        Something that clarifies that AUTHOR/DIST-VERSION is a valid format
        would help.  Or rather, some specific example of what that WORD can be:
          where WORD is either a module, bundle or author name or a
          distribution name of the form AUTHOR/DISTRIBUTION-VERSION
        It's vaguely alluded to in the CPAN perldoc, but only in the section
        describing the four CPAN::* classes.
        A doc patch would be a quick fix for this.

2005-11-07 Andreas J. Koenig <>

        * globbing on the ls command: only ls 'GBARR/Scalar*', or even 'ls
        */makepatch'? 2005-12-12: DONE 

        * script to copy relevant files to the perl tree. DONE

2005-11-04 Andreas J. Koenig <>

        * is version in script/cpan OK? It was 1.3 in perl @25981! Same
        for FIXED

        * PAUSE key 2005? DONE

2005-11-03 Andreas J. Koenig <>

        * Need Releasenotes, the ChangeLog is a big mess with the numerous
        checkins that all were just testing the release cycle itself and
        not generating anything useful for the user. DONE

2005-11-02 Andreas J. Koenig <>

        * Bug: why did the release only contain a ChangeLog up to release
        206 when we were at 212? Ah, I see, the disttest target does not
        make a to-be-released file, must be done by make dist. So the
        whole release was @206. No harm done because between 206 and 212 I
        only worked on the release target. I think I need a disttest of my
        own that takes the dist.tar.gz already built and tests it, not the
        one that builds a dist from the air again into the air and tests
        that. I want a real test of that file that is going to be
        released. Then I can live with 'make release' running both dist
        and disttest. I think. DONE
        * Bug: as a non-root user and first-time caller (no ~/.cpan/
        directory) I said "not ready for interactive configuration" and
        then said 'o conf init'. I got no questions asked but into a fast
        endless loop like so:

(1) Africa (2) Asia (3) Central America (4) Europe (5) North America (6) Oceania (7) South America Select your continent (or several nearby continents) []

Sorry! since you don't have any existing picks, you must make a geographic selection.

(1) Africa (2) Asia (3) Central America (4) Europe (5) North America (6) Oceania (7) South America Select your continent (or several nearby continents) []

Sorry! since you don't have any existing picks, you must make a geographic selection.

        until I hot ^C. *Very* Clever tricks with prompt?

        Reproducable as described. Leaving the shell and entering it again
        make it not reproducable. I must 'rm -rf ~/.cpan
        lib/CPAN/' to reproduce. FIXED in rev 214

2005-10-28 Andreas J. Koenig <>

2005-10-21 Andreas J Koenig <>

        * cpan> m Apache::AuthAny 
        Can't call method "upload_date" on an undefined value at /usr/perl-5.8.4/lib/5.8.4/ line 5761.

        FIXED in rev 186.

        * Slaven suggests a variable "permanently_connected" that helps to
        decide if a connection to the internet is available. Do ask the
        community if people care about such stuff. Slaven expects, some
        will care that the the 'm' and 'd' commands now make a connection
        to the internet. FIXED by introducing do_ls_on_m_and_d.

2005-10-20 Andreas J. Koenig <>

        * ChangeLog needs to be written by svn during make dist, and the
        dependencies must care for a rerun of 'perl Makefile.PL' when gets edited. This would be 'svn log -r HEAD:131' for the
        ChangeLog, I think. FIXED

2005-10-18 Andreas J. Koenig <>

        * Bug: installing SWETH/ did not seem to work anymore.
        FIXED in revision 172.

        * Bug: there is a directory ZTANG/Text-PORE-102/ on CPAN with a
        single file README in it. ls chokes on ZTANG because of this. Is
        it a bug that the directory exists or is it a bug that it has no
        CHECKSUMS file? FIXED by simply removing the README file from

2005-10-12 Andreas J Koenig <>

        * Bug: the nonsense command 'force ls andk' should just do a plain
        'ls andk'. Instead it complains: C<Warning: Cannot ls andk, don't
        know what it is.> FIXED in rev. 180

2005-10-11 Andreas J Koenig <>

        * Bug: "o conf foo bar" should complain about invalid key "foo".
        It does instead set "foo" to "bar" and it happened to me to set
        "debug" to "all" and then I wondered why debugging was not turned
        on. Would it have complained, I would have found the correct
        command ("o debug all") much quicker. FIXED in rev. 178.

        * Same effect can be illustrated by changing to the source's root
        directory, running 'perl -Ilib -MCPAN -e shell', 'install
        Tie::CPHash' (or something else???) and then 'reload cpan'....
        Ahhh, this latter example it is a matter of somebody having turned
        off $^W globally:-)...FIXED

2003-08-13 Andreas J Koenig

        cpan script should accept arguments as suggested by Matt Sergeant:
           cpan install My::Foo
        Cache manager should read youngest directories first and start
        deleting without measuring as soon as the cache limit is reached.
        Rename 'o conf' to 'set' and 'o debug' to 'set debug'.
        Provide something, so that the next "o conf commit" will not overwrite
        the config file. maybe "myconfig_readonly"?
        I have a patch by Jochen Wiedmann that implements a per-distribution
        permanent configuration directory. The new containsmods() method in
        1.52 should help to fit the patch with the rest of
        Option to skip testing (Ask Bjoern Hansen).
        Default Argument for make,test,look,etc. could be the last argument???
        Make a preferred download method configurable (allow further download
        methods via plugin?)
        Allow different site preferences for index files and other files
        Replace make with Make
        Maintain the cache at runtime. Currently we only check it at startup.
        Distribute compressed CHECKSUM files
        Security layer
        make plugins configurable, adjust @ISA
        Make configurable that multiple additional index files can be
        integrated (for Intra-CPANs). I believe CPAN::Site did it right
        anyway, so we might skip this.
        Make the 'make' command itself configurable as suggested by Rujith de
        Silva <>, who wants to run 'sudo make install'
        instead of 'make install'. (Fixing this is delayed, because it
        interacts with

        * What does E1, E2, E3, E4, E5, M1, M2, M3, M4, M5, H1, H2, H3, H4, H5
        1 = unimportant
        5 = important
        Local Variables:
        mode: change-log
        change-log-default-name: "Todo"
        tab-width: 2
        left-margin: 2

1 POD Error

The following errors were encountered while parsing the POD:

Around line 17229:

'=item' outside of any '=over'

=over without closing =back