RECIPES

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"
)->distribution()->pretty_id();

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?

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

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

SEE ALSO

the main CPAN.pm documentation

AUTHOR, COPYRIGHT and LICENCE

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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* #  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 testers.cpan.org 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 http://testers.cpan.org/recent.html

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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 test.pl 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(`franz.ak.mind.de')dnl in the sendmail.mc 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
Devel::Symdump.

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
fail.

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) <cpan-testers@perl.org> Total requests: 1

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

Sending test report with 'pass' to cpan-testers@perl.org 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

2006-09-17 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

* Test the urllist dialog. Requires a fake mirrored.by 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. ???

* http://www.flight.us/misc/FirstTime.pm_AStrebkov.htm (E3) and
http://groups.google.com/group/comp.lang.perl.misc/browse_thread/thread/a3f172fedc02c280/5814e81793793b64#5814e81793793b64
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.
FINISHED

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* Tempted to give up on Term::ANSIColor. If I turn on colorize_output in
TestConfig.pm, 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/CPAN.pm 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 CPAN.pm 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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
785

* Bug: Your proxy_user? [] Or not?

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

2006-09-02 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* Todo: integrate branch
https://pause.perl.org:5460/svn/cpanpm/branches/dagolden-cpan-reporter
DONE by David in rev. 758

2006-07-29 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

2006-07-22 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 https://pause.perl.org:5460/svn/cpanpm/branches/1.87-install-scripts

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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* From: Adam Kennedy <adam@phase-n.com>
  Subject: Re: CPAN.pm, META.yml, PREREQ_PM and dynamic dependencies
  To: "Andreas J. Koenig" <andreas.koenig.gmwojprw@franz.ak.mind.de>
  Date: Tue, 11 Jul 2006 16:58:34 +1000
  
  Andreas
  
  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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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
so

2006-04-26 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

* apply patch by

From: "Enzer, Matisse BGI SF" <matisse.enzer@barclaysglobal.com> Subject: CPAN 1.87 - proposed patch to add Basic Auth for non-proxy URLs To: "Andreas Koenig" <andk@cpan.org> Cc: "Thalhammer, Jeffrey BGI SF" <Jeff.Thalhammer@barclaysglobal.com> 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* Recap branches:

% svn ls https://pause.perl.org:5460/svn/cpanpm/branches 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
720

2006-04-02 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

2006-03-12 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

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

2006-03-06 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* dslip status shows only 4 fields instead of 5. For license infos from
META.yml see http://www.thepierianspring.org/perl/meta/. DONE in rev.
669

2006-02-24 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

	* 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 <tyler@yi.org>

	 >> 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

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

if there is no CPAN/MyConfig.pm already loaded, we must try to load a
CPAN/Config.pm

if there is no CPAN/Config.pm, 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/Config.pm as I just tested it
with 5.8.8.

So if root installs CPAN without testing it, they have no CPAN/Config.pm.
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/Config.pm and start cpan as an ordinary user, then
they should get, without asking, a ~/.cpan/CPAN/MyConfig.pm and land in
the init dialog. This is currently OK.

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

2006-02-22 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

* rethink if the CPAN/Config.pm 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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

FIXED

* 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/Cookies.pm [...] 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

2006-02-17 Andreas J Koenig <akoenig@cellular.de>

* 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 CPAN.pm

2006-02-17 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

* watch http://perlmonks.org/?node_id=530600

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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

2006-02-15 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

2006-02-14 Andreas J Koenig <akoenig@cellular.de>

	* 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/03modlist.data.gz
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/CPAN.pm line 3857.

	Fixed in rev. 604

2006-02-14 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

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

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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 CPAN.pm

2006-02-11 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

	* 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 CPAN.pm 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 ***
tests/30_loops/30_event/comp_tcp_concurrent.........dubious                  
        Test returned status 0 (wstat 6, 0x6)
DIED. FAILED tests 1-42
        Failed

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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

	* Foreign bug: t/37-translator-graph....Can't locate object method
	"is_trivial_link" via package "GLOB" at
	/home/k/.cpan/build/SQL-Translator-0.07/blib/lib/SQL/Translator/Schema/Graph.pm
	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://pgp.mit.edu:11371 --send-keys YOURID

2006-02-08 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 CPAN.pm involved.

These perls behave (exit 255):

/home/src/perl/repoperls/installed-perls/maint-5.8/pIPN6hB/perl-5.8.0@26560/bin/perl
/home/src/perl/repoperls/installed-perls/maint-5.8/pcE7NPt/perl-5.8.0@24641//bin/perl
/home/src/perl/repoperls/installed-perls/maint-5.8/piFZwYU/perl-5.8.0@27040//bin/perl
/home/src/perl/repoperls/installed-perls/perl/pREyceB/perl-5.8.0@27088/bin/perl
/home/src/perl/repoperls/installed-perls/perl/piR9qHb/perl-5.8.0@27016/bin/perl
/usr/local/perl-5.8.0@27016/bin/perl

These don't (shell returns true):

/usr/local/perl-5.8.7/bin/perl
/usr/local/perl-5.8.8/bin/perl

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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

2006-01-31 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

* Visit the p5p thread C<replacing "inuse" Win files (was Re: Help with
a Cwd.pm 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
inhibit_startup_message.

* Todo: Write a bunch of distros and upload them with the sole purpose
of testing CPAN.pm. 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 www.cpan.org/pub/CPAN 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 CPAN.pm, 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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/Config.pm initialized" and goes into the init dialog. After ^C
I find a lib/CPAN/Config.pm 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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/CPAN.pm line
833.> FIXED in rev 464.

2006-01-21 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

	* 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
	RT.

	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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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/Config.pm"} || $INC{"CPAN/MyConfig.pm"} 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 CPAN.pm 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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/commandhistory.pl line 513.
Zsh version 4.3.0-dev-2
Linux dev05 2.6.12.6-xen0 #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: http://ch.tudelft.nl/~arthur/svn2cl/svn2cl-0.5.tar.gz
DONE up to rev. 352

2006-01-01 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <akoenig@cellular.de>

* 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 CPAN.pm
have a different path. I installed a new CPAN.pm from CPAN and it
did remove the old /usr/share/perl/5.8/CPAN.pm but installed the
new one as /usr/local/share/perl/5.8.7/CPAN.pm. 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/find-module-install-sudo-bugs.pl 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* Bug suspected in Module::Install: it seems to run CPAN.pm 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 <akoenig@cellular.de>

* 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/CPAN.pm line 1246, <STDIN> line 2. FIXED in rev 288

2005-12-19 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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/03modlist.data.gz 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 <mark@summersault.com>) 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <ken@mathforum.org>) 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/Container.pm 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
	Data::FormValidator::Util::HTML

	DONE for rev 269

2005-12-15 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* From: David Golden <david@hyperbolic.net>:

> 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

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

* PAUSE key 2005? DONE

2005-11-03 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

* 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/Config.pm' to reproduce. FIXED in rev 214

2005-10-28 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

2005-10-21 Andreas J Koenig <akoenig@cellular.de>

* cpan> m Apache::AuthAny 
Can't call method "upload_date" on an undefined value at /usr/perl-5.8.4/lib/5.8.4/CPAN.pm 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 <andreas.koenig.gmwojprw@franz.ak.mind.de>

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

2005-10-18 Andreas J. Koenig <andreas.koenig.gmwojprw@franz.ak.mind.de>

* Bug: installing SWETH/IPv4.pm 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
CPAN.

2005-10-12 Andreas J Koenig <akoenig@cellular.de>

* 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 <akoenig@cellular.de>

* 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'.

Profiling?

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 CPAN.pm.

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 <rujith.desilva@ps.net>, who wants to run 'sudo make install'
instead of 'make install'. (Fixing this is delayed, because it
interacts with Make.pm)

* What does E1, E2, E3, E4, E5, M1, M2, M3, M4, M5, H1, H2, H3, H4, H5
mean?

E=Easy
M=Middle
H=Hard
1 = unimportant
5 = important



Local Variables:
mode: change-log
change-log-default-name: "Todo"
tab-width: 2
left-margin: 2
End:

1 POD Error

The following errors were encountered while parsing the POD:

Around line 17229:

'=item' outside of any '=over'

=over without closing =back