The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
2006-12-10  Andreas J. Koenig  <andreas.koenig.gmwojprw@franz.ak.mind.de>

	* Buglets with sqlite: does not correctly deal with SVN::Core and
	Bundle::Pause. Things not on CPAN.

	Something else coming from megainstall and some debugging code has been
	added to produce inspection evidence:

Panic: obj[--- 
reqtype: r
] cannot meth[install]

	So we somehow produce an empty object that has nothing but reqtype set.
	I saw this for the first time with SQLLite. Today, with megainstall,
	when I turn SQLite off, the bug does not happen. But the bug might be in
	CPAN.pm as well, we must trace it back to the origin of this weird hash.

	* From an Email from Ingy to Steffen Mueller:

The idea is to make things a lot easier for a lot more people to be
involved. Well that's part of the plan anyway. Mostly I intend Kwiki to
be downloadable and installable via subversion rather than cpan.

While I don't intend to completely abandon cpan, I also am not so
interested in keeping cpan up to date. Really it should be automated
somehow. Anyway, all this is to say that if you want to shepard Kwiki on
cpan, you are most welcome to.

	An argument for "commandline" but maybe for even more.

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

	* On 1367 broke 30shell.t and up to 1372 it was not fixed. The failure
	at 1367 happens at

	test CPAN::Test::Dummy::Perl5::Build
	doesN'T match [[[test\s+--\s+OK(?s:.*?cpan[^>]*?>)]]]!

	at 1372 we come to

	install CPAN::Test::Dummy::Perl5::Build
	doesN'T match [[[is up to date|SAW MAKE[\s\S]+?SAW MAKE[\s\S]+?SAW MBUILD(?s:.*?cpan[^>]*?>)]]]!

	after tweaking 30shell.t to reveal the real difference between the two
	versions I find what is now new:

#   ANDK/CPAN-Test-Dummy-Perl5-Build-1.03.tar.gz
# Tests succeeded but one dependency not OK (CPAN::Test::Dummy::Perl5::Make::Zip)

	instead of previous:

#   ANDK/CPAN-Test-Dummy-Perl5-Build-1.03.tar.gz
#   ./Build test -- OK
# Running Build install

	So why is Zip not OK? Maybe because we "installed" it with a fake
	install command? It did not arrive in an install directory but it was
	removed from the "is_tested" directories and then not prepended to
	PERL5LIB?

	Yes, that seems the correct interpretation. The old test was not
	revealing that, the new code is. So we improved the code that much that
	it does not allow the faked-up test anymore.

	OK, this shows us how important it is that each test tests only one
	thing. This Build module tests a bit too much so we cannot easily
	recognize how to interprete a failure and we break the first rule of
	testing zen: tests are there to find bugs.
		
	* Todo: when fixing force note that the documentation about force is in
	three places: CPAN::{Bundle,Distribution,Module}::force.

	* integrate the use_sqlite and sqlite_dbname parameters before _65 DONE.

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

	* Another problem with goto is that if people say upgrade, the newer
	version will be tried again, will goto the other and then the same
	version as the installed one will be built and installed again. Probably
	too rare a case to worry about. Goto is always a temporary solution.

	* XML::Feed and XML::RSS cooperation continues to exhibit bugs: 

	t/05-atom10-link......ok
	t/06-atom10...........ok
	t/07-atom10-create....ok
	All tests successful.
	Files=7, Tests=171,  9 wallclock secs ( 7.08 cusr +  0.42 csys =  7.50 CPU)
	  BTROTT/XML-Feed-0.12.tar.gz
	Tests succeeded but one dependency not OK (XML::RSS)
	Running Build install
	  make test had returned bad status, won't install without force

	So although XML::RSS was installed successfully, it is not uptodate. But
	it's goodenough for XML::Feed which demands version 1.01. We have 1.12
	and CPAN has 1.21 but 1.21 is disabled now with a goto.

	Maybe we check for uptodateness in the wrong place?

	No, we checked if the newest distro completed its tests.

	FIXED in SVK rev. 1516

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

	* http://rt.cpan.org/Ticket/Display.html?id=23588

	Not fixed with XML::RSS 1.21! Now re-reported as

	http://rt.cpan.org/Ticket/Display.html?id=23822

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

	* With all the care that goes into the distroprefs directory, we always
	will fail on some distros that ask questions and hang forever. It's time
	to rethink a global way out of modules that hang in an IO operation.

	* Todo: make the distropref schema even easier accessible like with a
	manpage.

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

	* Bug reported by Sendu Bala: it can really happen that CPAN.pm deletes
	a build_dir while the owner is still in the queue.

	testshell-with-protocol cannot reproduce by setting build_cache to 0.1,
	not even with 0.001, and not even with 0.

	Recall: during the first "get" the cachemgr is introduced. It is global
	and gets never replaced and so should never be called again for
	scan_cache.

	I ask Sendu to explaint he circumstances and he brings an example where
	somebody calls CPAN.pm recursively. No, I don't consider this a bug. and
	besides, it won't happen in 1.89 anymore *although* I do not consider it
	a bug.
	
	* Bug: Goto does not work as it should for XML::RSS. Currently I see
	that XML::Feed is tested before XML::RSS is installed. First X:F has the
	prereq to X:R, so X:R is processed. It has a prereq of Test::Manifest
	which is processed and installed. Then comes X:R again but it says:

  /usr/bin/make  -- OK
Running make test
  Delayed until after prerequisites
Running make install
  Delayed until after prerequisites

	And then immediately comes X:F's test and fails. X:R is dropped from the
	queue somehow.

	And undelay and goto do not know each other. Because goto does not jump
	on the queue, I suppose.

	FIXED in SVK rev. 1508

	* Bug: The current Makefile has an implicit dependency on YAML::Syck

	This was a bug in MANIFEST.SKIP which excluded the .dd files in
	distroprefs/

	FIXED in SVK rev. 1506

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

	* Maybe I should undo the too far going changes I did in the preparation
	for a better force implementation and make a _64? Force could delay the
	next release considerably.

	OK, the three occurrences of fforce are gone. What else?

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

	* find a way to treat kwalify such that the schema is documented and can
	be accessed directly. And such that not only YAML::Syck can read it.
	Current solution confuses YAML.

	After some rewriting of CPAN::Kwalify I'm stuck with this:

% /home/src/perl/repoperls/installed-perls/*/*/perl-*@29438/bin/perl -e '
use Kwalify; use File::Slurp qw(slurp);
my($schema,$data) = map { eval slurp $_ } @ARGV;    
Kwalify::validate( $schema, $data );
' ./lib/CPAN/Kwalify/distroprefs.dd ./distroprefs/RGIERSIG.Expect.dd  
[/make] Expected subschema (a hash)

	While this succeeds:

% /home/src/perl/repoperls/installed-perls/*/*/perl-*@29438/bin/perl -e '
use Kwalify; use YAML::Syck;
my($schema,$data) = map { YAML::Syck::LoadFile($_) } @ARGV;
Kwalify::validate( $schema, $data );
' ./lib/CPAN/Kwalify/distroprefs.yml ./distroprefs/RGIERSIG.Expect.yml

	The solution is to use $Purity=1 for Data::Dumper transformations as
	described in the Data::Dumper manpage. Thanks to Slaven for digging it
	out for me.
	
	* priorities today: force, expect, commandline

	backtrack: kwalify in separate package

	* My talk proposal http://www.perl-workshop.de/auth/my/edittalk?id=46

	Module Morphing. Module Taming. Module Killing. Talkback. cpan DOT
	(bring your own)! Persistent or Permanent Shell? Upgrade. Test Now,
	Install Later. Configure Your Pick. Color. Kovaric.

	Wasn't that Kolaric? Oops. My memory betrayed me.

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

	* Bug: while trying a goto in KCLARK.SQL-Translator.yml that should
	point to JROBINSON/SQL-Translator-0.08_04.tar.gz nothing works as
	expected. CPAN tries to download pub/CPAN/authors/id/JROBINSON (without
	the J/JR/). All other 4 gotos still seem to work.

	Is this because it is from today or because JR has 9 letters?

	Testing JROBINSON/SQL-Translator-0.08_04.tar.gz directly is no problem.

	fixed in SVK rev 1474
	
	* Release the two new bundles

	* XML::Twig's tests fail and when looking around one eventually finds
	http://xmltwig.com/ where there is a 3.27 version. No repository access.
	Looks like another case for 'we want "get URL"'. Or theoretically
	someone could just release it to CPAN as 3.27_20061201.tar.gz and then
	treat it with a goto. But that smells.

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

	* Todos reshuffled.

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

	* DBD::mysql: I'm sure there is just a defined() somewhere missing in
	the Makefile.PL

	* Need to patch Module::AutoInstall and test antirecursion with an
	environment variable. Errr, I need to patch the inc/ directory of
	Plagger then. Done and patch for now in the patches directory.

	Remember that there's also a rant in 00.README -- No, this is already
	gone.

	http://rt.cpan.org/Ticket/Display.html?id=23735 now suggests a patch

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

	* DBD::SQLite again: With bleadperl 29398 and current CPAN.pm I tried to
	install /home/src/perl/cpan-sql-stuff/CPAN-SQLite/. but again it failed
	because DBD::SQLite did not write its SQLite.xsi file. I fear there's
	something being (not) done in the Makefile.PL instead of during make.

	Yes. On the second try DBD::SQLite builds perfectly well. So one must
	make sure that they are installed in this order. Maybe this is normal
	for DBDs? I have never noticed this before. Hrm. This would be a case
	for re-running perl Makefile.PL after building the prereqs.

	If we had 'commandline', we would write

make:
	commandline: "make; $PERL Makefile.PL; make"

	Or something like that. Will test as soon as we have 'commandline'.

	* Observing that expect-in-any-order is much slower than expect (of
	course) and that one could safe minutes for Plagger if a timeout were
	set to 0.1 or so.

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

	* Todo: if some other processes have deleted my build_dir while I was
	running, heck maybe I can do that even myself, react accordingly

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

	* bug:

	force get /home/src/perl/cpan-sql-stuff/CPAN-SQLite/.

	goes through all of urllist and tries to download
	ftp://cpan.mirrors.skynet.be/pub/CPAN/authors/id//home/src/perl/cpan-sql-stuff/CPAN-SQLite/.
	etc.

	And after that we cannot work with the
	/home/src/perl/cpan-sql-stuff/CPAN-SQLite/. directory anymore, somehow
	the internal state has lost the connection to the real directory.

	Without the force it works nicely and says:

	Is already unwrapped into directory /home/src/perl/cpan-sql-stuff/CPAN-SQLite/.
	
	FIXED in SVK rev. 1487

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

	* priorities: bugfixing; SQLite; Kwalify;

	redesigning the force pragma: biggie; see showstopper alert

	distroprefs left over: single ersatzcommand for the test mantras: we
	currently can change the make command and the arguments at the end but
	the word test is always on the command line and this looks silly. But
	maybe not worth a new keyword. But I've also proposed ->{test}{skip}, so
	the two can be folded perhaps? ---- On the bycicle it occurred to me: we
	add "commandline" to each of get/make/test/install and then the user can
	even say "cd .... && cvs up" or "perl -e 1". I like it.

	11-17 lists a few things for documentation.

	restructure the expect keyword family

	TTL stuff

	make up your mind about install_tested.

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

	* But when we have four different force flavors, we will demand a
	superforce that works like the force now does and sets all "lower" ones?

	* Todo: distroprefs mechanism is still inefficient in that it scans too
	often the whole distro_dir. (But it's super to have that while
	developing new rules)

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

	* I'm conviced now that we need more force flavors and that force shall
	be limited in scope

	force get     shall re-fetch
	force make    shall not re-fetch   but run make again
	force test    shall not make again but try to test again
	force install shall not test again but try to install

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

	* document build_requires and when you talk about prerequisites, name
	the option names explicitly.

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

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

	* Randy sent rkobes-cpan4.diff which should fit to cvs rev. 1.21 of
	CPAN/SQLite.pm.

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

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

	* kwalify schema language: http://rubyforge.org/frs/?group_id=815&release_id=5513

	Yaml mode: http://svn.clouder.jp/repos/public/yaml-mode/trunk

	cvs -d :pserver:anonymous@srezic.cvs.sourceforge.net:/cvsroot/srezic co Kwalify

	/home/src/perl/srezic/Kwalify/.

	Todo: integrate schemacheck into a test and put Kwalify into the Bundle

	for f in distroprefs/*.yml; do
	  /home/src/perl/repoperls/installed-perls/perl/pSI5eZY/perl-5.8.0@29319/bin/pkwalify -f cpan_distroprefs_schema.yml $f 
	done

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

	* make _get_urllist a public method for Randy.

	* Write manpage for CPAN::HandleConfig, esp load().

	* I realize that CPAN::FTP::localize is undocumented and is what Randy
	wants.

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

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

	* Integrate hosts into $META like authors, distributions, and modules?
	If we're cautious, this might turn into an automatic optimization.

	If Coro does index downloads for us, we do not have to fear slow
	connections and can gather better data.

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

	* Randy says:

	The only data CPAN::SQLite really needs from CPAN.pm is:
	- a location to store the database file; for this,
	it's presently using $CPAN::Config->{cpan_home},
	which I believe is the same location as Metadata;
	- the name of the database file; in this I've been
	using a new config entry $CPAN::Config->{sqlite_dbname},
	or 'cpandb-sqlite', as a default;
	- the location (directory) beneath which the CPAN
	indices are kept; I've been using
	$CPAN::Config->{keep_source_where}, assuming
	it's a simple directory.
	
	The guessing for this in CPAN::SQLite comes when it's
	not being run under CPAN.pm.
	
	As for CPAN::SQLite providing data to CPAN.pm,
	that's being done solely in CPAN::SQLite::META,
	and it uses
	  $CPAN::META->instance($class => $id)->set(%data);
	for everything, except for CONTAINSMODS, where
	it uses
	  $d = $CPAN::META->instance($class => $id);
	  $d->{CONTAINSMODS} = \%list_of_mods;
	
	* Catalyst would be another candidate for a large dependency list.

	* Guessing of -p0/-p1 for patch maybe wrong if the patch tries to create
	a new file against, say, /dev/null.

	* Expect structure. We can leave expect as it is but expect-in-any-order
	needs a way to set the timeout. The structure must change, I fear.

	* Would be nice: integrate the config variable name into the init
	dialogs such that one has a chance to learn their names over time.

	* Would be nice: 'o conf /check/' to list all variables matching a regex.

	* I realize that it's quite pointless to try downloading with "fancy"
	when there is Net::FTP installed. OTOH, *sometimes* it may be clueful. I
	should explain in a FAQ that it makes sense to disable the externel
	programs once one has Net::FTP and LWP. The problem only appears if you
	have many hosts in the urllist and try to download a fresh file: here
	you want to try only with one method and cycle through the hosts
	quickly.

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

	* Randy Kobes needs an API to find out where the index files are
	located. And the whole SQLite needs to be integrated. First question is
	what do we use from it. Only the readonly stuff, I suppose. And the
	urllist. And all this might need to be combined with the TTL stuff and
	separate loading of index files.

	* Bug that has to do with install_tested or build_dir_reuse or degraded
	shell mode or some use of ^C at the wrong moment:

  PEREINAR/File-Which-0.05.tar.gz              : install NO

	But File::Which is installed. Maybe in a concurrent shell. When I ask
	for 'install File::Which' I get 'is up to date' and nothing gets
	repaired. When I ask for 'install PEREINAR/File-Which-0.05.tar.gz' then
	the thing gets tested but not installed because 'Already tried without
	success'.

	Are we in trouble?

	Maybe we must rethink how 'force test' works. It should not 'force get',
	and 'force make', it should just test and not refuse to do it.

	Or we must compute the COMMANDID better than we do during reanimate and
	treat negative COMAMNDIDs with more rigor in some constellations?

	The thing is that the module object for File::Which knows about the
	correct distro object but it gets the installed version from @INC and
	does not know who put it there and so should not be able to discard the
	distro object. Hmmm.

	Remember, we have the notest pragma! Maybe we can let install_tested
	support both the force and the notest pragma and are through?

	But no, even 'notest install ...' does not succeed because we need
	force, not notest, but force propagates down until we restart with get.
	This is, of course a last resort, but it's no fun:-(

	SHOWSTOPPER ALERT!

	At least I get the impression this extreme case happens only on ^C, but
	some other methods of dieing will certainly exist as well.

	* Todo: offer the choice between (readline) Gnu and Perl and Coro. See
	my trials in the bin/ directory (SVN only)

	* Mail::Send problem persists that Test::Reporter's mails do not arrive
	when sent with Mail::Send but do when sent with Net::SMTP (IIRC). In any
	case I must disable installation of Mail::Send somehow or debug.
	Test::Reporter has got a wish item via RT already some weeks ago.

	* Bug: Uuuuuh, pressing ^C and then trying an illegal command, ugliness:

	LWP failed with code[500] message[read timeout]
Trying to get away with old file:
6114541  500 -rw-rw-r--  1 1000     1000       504953 Nov  8 08:02 /home/k/.cpan/sources/modules/02packages.details.txt.gz
Going to read /home/k/.cpan/sources/modules/02packages.details.txt.gz
  Database was generated on Tue, 07 Nov 2006 12:25:12 GMT
.
Caught SIGINT, trying to continue
	
cpan> hosts
Refusing to autoload 'hosts' while signal pending at lib/CPAN.pm line 590.


	* if we make the TTLs setable, maybe we should make the TTL for
	CHECKSUMS file too. In any case we have the problem of imacat also when
	the TTL of the local copy of the CHECKSUMS file has not yet been
	reached!

	* Coro. See also notes below, search for anyevent	

	* Observing in a shell in degraded mode: it wrote a new Metadata file.

	* Observing how install_tested behaves: within the same session it
	installs without retesting. In a new session it does retest. What
	*should* it do?
	
	Noting that the DH test runs forever again because GMP comes too late.

	* Watch the Module::Build space for updates to the question of calling
	M:B methods or parsing _build/*. Ken seemed to argue for the file (?)

	* write a patch for Test::Reporter so you can choose the mail sending
	module? Reported 2005-07:
	http://rt.cpan.org/Ticket/Display.html?id=13836

	* Investigate if I want Math::Bigint::GMP in the core. Think of
	Crypt::DH and the horrible test timings when Math::Bigint::GMP is not
	installed

	* find out why upgrade always upgrades
	Apache::Session::Generate::ModUniqueId and ...::ModUserTrack.

	Seems to be Apache-Session-1.81/Session/Generate/ModUniqueId.pm and
	Apache-Session-1.81/Session/Generate/ModUsertrack.pm

	SO OK, nothing to worry.

	* The Net::SSH::Perl test 03-packet still runs forever even with
	Math::Bigint::GMP. Maybe this is completely unrelated? Yes! No load!
	Report sent. But can we patch it? Maybe not as long as Math::Pari and
	Crypt::Random are prereqs and fail themselves.

	* In Crypt::DH rewrite the test so that TEST_VERBOSE tells us timings
	and Math::BigInt internals. No need! It's Math::Bigint again. Test is
	really quick with Math::Bigint::GMP installed. Note that Math::GMP is
	not enough. But can we patch it?

	* The first thing that I encounter when I start testing instead of
	installing things is that test doesn't stop when the installed version
	is higher than or equal to the CPAN version. Ilya invented for that
	test_uptodate??

	* CPAN::Checksums -> Data::Compare -> File::Find::Rule ->
	Number::Compare
	
	* I wanted to watch some scenarios with persistent data. Especially with
	modules that work and that are being tested again and again with prereqs
	and without or within bundles and if they are retested or not, installed
	or not with persistence and within the same session.

	Write a megatest?

	* Study "pip" by Adam K (in Module-Plan-Base) and CPAN::Mini::Tested and
	CPAN::Mini::Phalanx100 and also see what we can do for
	Module::ThirdParty

	* replace 03 index file with YAML.

	* Provide an API or documentation how to find out the CPAN::Config
	variables.

	* Looks like a bug to me what I find in Bundle-SZABGAB-0.01.yml:
	CONTAINSMODS is empty because Gabor has a distro in the bundle.

	* Now I know the first bug in install_tested: it re-tests already
	installed modules.

	* One thing we do not support yet in distroprefs is adding dependencies
	without patching. Shall we?

	* Todo: clean up "XXX" in the code

	* M2 (Wishlist) separate the TTLs for 01,02,03. If somebody asks 'a
	FOO', we should only check for the authors database, etc.

	* E1 Todo: use 00whois.xml instead of mailrc, and follow the UTF-8 HOWTO to
	get rid of the term_is_latin variable. Test output with locales.

	* H4 branch 1.87-dbmdeep-hackery revive? It was very broken but I do not
	remember details. Hint: DBM::Deep promises significant memory savings
	and in that branch we tried to see how it can be made to work for us.

	* M3 RT 17353: Flag outdated CPAN sites and move them to the end of the
	list when they have reached 291 hours. (Note: $CPAN/authors/02STAMP)

	* E1: revisit rev 158:159, the introduction of "recent" and "perldoc".
	#21791 has its bugreport. I don't like that most of the subroutines are
	thrown into CPAN::Distribution either. OTOH, we have commands that have
	no central role within CPAN. One can always refuse to use them. Hrm.
	HTML::Display!

	* E5: (again and again) verify that the CPAN.pm-using modules continue
	to work:

	DMUEY/AltaVista-BabelFish
	MSCHILLI/CPAN-Unwind
	ULPFR/CPAN-WAIT
	RJRAY/Devel-Modlist
	SMUELLER/PAR-Dist-FromCPAN
	DAGOLDEN/Perl-Dist
	CRAKRJACK/Test-CPANpm

	* E5 watch RT for open tickets. This todo can never be closed.

	* E1 Todo: continue to close the Pod::Coverage gap. Currently only
	CPAN.pm is covered

	* E3 Todo: write a test for dot-cpan/Metadata usage. Hmmm. Important for
	the future of locking, the future of DBM::Deep, protocol changes. Not
	sure what to test.

	* M3 Todo: investigate what BUGHUNTING in Tarzip means "today": it's
	about a very old bug in Archive::Tar that is most probably fixed. Turn
	bughunting on with the command C< !print$CPAN::Tarzip::BUGHUNTING=1 >.
	It is slow but everything should just plain work. When we're confident
	that everything works, we could offer a tar_policy option that has
	options "ext" and "mod", for external programs vs. modules, default to
	"ext"?

	* M3 Reopened Bug: it seems that a user who is in /bin and has "." in
	the beginning of the path gets ./sh as his shell from FirstTime. If we
	encounter . in the path we should rather ignore it. But first we must
	verify the behaviour. Reported by Slaven Rezic on behalf of Tino
	Schulze. This has nothing to do with -I. but only with the shell and
	$ENV{PATH} and as we do not know which shell it was it seems we cannot
	test for the problem.

	* H1 These days developer TELS posted to perl5-porters that his newest
	release is available at

	    http://bloodgate.com/perl/packages/devel/Math-BigInt-1.78.tar.gz

	Suddenly it dawned on me that I want to support

	    install http://bloodgate.com/perl/packages/devel/Math-BigInt-1.78.tar.gz

	What am I missing?

	The other commands dealing with files would have to learn a bit.

	d http://      # fails as before with "No objects of...."

	               # alt: does a HEAD and tells user that the URL can e reached

	ls http://     # lists nothing

	               # alt: says that ls doesn't support URLs

	get http://    # this is probably all we need to implement. Maybe a new
	               # class needed that does as_string and as_glimpse as well?

	And maybe a pragma that turns this feature on? So that 'get http://...'
	never works but 'force get http://...' does? Alt: config variable to
	turn feature on, then a separate module that implements it.

	Brian likes the idea

From: brian d foy <brian.d.foy@gmail.com>
Subject: Re: Welcome new user LOCAL
To: modules@perl.org
Date: Mon, 18 Sep 2006 14:52:48 -0500
Organization: Perl Authors Upload Server
Reply-To: modules@perl.org

In article <877j0361hl.fsf@k75.linux.bogus>, (Andreas J. Koenig)
<andreas.koenig.gmwojprw@franz.ak.mind.de> wrote:

> My spontaneous idea was to support the command
> 
>     cpan> get http://bloodgate.com/perl/packages/devel/Math-BigInt-1.78.tar.gz


oh, very interesting, especially if I already have the file:

   cpan> get file:///....

This makes CPAN::Mini::Inject a bit less useful because I no longer
need the middle man.


	* Make the "new -> ." symlink in scripts/ as outlined in a mail to kurt
	and jarkko

	* M2 feature request by Juergen Christoffel: have time stamps on the
	history and a history command to see them

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

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

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

	* SQL-Translator-0.07 has a broken signature
	(reported 9 months ago at
	https://rt.cpan.org/Ticket/Display.html?id=16852). When trying to
	install CLACO/Handel-0.99_15 I see this warning running by quite often
	instead of only once and testing of it again and again. And the same for
	Email-Valid and DBIx-Class-Validation.

	Why?

  CLACO/Handel-0.99_15.tar.gz
  /usr/bin/make test -- NOT OK
Failed during this command:
  LYOKATO/FormValidator-Simple-0.19.tar.gz     : make_test NO
  MIYAGAWA/Email-Valid-Loose-0.05.tar.gz       : make_test NO
  CLACO/DBIx-Class-Validation-0.01001.tar.gz   : make_test NO
  DROLSKY/DateTime-Format-MySQL-0.04.tar.gz    : make_test NO
  RICKM/DateTime-Format-Strptime-1.0700.tar.gz : make_test NO
  CLACO/DBIx-Class-UUIDColumns-0.01000.tar.gz  : make_test NO one dependency not OK (SQL::Translator)
  RJBS/Email-Valid-0.176.tar.gz                : make_test NO
  DROLSKY/DateTime-Format-Builder-0.7807.tar.gz: make_test NO
  KCLARK/SQL-Translator-0.07.tar.gz            : signature_verify NO
  CLACO/Handel-0.99_15.tar.gz                  : make_test NO

	Besides the need to find out why the tests are repeated so often, it may
	be a good idea to support check_sigs via distroprefs.

	DONE

	* receiving file list ...
14484 files to consider
./
5.9.0/diffs/
5.9.0/diffs/29196.gz
        1184 100%    1.13MB/s    0:00:00 (xfer#1, to-check=219/14484)
5.9.0/diffs/29413.gz
        2178 100%  708.98kB/s    0:00:00 (xfer#2, to-check=8/14484)
5.9.0/diffs/29414.gz
         848 100%    4.31kB/s    0:00:00 (xfer#3, to-check=7/14484)
5.9.0/diffs/29415.gz
        2540 100%   12.79kB/s    0:00:00 (xfer#4, to-check=6/14484)
5.9.0/diffs/29416.gz
         691 100%    3.46kB/s    0:00:00 (xfer#5, to-check=5/14484)
5.9.0/diffs/29417.gz
        1053 100%    3.02kB/s    0:00:00 (xfer#6, to-check=4/14484)
5.9.0/diffs/29418.gz
         546 100%    1.55kB/s    0:00:00 (xfer#7, to-check=3/14484)
5.9.0/diffs/29419.gz
         352 100%    1.00kB/s    0:00:00 (xfer#8, to-check=2/14484)
5.9.0/diffs/29420.gz
         845 100%    2.38kB/s    0:00:00 (xfer#9, to-check=1/14484)
5.9.0/diffs/29421.gz
       12248 100%   17.49kB/s    0:00:00 (xfer#10, to-check=0/14484)

	*&*^*&%%&%$!!!!!

The following patches had errors:
        29196

Errors while patching

	and before

----stdout+err patching 29196 (ret=256)---
The text leading up to this was:
--------------------------
|Index: depot/perl/pod/perlretut.pod
|--- depot/perl/pod/perlretut.pod#37~27989~     2006-04-28 01:41:25.000000000 -0
700
|+++ depot/perl/pod/perlretut.pod       2006-11-02 23:08:18.000000000 -0800
--------------------------
File to patch: 
Skip this patch? [y] 
5 out of 5 hunks ignored
----EOF----
PAPU: Registering as a failing patch d[29196] at /usr/local/perl/bin/patchaperlu
p line 374.


	Bug reported anfd promptly fixed by Philippe M. Chiasson (gozer).

	* Batch jobs without a lock should not be allowed to cleanup the cache
	directory. And then document the lock policy and that there are lockless
	batch runs. DONE

	* Observing what autoinstall does:

/home/src/perl/repoperls/installed-perls/perl/p6siswe/perl-5.8.0@29397/bin/perl 
"-Iinc" Makefile.PL --config= --installdeps=File::Find::Rule,0,UNIVERSAL::requir
e,0.1,Template::Provider::Encoding,0.04,Text::Tags,0,DateTime::Format::Mail,0,Da
teTime::Format::W3CDTF,0,DateTime::Format::Strptime,0,Cache::Cache,1.04,Module::
Pluggable::Fast,0,HTML::ResolveLink,0,MIME::Types,1.16,XML::Feed,0.12,XML::Atom,
0.23,Term::Encoding,0,Encode::Detect,1,HTTP::Cookies::Mozilla,0,XML::Liberal,0.1
4,XML::RSS::Liberal,0,HTML::TreeBuilder::XPath,0,HTML::FormatText,0,DateTime::Fo
rmat::Japanese,0,HTML::Scrubber,0,XML::Feed,0.09,XML::Atom,0.20,Net::SMTP::TLS,0
,Mail::Address,0,HTML::Scrubber,0,Time::Duration::Parse,0,WebService::Bloglines,
0.11,Cache::FastMmap,0,POE::Component::Client::HTTP,0,Xango,1.04,DateTime::Forma
t::Epoch,0,WWW::Mixi,0.48,SVN::Core,0,SVN::Client,0,WebService::YouTube,0,WWW::B
abelfish,0,Text::Emoticon,0,HTML::ResolveLink,0,Email::Address,0,Lingua::ZH::Han
Detect,0,Text::Language::Guess,0,IP::Country,0,Text::Hatena,0,Hatena::Keyword,0,
Image::Info,0,Text::Markdown,0,Regexp::Common::profanity_us,0,HTML::ResolveLink,
0.02,Text::Kakasi,0,Mail::SpamAssassin,0,URI::Find,0,URI::Find,0,Audio::Beep,0,P
OE::Component::IRC,0,POE::Component::IKC::Client,0,Net::NetSend,0,Text::CSV_PP,0
,Net::Delicious,0,Mail::IMAPClient,0,Template::Plugin::JavaScript,0,Net::Movable
Type,0,PDF::FromHTML,0,Palm::PalmDoc,0,Text::WrapI18N,0,Data::Serializer,0,Data:
:ICal,0,Search::Estraier,0,File::Grep,0,KinoSearch,0,DBIx::Class::Schema,0,XML::
FOAF,0,Config::INI::Simple,0,HTML::TreeBuilder::XPath,0,Lingua::EN::Summarize,0,
Text::Original,0,Lingua::JA::Summarize::Extract,0
CPAN: File::HomeDir loaded ok (v0.58)

	Yes, this goes really into recursion. Since I have "reuse" turned on,
	the damage is limited but if I had it not on, it would be a lot of
	expensive noops.

	The question is simply: how can I prevent autoinstall from going into
	recursion? I want it to do its detective work and return it to me. Ahhh,
	it does so! It writes them in traditional style into the Makefile. All I
	need to prevent is that this target (the "installdeps" target) is run
	during 'make'. Or that it is being run but does nothing. Or whatever
	that does not repeat what I have already done.

	* Broken: 30shell.t. Recently something changed this:

# NEXT: m /_NEXISTE_/
# EXPECT: Contact Author J. Cpantest Hietaniemi(?s:.*?cpan[^>]*?>)
# GOT: m /_NEXISTE_/
# Module    _NEXISTE_              (Contact Author J. Cpantest Hietaniemi <nospam@nospam>)
# Module    _NEXISTE_::_NEXISTE_   (Contact Author J. Cpantest Hietaniemi <nospam@nospam>)
# 2 items found

	to this:

# Module    _NEXISTE_              (N/A)
# Module    _NEXISTE_::_NEXISTE_   (N/A)
# 2 items found

	Who was it? First time I need a binary search on my own code:)

	Standing at HEAD: fail as above

	Switching back to 1310: fails with Looks like you planned 227 tests but
	only ran 163.

	Running forward with a quick obvious fix: Looks like you planned 227
	tests but only ran 159.

	Switching to 1300: Looks like you planned 227 tests but only ran 163.

	1290: completely broken
	To 1291: Looks like you planned 227 tests but only ran 159.

	To 1281: All tests successful

	1286: ok

	88 ok

	89 ok

	91 ok ???

	1300 ok ???

	1310 ok ???

	Obviously a timing related bug. The ls command seems expensive. Maybe
	perl is slower or the sqlite patch made CPAN.pm slower. Setting the
	default timeout to 30 and ripping out the sqlite patch brings us test ok
	again. Putting back in the sqlite stuff with the small obvious fix in
	the exists method brings test ok again. Setting timout back to 20 again
	and just increasing the timout for the 'ls ANDK' command to 30 brings
	test ok again. All of the successes in the SVN directory.

	* CPAN::SQLite has the dependency on LWP::Simple missing

	* observed a strange behaviour: trying

	test /home/src/perl/cpan-sql-stuff/CPAN-SQLite/.

	early, immediately after Bundle::CPANxxl. Dependency on SQLite is
	recognized, recursive dependency on DBI is recognized, but SQLite does
	not build a SQLite.xsi which seems to indicate that it did not find DBI.

	install helps, so we are still unfriendly to testers?

	* Why did I get no problem with Module::Pluggable before but now do?
	Hmm. Installing on naked 29367 gives no errors. Installing on
	module-rich 29376 gives one test failure:

t/02works_taint............NOK 3/5                                           
#   Failed test 'is deeply'
#   at t/02works_taint.t line 20.
#     Structures begin differing at:
#          $got->[0] = 'Module::Pluggable::Fast'
#     $expected->[0] = 'Module::Pluggable::Object'
t/02works_taint............NOK 5/5                                           
#   Failed test 'is deeply class'
#   at t/02works_taint.t line 29.
#     Structures begin differing at:
#          $got->[0] = 'Module::Pluggable::Fast'
#     $expected->[0] = 'Module::Pluggable::Object'
# Looks like you failed 2 tests of 5.
t/02works_taint............dubious                                           
        Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 3, 5
        Failed 2/5 tests, 60.00% okay

	Aha, seems to be a broken test.
	http://rt.cpan.org/Ticket/Display.html?id=23607

	* Now I have changed Plagger YAML file to answer y to all optional
	features and now it installs even Spamassassin.

	* 23315 rings a bell now..... eliminated many Tarzip exceptions by
	protecting with eval rev. 1386

	* Slaven reports bug: there is a yml file in dot directories named
	"..yml" FIXED in svk rev. 1390

	* Jifty 0.61123_01 is out and the tests fail on Module::Refresh missing
	and Test::Base as far as I can see.

	Kwalify is out.

	Jifty says what it would like to have:

- App::CLI                       ...missing. (would need 0.03)
- Email::Send                    ...missing. (would need 1.99_01)
- HTML::Mason                    ...missing. (would need 1.3101)
- HTML::Mason::Plugin            ...missing.
- HTTP::Server::Simple           ...missing. (would need 0.20)
- HTTP::Server::Simple::Recorder ...missing.
- XML::Simple                    ...missing.
- Module::Install::Admin         ...missing. (would need 0.50)
- Test::HTTP::Server::Simple     ...missing. (would need 0.02)
- Test::WWW::Mechanize           ...missing. (would need 1.04)
- Class::Accessor::Named         ...missing.
- Devel::Cover                   ...missing.
- Module::Install::Admin         ...missing. (would need 0.50)
- PAR::Dist::FromCPAN            ...missing.

	Now that I have Module::Refresh and Test::Base Jifty fails tests due to
	HTML::Mason.

	* Trying to get a binary search running for XML-Feed-0.12. I need to go
	before 20000 where I haven't been for quite a while and nothing works.

	I need to break a circular dependency ExtUtils::CBuilder => File::Spec
	=> PathTools => ExtUtils::CBuilder

	I'm hung at the moment with 19096: it cannot build
	Scalar-List-Utils-1.18 because it fails during perl Makefile.PL:

	Can't call method "load" on an undefined value at inc/Module/Install.pm line 180

	I have tried to install Module::Install myself but this did not help.

	Removing the whole inc directory does not help either. When I improve
	the code at line 180, it just gets reverted magically. This is what I
	tried to insert:

		my $obj = eval { $self->load($method) };
        if ($@) {
          my $err = $@;
          require Carp;
          confess $err;
        }
        $obj or return;

	Running in the debugger fails also because it fails at compile time.

	Giving up on 19096, trying 19523.

	Same thing but I realise that I can skip Scalar-List-Utils. Now I need
	to install LWP with notest. And XML::Atom fails because 'Undefined
	subroutine &utf8::is_utf8 called at t/18-unicode.t line 17.' Use notest
	again. And XML-Feed's test still fails with

t/01-parse............NOK 44/72                                              
#   Failed test at t/01-parse.t line 59.
#                   'Hello!...'
#     doesn't match '(?-xism:<p>Hello!</p>)'
t/01-parse............NOK 45/72                                              
#   Failed test at t/01-parse.t line 60.
#          got: undef
#     expected: 'Hello!...'
# Looks like you failed 2 tests of 72.
t/01-parse............dubious                                                
        Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 44-45
        Failed 2/72 tests, 97.22% okay

	Trying 19096 again. This time XML::Atom cannot write a Build file with
	the same Module::Install bug as above. Giving up.

	Maybe investigate within the maint branch?

	Yes! This shows us an interesting fact: under 29163 we see the same
	failure. Under my /usr/local/perl-5.8.8/ we do not see it. 27048 which
	is closest to 27040 (which would be 5.8.8 exactly).

	Same failure. So it's very likely a module dependency. Some recent
	module upgrade probably. my 5.8.8 installation might still have the old
	one and updating breaks? The successfully testing 5.8.8 says

  CPAN.pm: Going to build B/BT/BTROTT/XML-Feed-0.12.tar.gz

*** Module::AutoInstall version 1.02
*** Checking for Perl dependencies...
[Core Features]
- LWP                      ...loaded. (5.805)
- HTML::TokeParser         ...loaded. (2.35)
- Test::More               ...loaded. (0.62)
- Class::ErrorHandler      ...loaded. (0.01)
- Feed::Find               ...loaded. (0.06)
- URI::Fetch               ...loaded. (0.08)
- XML::RSS                 ...loaded. (1.10 >= 1.01)
- XML::Atom                ...loaded. (0.23 >= 0.08)
- DateTime                 ...loaded. (0.35)
- DateTime::Format::Mail   ...loaded. (0.30)
- DateTime::Format::W3CDTF ...loaded. (0.04)
- List::Util               ...loaded. (1.18)
*** Module::AutoInstall configuration finished.
Checking whether your kit is complete...
Looks good


	The failing one under 27048 says

*** Module::AutoInstall version 1.020
*** Checking for Perl dependencies...
[Core Features]
- LWP                      ...loaded. (5.805)
- HTML::TokeParser         ...loaded. (2.350)
- Test::More               ...loaded. (0.620)
- Class::ErrorHandler      ...loaded. (0.010)
- Feed::Find               ...loaded. (0.060)
- URI::Fetch               ...loaded. (0.080)
- XML::RSS                 ...loaded. (1.200 >= 1.01)
- XML::Atom                ...loaded. (0.230 >= 0.08)
- DateTime                 ...loaded. (0.350)
- DateTime::Format::Mail   ...loaded. (0.300)
- DateTime::Format::W3CDTF ...loaded. (0.040)
- List::Util               ...loaded. (1.180)
*** Module::AutoInstall configuration finished.
Checking whether your kit is complete...
Looks good

	Yes, and when I downgrade XML::RSS to 1.1, then the test failure goes
	away.

	Bingo. Another case for "goto".

	* I just wrote in a mail to Sendu Bala:

  > On a tangentially related note, are there any plans to make CPAN do
  > anything useful with the 'recommends'/'optional_features' information
  > in a META.yml file?

No. I never considered this a job for CPAN.pm. If I had the time,
inclination and fu to write talk-me-through-optional-features
software, I'd write it independently from CPAN.pm.

I think of CPAN.pm as the glue between the user and the CPAN mantras.
CPAN.pm 1.89 will allow the users to store their preferences about
optional things in any CPAN package, no matter how the packages
themselves manage them. If you play with 1.88_62 see the 00.README in
the distroprefs directory. But it's no
talk-me-through-optional-features software.

Or if you prefer a drawing:

     +----------+       +----------------+       +----------+
     |          |       |    mantras     |       |          |
     |          |       |perl Makefile.PL|       |          |
     |   user   |       |make            |       |  module  |
     |          |       |make test       |       |          |
     |          |       |make install    |       |          |
     +----------+  ^^^  +----------------+  ^^^  +----------+
                   |||                      |||   
                    ||Gap filled             ||Gap for
                     |by CPAN.pm              |options software


	* hosts statistics: the host with the most unsuccessful downloads is
	which? Of course the one that lead the urllist. That doesn't prove
	anything.

	* answer Sendu Bala two mails, one private, one on cpan-workers

	* From a mail I sent to Slaven about Tk:

Mit 20002 bekomme ich t/regexp.t     2   512    21    2  10-11
Mit 29332             t/regexp.t     0    11    21   36  4-21

Letzteres entspricht wohl Deinem Coredump.

Noch sehe ich keine wirklich saubere Strategie fuer binsearch. Die
bereits frueher angewendete mit 'notest install' zuerst und dann
nochmaligem test von regexp.t scheint die einfachste im Moment. Den
habe ich auch grade eben gestartet.

Sauber waere wohl, wenn man 'make test' dazu bringen koennte, nur
schlicht und einfach ein einziges Skript aufzurufen. --> Todo

	* After all the prereq hassles with XML::Atom I finally could install it
	for perl 20002 after many manual interventions but without overrule
	(except when we call the XML::LibXML=1.61003 decision as an overrule)

	After the same hassles under 29332 I see the test failure

t/02-content...........NOK 23/32                                             
#   Failed test at t/02-content.t line 62.
#          got: 'xml'
#     expected: 'base64'
# Looks like you failed 1 test of 32.
t/02-content...........dubious                                               
        Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 23
        Failed 1/32 tests, 96.88% okay

	This means that if I just got the proper prerequisites I'd have run a
	binarysearch in no time.

*** Module::AutoInstall version 1.030
*** Checking for Perl dependencies...
[Core Features]
- MIME::Base64             ...loaded. (3.07_0100)
- URI                      ...missing.
- Class::Data::Inheritable ...missing.
==> Auto-install the 2 mandatory module(s) from CPAN? [y] y
[Faster XML parsing with libxml]
- XML::LibXML              ...missing. (would need 1.54)
==> Auto-install the 1 optional module(s) from CPAN? [y] y
[Pure perl XML parsing with XML::XPath]
- XML::XPath               ...missing.
==> Auto-install the 1 optional module(s) from CPAN? [n] y
[Client/Server for Atom API]
- LWP                      ...missing.
- LWP::Authen::Wsse        ...missing.
- Digest::SHA1             ...missing.
- DateTime                 ...missing.
==> Auto-install the 4 optional module(s) from CPAN? [y] y
[Feed and API Auto-discovery]
- HTML::Parser             ...missing.
==> Auto-install the 1 optional module(s) from CPAN? [y] y
CPAN: File::HomeDir loaded ok
*** Dependencies will be installed the next time you type 'make'.
    (You may need to do that as the 'root' user.)
*** Module::AutoInstall configuration finished.

	Next step is to document what is wrong with the prereqs and present the
	findings to author.

	1. Test fails on XML::XPath.         requires bug
	2. Ditto on LWP::UserAgent           requires bug
	3. Ditto on Digest::SHA1             requires bug
	4. Ditto on DateTime                 requires bug
	5. Ditto on XML::LibXML not so obviously!) requires bug

	XML::XPath
	LWP::UserAgent
	Digest::SHA1
	DateTime
	XML::LibXML
	
	It may be the case that the author thought that a user that says no to
	an optional feature will accept failing tests. But I'd expect that if I
	say no to a feature then this feature is not tested at all. And I'd
	argue this is important because a user can usually not reliably
	differentiate proprely between failing tests due to bugs and failing
	tests due to missing prereqs. No bug on Module::AutoInstall side.

	Now our manual binary search stands at 27069(ok) and 29332(not ok) and
	our patch seems to be clear: add the above 5 modules to requires and not
	as optional modules.

	Done and it worked with 28618.

	* Need a way to specify a different distribution for a module. Say, we
	realize that the officially current XML::LibXML 1.62 is broken but some
	PAJAS/XML-LibXML-1.61003.tar.gz still works. I think, I'd like

	  ->{goto} = "PAJAS/XML-LibXML-1.61003.tar.gz"

	DONE

	* Need a way to specify notest from distroprefs. When we know Strptime
	doesn't pass a test but we know that the problem is harmless or can be
	ignored for some reason. I think, I'd like ->{test}{skip} = 1

	* Todo: LWP::Authen::Wsse is an optional prereq of XML::Atom but did not
	get installed. Need to find out how to signal to AutoInstall that I want
	all recommendations installed. Ahh, I find that XML::Atom not only uses
	AutoInstall but also Module::Build and that writes a _build/prereq file
	and I could read that. I would then find that 'recommends' hashref and I
	could then start installing what I find there.

	But how do I know that the user wants that the recommendations be
	installed?

	While watching what Module::Install is doing and trying out variations I
	get the impression that I have no chance to do the right thing. If the
	user says, he wants the recommendations, they still do not end up in
	META.yml or _build/prereqs or where else should I look?

	After the user has said that he wants everything, we see

Checking prerequisites...
 * Optional prerequisite LWP::Authen::Wsse is not installed
 * Optional prerequisite XML::LibXML is not installed
 * Optional prerequisite DateTime is not installed

	But nobody builds or installs them. I find them nowhere in the build
	directory stored away. And yet, when I test XML::Atom, it requires it
	magically and I have to install them manually.

	* Todo: the order of lines in the "failed" command or "failed" report
	section is, given identical command ID, I believe, random. Need a
	timestamp for finer granular sorting. That would make the listing much
	more useful because the first is the most important, all others may be
	followup errors.

	* Todo: write a Makefile target for the 3 *.dd files in distroprefs DONE

	* Todo: Storable support for distroprefs DONE

	* Since I fixed the bootstrapping problem of YAML/Expect/ReadLine by
	allowing fallback dd files, I thought that now I would be able to run
	binary searches more often for broken (or unexpectedly fixed) modules.
	My first victim should be DateTime::Format::Strptime. But binary search
	converged towards 2794[123] and it was so obvious from mere watching
	that this turning point was not the Strptime problem but some other
	Params::Validate related problem. P:V 0.86 broke at 27942 and so
	DateTime could not be built and Date::Time::Locale could not be built
	and Strptime could also not pass its tests.

	At some point in time later P:V worked again and so we have this
	eclipse: at 27942 the still working Strptime disappeared in the shadow
	of P:V and when P:V started to work again, Strptime was broken (or was
	it not?). If it broke we cannot see where it broke unless we start
	another higher level view that throws extra patches around.

	The good news is that we can determine the duration of the eclipse of
	P:V: it broke at 27942 and reappeared between 28156 and 28181 (closer
	examination pending).

	Very nice: Strptime worked with 28181 and so we can run another binary
	search between 28181 and 29312. Breakage at 28325 and report sent to P5P

	* why is reuse_old_builddir (sp?) turned off in degraded mode? I think
	there is no good reason. FIXED

	* Observed that the E of DONE is in the second line during "03". Take
	the algorithm in reanimate_build_dir() around line 4175 in all three
	index files. It's easier to read and workd even for @items < 76. DONE

	* display the commandid during the failed command -- just for a while. I
	want to see how big the holes are and if they look plausible. -- They
	have all the same number! FIXED

	* Bug: ~/.cpan/sources/modules is full with backup files FIXED in 1360

	* I just added the decicive line to Makefile.PL so that I can
	conveniently start messing around with CPAN::SQLite support:

	/home/src/perl/cpan-sql-stuff/CPAN-SQLite/.   # (!)

	% make run-with-sqlite
/home/src/perl/repoperls/installed-perls/perl/pDtzfB5/perl-5.8.0@29285/bin/perl -I$HOME/.cpan -Ilib -MCPAN::SQLite -MCPAN::MyConfig -MCPAN -e '$CPAN::Config->{use_sqlite}++; shell'
CPAN: Term::ANSIColor loaded ok (v1.11)

cpan shell -- CPAN exploration and modules installation (v1.8862)
ReadLine support enabled

cpan[1]> d MSCHILLI/Log-Log4perl-1.07.tar.gz                
CPAN: YAML::Syck loaded ok (v0.71)
Going to read /home/k/.cpan/build/
............................................................................DONE
Found 593 old builds, restored the state of 337
Updating database file ...
Can't exec "cpandb": No such file or directory at /home/src/perl/repoperls/installed-perls/perl/pDtzfB5/perl-5.8.0@29285/lib/site_perl/5.9.5/CPAN/SQLite/META.pm line 179.
system cpandb --update failed: -1 at /home/src/perl/repoperls/installed-perls/perl/pDtzfB5/perl-5.8.0@29285/lib/site_perl/5.9.5/CPAN/SQLite/META.pm line 179.
 at lib/CPAN.pm line 276
        CPAN::shell() called at -e line 1


	Uh. Patch rkobes-cpan3.diff backed out. Now I probably know where to start.

	* Integrate freshness into hosts stats. (#17353)

	* Allow dd or st files instead of yml in distroprefs for bootstrapping
	purpose. DONE

	* Todo: avoid ->can everywhere and replace with UNIVERSAL::can. See
	Adriano Rodrigues' bugreport. DONE

	* This looks silly:

	cpan[15]> o conf commit
commit: wrote '/home/k/.cpan/CPAN/MyConfig.pm'
Please use 'o conf commit' to make the config permanent!

	FIXED

	* write a dummy distro that reads arguments to Makefile.PL and another
	one that reads something from STDIN (or maybe both in one) DELAYED until
	the distroprefs stuff leaves the alpha stage.

	* The bug in Strptime is in the "ga" locale. Installing the ga locale on
	my box doesn't solve it. Manana.

	* "I hate Module::AutoInstall". See down under the hr when you ever have
	time.

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

	* BUG: randomize_urllist cannot be set on the shell commandline: because
	it ends in "list", it becomes always an array:))

	FIXED

	* Todo: guess the patch option -p0 or -p1

	DONE

	* distroprefs with artificial intelligence: find out how to write a
	distropref with so much AI that it handles several different dialogues.
	I just realized that YAML::Syck talked me into a different dialogue on
	some older bleadperl that had YAML 0.60 installed:

*** WARNING ***

This release breaks compatibility with versions earlier than version 0.60 of
YAML::Syck and YAML.pm when serializing blessed references.

See the COMPATIBILITY file for more information.

*** Pre-0.60 version of YAML.pm (0.53) detected.
Continue installing YAML::Syck? [y]

	We would like to answer to this question yes if it comes. Or we would
	like to upgrade YAML first.

	One would think that Expect collects data and compares them to a pool of
	regular expressions each of which has an associated answer. As soon as
	one expression matches, its answer is given and it is taken out of the
	pool. On EOF do not even complain. Very similar to what we do now. Is it
	even worth to keep the current interface? Yes, because it has the
	potential to break. Because Expect itself does not provide it. We must
	write some code in between:

	Variant 1: match on /./, look at the whole collected string, do the
	match loop. On success do as we do now, on failure continue as we do
	now. On timeout do like we do now. On EOF exit the loop silently. As
	test write a distro that asks 12 questions in random order and dies if
	the wrong answer is given.

	Variant 2: match on /./ until timeout is reached. Now do your own
	matching. On success do as we do now, on failure give up. One question
	that we cannot answer is too much. There is no timeout error, just a "no
	prepared regex matches the question". On EOF exit the loop silently.

	Variant 2 is much better.

	Today I wrote CPAN-Test-Dummy-Perl5-Make-Expect-1.00.tar.gz for that.

	DONE

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

	* So what does Randy's patch do?

	Disable {read,write}_metadata_cache
	Disable rd_{modlist,modpacks,authindex}
	sub sqlite_reload {
	On 'reload index' it runs its own sqlite_reload
	And 'exists' is patched.
	No patch to all_objects?

	How to use?

	o conf use_sqlite 1

% make run
/home/src/perl/repoperls/installed-perls/perl/peHlG5S/perl-5.8.0@29243/bin/perl -Ilib -MCPAN -eshell
CPAN: File::HomeDir loaded ok (v0.58)
CPAN: Term::ANSIColor loaded ok (v1.11)

cpan shell -- CPAN exploration and modules installation (v1.8861)
ReadLine support enabled

cpan[1]> o conf use_sqlite 1
Warning: unknown configuration variable 'use_sqlite'
    use_sqlite         [1]
Please use 'o conf commit' to make the config permanent!


cpan[2]> m CPAN             
CPAN: YAML::Syck loaded ok (v0.71)
Going to read /home/k/.cpan/build/
............................................................................DONE
Found 593 old builds, restored the state of 343
Updating database file ...
Can't exec "cpandb": No such file or directory at lib/CPAN.pm line 4152.
system cpandb --update failed: -1 at lib/CPAN.pm line 4152.
 at lib/CPAN.pm line 276
        CPAN::shell() called at -e line 1

	OK, let's patch the path to $^X in and retry:

% make run
/home/src/perl/repoperls/installed-perls/perl/peHlG5S/perl-5.8.0@29243/bin/perl -Ilib -MCPAN -eshell
CPAN: File::HomeDir loaded ok (v0.58)
CPAN: Term::ANSIColor loaded ok (v1.11)

cpan shell -- CPAN exploration and modules installation (v1.8861)
ReadLine support enabled

cpan[1]> o conf use_sqlite 1
Warning: unknown configuration variable 'use_sqlite'
    use_sqlite         [1]
Please use 'o conf commit' to make the config permanent!


cpan[2]> m CPAN
CPAN: YAML::Syck loaded ok (v0.71)
Going to read /home/k/.cpan/build/
............................................................................DONE
Found 593 old builds, restored the state of 343
Updating database file ...
Done!
Can't call method "set" on an undefined value at lib/CPAN.pm line 962.
 at lib/CPAN.pm line 276
        CPAN::shell() called at -e line 1


	Hmmm. So Randy wants to have use_sqlite to be set before we enter the
	shell and he wants it only within the shell. This is pretty likely
	wrong.

	Trying to set use_sqlite earlier with a tiny patch to Makefile.PL.
	Doesn't work because CPAN::SQLite loads MyConfig again according to the
	debugger:

	$ = require '/home/k/.cpan/CPAN/MyConfig.pm' called from file `/home/src/perl/repoperls/installed-perls/perl/peHlG5S/perl-5.8.0@29243/lib/site_perl/5.9.5/CPAN/SQLite.pm' line 50

	So we lose the switch again. Back to the drawing board.

	Either I need a way to use CPAN::SQLite without having it guess CPAN.pm
	internals all over the place. Or Randy needs a CPAN.pm that has API
	calls for all the CPAN.pm internals. I cannot allow a plugin that tries
	to reload the Config file and overwriting the Internals that I have
	currently set. This is happening and makes it hard to predict what will
	happen next.

	FIXED by Randy

	* Bug: When I tried to report MSCHWERN/B-Generate-1.06_2.tar.gz, it
	failed but did not try all 43 hosts.

Trying with "/usr/bin/lynx -source" to get
    http://mirror.eunet.fi/CPAN/authors/id/M/MS/MSCHWERN/B-Generate-1.06_2.tar.gz
Error while trying to rename '/home/k/.cpan/sources/authors/id/M/MS/MSCHWERN/B-Generate-1.06_2.tar.gz.tmp13806' to '/home/k/.cpan/sources/authors/id/M/MS/MSCHWERN/B-Generate-1.06_2.tar.gz': No such file or directory
 at lib/CPAN.pm line 267
        CPAN::shell() called at -e line 1

	Lynx again!

	Try
	/usr/bin/lynx -source http://mirror.eunet.fi/CPAN/authors/id/M/MS/MSCHWERN/B-Generate-1.06_2.tar.gz

	They send an error page that looks different than usual

	Fixed in SVK rev. 1298

	* degraded mode problems: I did an 'o conf commit' in degraded mode and
	blew away some config variables. We need a global that disallows commit
	from degraded shells. It would also disallow 'defaults' because that
	would restore the other config variables.

	DONE. But MAYBE we want to tie $CPAN::Config?

	* Bug: ~ expansion missing or warning demanded

	From: Adam Kennedy <cpan@ali.as>
Subject: Re: Trouble installing module: "LWP not available"
To: cpan-discuss@perl.org
Date: Wed, 08 Nov 2006 16:55:21 +1100

Andreas

Speaking of bad configs, I think I might be a good idea to start
adding some basic error checks.

Yesterday I got caught by the various paths not allowing the use of
tilde ~. Instead of my homedir, it installed to a directory called,
literally, "~".

Apart from being a little annoying, fixing it required I make the
scariest command I've ever done on a production system.

rm -rf "~"

:/

Adam K

	DONE in SVK rev. 1290


	* Bug: Still in the code: $pid = open README, "which $binary|" in
	_check_binary().

	Reported as #22893. See also File::Which.

	FIXED in rev.1294

	* "shall I try to run in degraded mode" should not come a second time
	within the same session. Currently it can happen.

	FIXED in SVK rev. 1292

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

	* Buglet: unshift of the recommended URL is not correct because then we
	have it twice in the array FIXED

	* Todo: write a hosts command that sums up what is in FTPstats. Offer
	randomness in the download selection. DONE

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

	* Bug: somebody truncates the FTPstats file when YAML is not installed.
	Hopefully fixed in SVK rev. 1242

	* To: Florian Scharinger <florian@epcc.ed.ac.uk>
Cc: perl-qa@perl.org
Subject: Re: CPAN::Shell->install() downloads dependencies, but doesn't add them to @INC for tests
From: andreas.koenig.gmwojprw@franz.ak.mind.de (Andreas J. Koenig)
Gcc: nnml:sent
--text follows this line--
>>>>> On Wed, 08 Nov 2006 18:13:26 +0000, Florian Scharinger <florian@epcc.ed.ac.uk> said:

  > Hi perl-qa,
  > I'm trying to download missing Perl test modules automatically during
  > build time of my project, by using:

  >  use CPAN;
  >  CPAN::Shell->install("Test::Exception");

  > Test::Exception has dependencies, which the CPAN shell detects correctly:

  > ---- Unsatisfied dependencies detected during
  > [A/AD/ADIE/Test-Exception-0.24.tar.gz] -----
  >     Test::Builder
  >     Sub::Uplevel
  >     Test::Builder::Tester

  > The dependencies are downloaded and built, however, when then running
  > the tests for Test::Exception it doesn't include the path to the just
  > downloaded modules:

	ANSWERED.

	* Bug: 'o conf init urllist' it offered me lots of URLs without trailing
	slash, e.g. ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/CPAN but then
	some other code appended authors/ without inserting the slash:

cpan> reload index
Fetching with LWP:
  ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/CPANauthors/01mailrc.txt.gz
LWP failed with code[404] message[Can't chdir to CPANauthors]
Fetching with Net::FTP:
  ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/CPANauthors/01mailrc.txt.gz
  Couldn't cwd pub/Mirrors/CPANauthors: Failed to change directory.
Fetching with Net::FTP
  ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/CPANauthors/01mailrc.txt.gz.gz
  Couldn't cwd pub/Mirrors/CPANauthors: Failed to change directory.

	FIXED in SVK rev. 1240.

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

	* randy kobes sent two patches--Thanks Randy, I'm swamped with work ATM

	* imacat writes in #22749:

	> I found that CPAN is NOT downloading CHECKSUMS alone with the
  > package file (*.tar.gz) from the SAME source.  This morning when I was
  > updating the newly-updated DBI-1.53, it cannot match CHECKSUMS with
  > DBI-1.53.tar.gz since they came from 2 different sources, and each has
  > its own mirror schedule.  The package file DBI-1.53.tar.gz came from a
  > mirror that has it, but CHECKSUMS came from another that doesn't have it
  > yet.  Shouldn't they be downloaded from the same mirror source?

	[the protocol shows how the fourth host succeeds for
	TIMB/DBI-1.53.tar.gz but CPAN.pm then fetches the CHECKSUMS file from
	the first]

	For young files there is often a short timespan within which there is no
	entry in the checksums file yet, even if they come from the same host.
	As you are always working with very young files, I'm surprised it
	doesn't happen more often to you.

	But in principle you are right, CPAN.pm should try to get checksums file
	from the same host because the likelihood is higher to get an uptpdate
	checksums file.

	sub _ftp_statistics
	sub _new_stats
	sub _add_to_statistics
	sub _recommend_url_for

	And then fill the stats hashref in each of the download methods
	individually:

	method, hosts tried with successmode, time finished, file size,
	timestamp!

	First working version with crappy stats (no nosuccess reflection) now
	tested with a couple of European sites in urllist and running

	!unlink "/home/k/.cpan/sources/authors/id/N/NW/NWCLARK/Acme-Meta-0.02.tar.gz"
	force test Acme::Meta

	in an endless loop looks good.

	Now todo: improve the statistics with above mentioned fields and with
	nosuccess data and actually honour the $file argument to
	_recommend_url_for() when a CHECKSUMS file is requested. Maybe make the
	randomness a selectable feature?

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

	* https://rt.cpan.org/Ticket/Attachment/250710/107655/ is a bug in YAML
	combined with long strings. Would like to see if bleadperl also fails.

	Its parent is https://rt.cpan.org/Ticket/Display.html?id=22134
	
	I've put my findings in there. FIXED.

	* ALERT! A test in YAML turned red with blead??? It turns out that my
	YAML crashes bugs-rt when the URI module is installed and passes all
	tests when the URI module is not installed. The second test in bugs-rt.t
	has "skip_unless_modules: URI". So it's an older bug that I just did not
	see upto now. Bugreport to P5P written.

	* Da fällt mir ein, ich habs kürzlich anders gelöst, wenn du das nächste
  > mal testest, probier mal diese Lösung (mit AnyEvent, sinngemäß gehts
  > auch mit Coro):

  >    BEGIN { $ENV{PERL_RL} = "gnu" } use Term::ReadLine;

  >    my $rl = new Term::ReadLine "cfshell";

  >    my $w = AnyEvent->io (fh => $rl->IN, poll => 'r', cb => sub { $rl->callback_read_char });

  >    $rl->callback_handler_install ("$ARGV[0]> ", sub {
  >       $rl->add_history ($_[0]);
  >    }

  > Allein das $ENV...= läßt mich grausen, aber irgendjemand hat halt
  > entschieden, daß zwei völlig API-inkompatible module nicht getrennt
  > ladbar sein dürfen.

  > Ach ja, zum zwischendurch was ausgeben mache ich:

  >    $rl->crlf;
  >    print ...
  >    $rl->forced_update_display;

  > und beim exit muss man:

  >    $rl->crlf;
  >    $rl->deprep_terminal;

  > machen.

  > -- 
  >                 The choice of a
  >       -----==-     _GNU_
  >       ----==-- _       generation     Marc Lehmann
  >       ---==---(_)__  __ ____  __      pcg@goof.com
  >       --==---/ / _ \/ // /\ \/ /      http://schmorp.de/
  >       -=====/_/_//_/\_,_/ /_/\_\      XX11-RIPE


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

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

	* Faszinating: Coro/eg/readline

2006-11-02  Andreas J Koenig  <akoenig@*c*nm*b*l*.com>

	* Oops! Something changed my
	t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Build-DepeFails-1.02.tar.gz

	!!! Ahh, that explains something! The copy I had here believed to be
	newer and "M", I should have reverted, I suppose.

	* 30shell fails because of missing checksum data after a force get.
	FIXED

	New ideas from Slaven: patch -p0/1/etc might be autodetected

	More match variables like all config variables or $^O ("os"?) and
	perlver.

	Finally: leaving back the .orig files (which I called -g0, why?) only
	when debugging turned on?? I think I'll remove -b and -g0 and use
	$ENV{PATCH_GET}=0 instead. Honorable mention: Text::Patch, unfortunately
	stalled.

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

	* Locking needs to be resolved soonish to enable safe concurrent
	megainstalls and concurrent running shells.

	I want to share the build_dir first because this is currently the most
	dangerous spot. I suppose we can have it by using File::Temp for the
	individual build_dir. We would have to turn off build_dir_reuse for the
	second process (Update 2006-11-17: Why?). Nobody would ever overwrite a
	build_dir. Some guys would remove old directories and this would do no
	harm. Should be done in rev. 1183.

	Even if the second uses the same perl as the first one, we could coexist
	because many commands scan the INC repeatedly. Things we do not scan
	again and again are ???

	historyfile: We would have to set histfile to nil for the second. DONE
	1181

	metadata: we would turn it off for the second. We could
	neither read nor write it safely without locking protocol. DONE 1181

	reading traditional index files: make writing atomic, let the second
	only read them (by setting expiration time to inf). DONE 1181 Actually,
	this was nonsense. the expiration time must not be changed. The user
	wants to read index files from time to time... REVERTED in 1188

	ability to reload index: turn off for the second DONE 1181

	storing/listing local bundles: risk REVISIT LATER

	local directories with the dot: risk REVISIT LATER

	shared source: make it atomic to download (if it isn't yet) DONE 1180

	Different perspective: batch jobs have not had a lock ever since CPAN.pm
	exists. They could break each other on any occasion. Did they write the
	histfile? Seems not so. Timestamp does not change with my tests and it
	does not say "Lockfile removed". Yes, checklock is only called from the
	shell (and from mkmyconfig but this is negligible). REVISIT mkmyconfig

	But they read metadata and shouldn't. Disable! DONE 1181

	And they reuse build_dir. Disable! DONE 1181

	But they MUST read the index files: make writing atomic! DONE 1180

	Is CPAN::FTP::localize doing its storage management atomicly? YES, since 1180

	Todo: consider setting scan_cache to "never" or maybe not.

	* Todo: compare the output of the 'failed' command within megainstall
	and after reentering the shell. DONE and found one bug and fixed it in
	rev. 1178

	* I wanted to watch some scenarios with persistent data. Especially with
	modules that work and that are being tested again and again with prereqs
	and without or within bundles and if they are retested or not, installed
	or not with persistence and within the same session.

	Write a megatest?

	* Wondering why I find this in the build directory in Crypt-CBC-2.22.yml:

  writemakefile: !!perl/hash:CPAN::Distrostatus 
    COMMANDID: 0
    FAILED: ''
    TEXT: YES

	Note the 0 in COMMANDID.

	A: The reason is that we only issued one command with 'make
	megainstall', so this is correct.

	* Does the shell still do locking? Under which circumstances is locking
	turned off? Console/terminal I suppose.

	A: yes.

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

	* just a memo what I usually install:

	    install Bundle::CPANxxl Math::BigInt::GMP Plagger Bundle::Phalanx100 Jifty Coro Getopt::Euclid DBIx::Class IPC::PubSub Bundle::Pause PadWalker Graph::Easy

	YAML::Syck after Bundle::CPAN did not turn off interactivity.

	YAML::Syck before Bundle::CPAN worked well.

	CPAN::Reporter before YAML worked well but we want to catch the early
	YAML interactivity (which in turn can be avoided with YAML::Syck).

	Now all in "make megainstall" including logging.

	* Todo: some capture stuff maybe collected into the YAML files in
	build_dir that contains all relevant output of that distro so we can
	study the nonsense that currently goes on when I do my mega install on
	maint-5.8.

	For some reason some modules failed early in the cycle and then never
	got re-tested. And they broke others which also didn't get re-tested. In
	the end we had a lot of modules uninstalled that would test individually
	well but all refused to re-test without force.
	
	One simple solution was to 'force test Bundle::CPANxxl' but that took
	many minutes again.

	[What's the deal with PathTools? Ahh, the dependency on
	ExtUtils::CBuilder again. I have reported the bug but it is not yet
	fixed. FIXED in Bundle::CPAN by pulling CBuilder to the front,]

	For example the chain broke: CPAN::Checksums -> Data::Compare ->
	File::Find::Rule -> Number::Compare. I could install Number::Compare now
	when I asked for it (without force!), and then the chain could be
	resolved step after step.

	Something's fishy.

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

	* Q: Why is this: during install Bundle::Phalanx100 I get for
	DBD::Oracle a writemakefile NO
	'/home/src/perl/repoperls/installed-perls/perl/pIOeQkH/perl-5.8.0@29165/bin/perl
	Makefile.PL' returned status 65280

	When I leave the shell and start it again and call 'failed' it is gone.

	A: because we did not care for the state safe

	Fixed in rev. 1172

2006-10-30  Andreas J Koenig  <akoenig@*c*nm*b*l*.com>

	* From: "David Golden" <xdaveg@gmail.com>
Subject: CPAN::Reporter and Bundle::CPAN
To: "Andreas J. Koenig" <andreas.koenig.gmwojprw@franz.ak.mind.de>
Date: Mon, 30 Oct 2006 10:04:05 -0500                                           

With CPAN::Reporter 0.29, all the config items are switched over.  The
Todo backlog is still non-trivial, but I don't think any of the items
will cause back-compatibilty problems down the line.  Given that,
please feel free to add CPAN::Reporter to Bundle::CPAN whenever you
have a chance.

David

	* disable PerlMagick

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

	* File::Slurp vs Pod::Coverage. Ticket opened:
	http://rt.cpan.org/Ticket/Display.html?id=22693
	
2006-10-29  Andreas J. Koenig  <andreas.koenig.gmwojprw@franz.ak.mind.de>

	* Need to write build_dir/*.yml files also if reuse is turned off. And
	also when we fail.

	* Need a 'disabled' keyword on distroprefs. The hack to use
	cpanconfig/make=false is both Unix centric and not obvious. ADDED in
	rev. 1159

	* distroprefs is harder to use with build_dir_reuse than before. We now
	need "force get" more often because the old prefs value is in the distro
	object. Force get can mean a network connection, so there's a need to
	decide how we want to deal with that.

	First idea is to remove the prefs from the serialized object but this is
	much worse in case a patch has been applied.

	* new method perl_fingerprint and _is_deeply or so to compare previous
	and current fingerprint. DONE in rev. 1158

	* Math::Pari was definitely broken by blead. Make it a bug report(?)
----Program----
eval {require Math::Pari};
print $@ ? "N/A" : Math::Pari->VERSION;
print "\n";

----Output of .../pAEBdqj/perl-5.8.0@24541/bin/perl----
2.010709

----EOF ($?='0')----
----Output of .../pIwwDvK/perl-5.8.0@24542/bin/perl----
N/A

----EOF ($?='0')----
Need a perl between 24541 and 24542

	This between Ilya and me:

> But bleadperl@29045 doesn't compile with:
> 
> cc -c  -I pari-2.1.7/src -Ipari-2.1.7/src/headers -Ipari-2.1.7/src -I./libPARI -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g   -DVERSION=\"2.010708\" -DXS_VERSION=\"2.010708\" -fPIC "-I/home/src/perl/repoperls/installed-perls/perl/pqbZHKu/perl-5.8.0@29045/lib/5.9.5/i686-linux-64int/CORE"  -DPARI_VERSION_EXP=2001007 -DDEBUG_PARI -DLSB_in_U32=0 -DLONG_SHORTER_THAN_IV -Derr=pari_err Pari.c
> Pari.xs:1219: error: 'XPVCV' has no member named 'xof_off'
> Pari.xs: In function 'XS_Math__Pari_DESTROY':

	xray searching for "Ilya CV attach" finds
	http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2002-02/msg00633.html

	Reading 24542.... Posting to P5P WRITTEN

	Answer received with a pointer to a previous discussion where Nicholas said

	|Assuming it is, in blead upgrading the PVCV to a PVFM and using
	| IV		xfm_lines;
	|instead should work. The structures are equivalent, except that PVFM
	|has that one extra IV at the end.

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

	* think about the locking from a different angle: currently it is
	possible but unsafe to have concurrent access to the .cpan/build
	directory

	* go after the Module::Build errors in Error.pm and Mason: I suspect
	that's the set_perl5lib bug mentioned by Ilya. NO, it was not the
	set_perl5lib bug. The bug is that the two distros use subclassing in
	their Build.PL and so Module::Build's own methods are unable to provide
	the prerequisites. My workaround for now is to fall back to the content
	of META.yml, the bug persists and needs to be discussed with M:B people.

	* write a dummy distro that reads arguments to Makefile.PL and another
	one that reads something from STDIN (or maybe both in one) DELAYED until
	the distroprefs stuff leaves the alpha stage.

	* replace 03 index file with YAML.

	* Todo/buglet: turn on debug "CPAN" and find the reason why
	incommandcolor is quite often not reset. We had that further down but I
	fear it is not yet fixed.

	* H3 Locking: Linda W writes

	>I'm not sure I understand the reason for the lock file
	>placed in cpan_home.  If I have two different architectures
	>with different build directories, I'm not sure I understand
	>where the conflict is -- is it in storing/listing Bundles,
	>the history file, the Metafile or the shared source?
	
	>I can understand private history, but the Bundles aren't
	>updated often, the sources should be fairly static (unless
	>new files are downloaded), The metafile would be updated about
	>once a day (default).
	
	>If the build directories are separate, why would there be a
	>need for locking more in interactive use vs. batch use?

	And I promise to try out a more granular locking mechanism. This was
	between 2006-01-26 and 2006-02-01 (and I wrote a paragraph into the
	manpage how multiple ~/.cpan* directories could work)

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

	* Test if "reuse" works without metadata (timing issues because the
	entries do not exist yet?) No, it doesn't! FIXED in rev 1149

	* Investigate what happens if a user has CPAN 1.8802 and Module::Build
	0.2611 and tries to upgrade to 0.2805. Gabor says, it fails. If it
	fails, I'll have to coin a new phrase for the bug: install suicide? No
	need to worry, ATM it works more or less well, but it doesn't fail
	rightaway. CHECKED after rev. 1149 or so.

	* Rethink if Ilya's expire_old_builds is better the build_dir_reuse in
	that it sets an expiration date. His -1 is my 1. His 0 is my 0. I have
	nothing like his 30. The name of his variable is not good in that one
	could believe that setting expire_old_builds==0 might mean to do NOT
	expire them at all. Hmm. I think my build_dir_reuse is good enough.

	* Todo: invent a test for build_dir_reuse. It should construct a YAML
	file before test start that will then be picked up and lead to some
	"already in..." which we test for. And then we use force to actually get
	that distro. Or we do that for an inexistent distro so that we do not
	have to rewrite the test after each new release? DONE in rev. 1152

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

	* Todo: if the user does not want to install a module (say a
	build_requires), give him options to use the already tested module even
	after he has left the shell.

	Ilya seems to say, people do NOT want to install a number of modules
	because they are not yet sure if they really need them. But they have
	tested them and have them still lying around in their ~/.cpan/build
	directory. So we should give them a chance to use them next time they
	come around with the same perl.

	DONE in rev. 1140 with build_dir_reuse

	* Todo: put the distro ID close to the OK or NOT OK line DONE in rev.
	1136 or so.

	* What was the deal with

Package 'CPAN' already declared with version '1.88_57'
ignoring new version ''.
Looks good

	again?

	http://www.mail-archive.com/module-build@perl.org/msg00340.html

	* Since DBI is fixed I see other interesting breakages: Class::DBI,
	RPC::PlServer, GD.

	GD fails with 5.8.8 and 5.8.3

	Class::DBI fails with 5.8.8

	RPC::PlServer fails with 5.8.8 and 5.8.3 but only if Crypt::DES is
	installed

	OK, so nothing new.

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

	* Coro 2.0 works with bleadperl Yay! YAML for Coro with default answers
	written.

	* bug with notest pragma: it seems to remain in the distro object. I did
	a report DAGOLDEN/CPAN-Reporter-0.28_51.tar.gz, then I did a "notest
	install" on it. Then I reloaded and tried a "report" on it again and
	CPAN refused to run the test because of the notest pragma.

	FIXED in rev. 1132 but what is a good test for it? test WRITTEN in 1133.

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

	* The ->VERSION bug was back for a short while. It happens when
	version.pm is not installed and Module::Build loads its own version.pm
	from <data>. There it finds 0.661 and this does something that isn't
	fool proof, very hard to diagnose and to reproduce. Easy workaround: do
	not check for Module::Signature->VERSION anymore. The test was on 0.26
	and we now have 0.55, so I guess, I can remove the version test.

	As soon as I have means to not call into Module::Build, this bug will
	diappear for sure, so no need to hunt it down from here. FINISHED in
	rev. 1123

	So recall: one can turn off sig_check, then install version, then leave
	and enter CPAN.pm and the bug should disappear. Or we release 1.88_57
	now. Update: I released 1.88_57 immediately after that.

	* SMPETERS fixed DBI-1.52. Thank you! YAML for DBI with patch address
	written

2006-10-23  Andreas J Koenig  <akoenig@iconmobile.com>

	* make a list of cpanconfig variables that can be changed via
	distroprefs. Extend the list and document it, so that people can look it
	up and do not have to read the source and can file bug reports against
	it.

	I fear for example that the preferred builder is not configurable(?)
	latter half FIXED in rev. 1124

	First half done with rev. 1125

	* Write an executive summary of the state of affairs wrt. distroprefs so
	we can decide about future directions. Update the README file to better
	outline the executive summary. Update the examples to better reflect our
	powers and weaknesses.

	What we have:

	- Give the user a simple system to store per-distro preferences related
	to environment variables, commandline args and stdin for the four
	commands of our traditional mantra: perl Makefile.PL, make, make test,
	make install (and symmetrically for M:B modules)

	- Give the user the option to patch distros with arbitrary patches from
	local disk or CPAN

	What we aim at:

	- Give the users a simple means to exchange their preferences to reduce
	the overhead of maintaining them. As it currently stands, those YAML
	files devaluate quickly as new distros arrive.

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

	* release a 1.8802 with the HTML::Mason workaround? Because it may take
	a while until 1.89 is ready to go. DONE in rev. 1120

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

	* Todo: gzipped patches; DONE in rev. 1103

	* patches that are not separate files but live in the YAML file? REJECT
	unless somebody requests it.

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

	* add CPAN::Reporter to Bundle::CPAN (which version of CPAN.pm needs
	CPAN::Reporter currently? -- 1.88) WAITING for OK from David Golden

	* Tina suggests: if the user has changed some config variable via 'o
	conf' mechanism and has not yet saved the new config via 'o conf commit'
	and is leaving the shell without saving, we could trigger a dialog.
	#22396 talks about this.

	After some thinking: maybe I prefer just a loud warning instead of a
	hanging terminal. Hmmm.

	This is a critical/showstopper thing because people perceive it as a
	bug. rev. 1114 FIXES

	* Todo: find out the remaining relevant pieces of Ilya's patch:

	(1) better logging (maybe with the help of CPAN::Reporter?) I said below
	that we have colors now, but fact is that you have to scroll back and if
	you install 100 modules, you cannot investigate without disturbing the
	process. One would like to study STDOUT and STDERR in a separate window.

	(2) "cpantok#" keep some test OK state between sessions. I see no strong
	need for this ATM.

	* just a memo what I usually install:

	    o debug CPAN Distribution
	    install YAML::Syck Expect YAML Bundle::CPAN Module::Signature CPAN::Reporter Math::BigInt::GMP Plagger Bundle::Phalanx100 Jifty

	YAML::Syck after Bundle::CPAN did not turn off interactivity.

	YAML::Syck before Bundle::CPAN worked well.

	CPAN::Reporter before YAML worked well but we want to catch the early
	YAML interactivity (which in turn can be avoided with YAML::Syck).

	* as long as HTML::Mason/Module::Build are broken, we should use
	Bundle::HTML::Mason? Alas, it doesn't list HTML::Entities. And after
	that it still fails on 07-interp.t. Ah, ok. Report sent. But can we
	patch it? DONE

	* Maybe add support for more CPAN::Config variables in distroprefs

	* Todo: document the trailing dot and that it is useful in a Bundle file
	and that there is a LOCAL.trailing_dot_distros.yml in the distroprefs
	directory. DONE in rev. 1093

	* Todo: extend patch ability to files from CPAN to be downloaded on the
	fly DONE in rev. 1089

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

	* highest prio: patches. Easy to test with an example against one of my
	failing dummy distros. DONE in rev. 1086

	* add 'perl' to the matches stuff of distroprefs DONE in rev. 1087

	* When we have support for patches and apply patches, we should also
	disable reporting through CPAN::Reporter. DONE in rev. 1088

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

	* Ilya's patch

	svn cp -r 131 https://pause.perl.org:5460/svn/cpanpm/trunk https://pause.perl.org:5460/svn/cpanpm/branches/1.76-ilya200610

	https://pause.perl.org:5460/svn/cpanpm/branches/1.76-ilya200610 now lives in

	/home/k/sources/CPAN/SVN-branches/1.76-ilya200610/

	and the patch is applied and checked in. Ready for studying.

	Original discussion: google groups for prerequisites_policy expire_old_builds.

	Today I would suggest

	(1) prio 1!: organize patching into distroprefs, full path within the
	YAML file seems acceptable (DONE)

	(2) organize logging into distroprefs via redirection (might be easy but
	prio low because we have colors now)

	(3) keep the new meaning of the trailing dot, it does not interfere with
	patching as it is for *personal* distrodirectories (make sure it works
	with local bundles! (DONE[it did already])). For local distros one does
	not need patching (and if you do, you know what you're doing).

	(4) mark_tested_ok is similar to distcc and could probably be
	implemented as such. The time consuming step on perl distros is 'make
	test' and that makes it very complicated. One would need a checksum of
	perl AND all used modules during the test. Like for example File::Slurp
	failing with current combination of perl and Test::Pod::Coverage but
	succeeding without T:P:C

	Poor man's variant of it may be one that works only with a perl checksum
	or mtime as Ilya did. Still seems outside the scope of CPAN.pm but
	should be supported once it works outside with simple mantra.

	For now, distroprefs give you a different 'make' command for a
	permanently-known-to-be-tested module, that might be just 'true' on UNIX
	or something to do with distcc-like solution.

	That might be annoying if one works with different perls and want to
	have different modules marked as tested_ok. Maybe we need to add "perl"
	into the "match" structure? (Yes!) (DONE)

	(5) Faszinating is the idea to leave the shell and come back into the
	same state of already tested but uninstalled modules. But why are they
	not installed? Hrm, maybe because once installed, nobody will re-test
	them? Need further arguments.

	(6) install_tested is the normal default when running 'install' instead
	of 'test'. What's the deal?

	(7) containsdists is implemented but nowhere used, so what?

	(8) I have not yet understood the distinction between force_test and
	force_update and the call $self->test('install') seems bogus.

	* just a memo what I usually install:

	    o debug CPAN Distribution
	    force install Expect
	    install YAML Bundle::CPAN Module::Signature CPAN::Reporter Math::GMP Math::BigInt::GMP Plagger Bundle::Phalanx100 Jifty

	YAML::Syck after Bundle::CPAN did not turn off interactivity.

	YAML::Syck before Bundle::CPAN worked well.

	CPAN::Reporter before YAML worked well but we want to catch the early
	YAML interactivity (which in turn can be avoided with YAML::Syck).

	* From David Golden forwarded rt.cpan.org #20979

     head -13 C:/vanilla-perl/perl/lib/CPAN/Config.pm|tail -1
     'cpan_home' => q[C:\vanilla-perl\.cpan\],

		 The trailing backslash escapes the delimiter and creates a syntax
		 error. This is always reproducable for the latest release of CPAN:

	FIXED in rev. 1071.

	* In case somebody asks again, this is from Test::Harness 2.62

+2.62 Thu Jun  8 14:11:57 CDT 2006
+    [FIXES]
+    * Restored the behavior of dying if any subtests failed.  This is a
+      pretty crucial bug that I should have fixed long ago.  Not having this
+      means that CPANPLUS will install modules even if their tests fail. :-(
+

	This came into blead @28384.

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

	* Add Jifty to your regular testing.

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

	* Need to look after Math::Pari's errors DONE: 

	#ifdef LONG_SHORTER_THAN_IV
  #  error "LONG_SHORTER_THAN_IV not implemented"

	seems to be related to -Duse64bitint. Report to Ilya sent.

	* First thought: it would be cleaner if you just didn't pass any distro
  > with LOCAL as the author to CPAN::Reporter.  I'd rather leave the
  > logic of when CPAN::Reporter should be invoked to CPAN.pm.  (E.g.
  > Expect scripts)

	Good. I'll make that then.

	DONE in rev. 1061

	* More files to be marked with svn:ignore. DONE in rev. 1063

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

	* two distroprefs files were in 1.88_55 but not in SVN:-( must write
	some code that prevents this bug from happening again.

	Snag is that ChangeLog, META.yml, SIGNATURE, and
	t/CPAN/authors/id/A/AN/ANDK/NotInChecksums-0.000.tar.gz are not intended
	to be checked in. --> svn:ignore DONE

	* new maint-5.8:
drwxr-xr-x  34 k k     8192 Oct 15 21:38 perl-m-5.8.0@29022/
drwxr-xr-x  35 k k     8192 Oct 15 21:19 perl-p-5.8.0@29023/

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

	* Investigate what's going on with Crypt::DH and Net::SSH::Perl. Both
	seem to hang during the tests. Might be a GMP issue. We must pull GMP to
	the front, otherwise Math::Bigint takes all the time (I suppose). Hrm,
	the DH test ran over hours even with GMP (but I'm not sure yet, need to
	make the observation control tighter).

	* Feature request by Slaven: build a patched thing. Reminds me of Ilyas
	words about something involving patches. Maybe (1) if the argument ends
	with a dot, it is a local directory: go there and build. (DONE in rev.
	1056) Maybe (2) keyword patch in distroprefs. (DELAYED indefinitely)

	* new maint-5.8:
	drwxr-xr-x  34 k k     8192 Oct 14 23:48 perl-m-5.8.0@29014/
	drwxr-xr-x  35 k k     8192 Oct 14 23:30 perl-p-5.8.0@29015/

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

	* Test installing Plagger with saying yes to all dependency questions.
	Needs 63 times "Y\n" :-) => say --defaultdeps instead of --installdeps=y
	DONE in rev. 1038

	* Add support for all(?) other CPAN::Config variables. Maybe by turning
	them all into methods in CPAN::Distribution, maybe via autoload, maybe
	with clever use of local(). Currently only "make",
	"make_install_make_command", and "build_requires_install_policy" are
	supported. The first two for PDL on freebsd, the last one was just for
	quick testing of the mechanism. Added test_report around rev. 1061

	* Randy Kobes' CPAN-Search-Lite lives at
	http://sourceforge.net/cvs/?group_id=101571 and on my local disk at
	/home/src/perl/cpan-search-lite/CPAN-Search-Lite. As it needs DBI, it
	cannot use bleadperl. Latest maint-perl is 28854.

	AI::Categorizer needed by t/basic.t, not listed as prereq. Needs in turn
	(unlisted?) Algorithm::NaiveBayes. Bug report to Ken sent.

	Warning: prerequisite Config::IniFiles 0 not found.
	Warning: prerequisite DBD::SQLite 0 not found.
	Warning: prerequisite File::Listing 0 not found.

	DBD::SQLite did not compile on the first try. But it did on the second.
	I think in between I installed libsqlite0-dev.

	Trying make test.

	No again: I have no Lingua::StopWords:=(
	No SOAP::Lite
	No Perl::Tidy
	No HTML::TextToHTML
	No Pod::Xhtml
	No XML::SAX::ExpatXS

	Finished installing prereqs, all tests except Mysql pass which is OK.
	(mysql fails for me only because my mysql has no password and you cannot
	specify on the commandline that it has no passwd. You can only specify A
	password but it must not be empty)

	make install is OK.

	First invocation of the indexer with

	/home/src/perl/repoperls/installed-perls/maint-5.8/pjTSIuN/perl-5.8.0@28854/bin/csl_index --config /home/src/perl/cpan-search-lite/cpan.conf --setup
Using config file "/home/src/perl/cpan-search-lite/cpan.conf"
Cannot retrieve /home/src/perl/cpan-search-lite/indices/ls-lR.gz from file:///home/ftp/pub/PAUSE/indices/ls-lR.gz at /home/src/perl/repoperls/installed-perls/maint-5.8/pjTSIuN/perl-5.8.0@28854/lib/site_perl/5.8.8/CPAN/Search/Lite/Index.pm line 198.

	Ouch, ls-lR.gz is used for what exactly? That's pure funet. I fetch it
	from there. It's huge (2.4M)! How often do they update it?

	/home/src/perl/repoperls/installed-perls/maint-5.8/pjTSIuN/perl-5.8.0@28854/bin/csl_index --config /home/src/perl/cpan-search-lite/cpan.conf --setup
Using config file "/home/src/perl/cpan-search-lite/cpan.conf"
Cannot retrieve /home/src/perl/cpan-search-lite/MIRRORED.BY from file:///home/ftp/pub/PAUSE/./MIRRORED.BY at /home/src/perl/repoperls/installed-perls/maint-5.8/pjTSIuN/perl-5.8.0@28854/lib/site_perl/5.8.8/CPAN/Search/Lite/Index.pm line 198.

	Gotta get this mirroredby file as well...

	% /home/src/perl/repoperls/installed-perls/maint-5.8/pjTSIuN/perl-5.8.0@28854/bin/csl_index --config /home/src/perl/cpan-search-lite/cpan.conf --setup
Using config file "/home/src/perl/cpan-search-lite/cpan.conf"
Argument "0.20a" isn't numeric in numeric comparison (<=>) at /home/src/perl/repoperls/installed-perls/maint-5.8/pjTSIuN/perl-5.8.0@28854/lib/site_perl/5.8.8/CPAN/Search/Lite/Util.pm line 274.
	[...]

	Ah, it's quite fast.
	

	* write a dummy distro that reads arguments to Makefile.PL and another
	one that reads something from STDIN (or maybe both in one) DELAYED until
	the distroprefs stuff leaves the alpha stage.

	* Measure kwalitee with Module::CPANTS::Analyse before uploading. That
	way we can catch bugs in M:C:A itself or in its dependencies. DELAYED
	because currently M:C:A doesn't pass its own tests.

	* write a test with new dummy modules PrerecqurseI and II (or CircDep?)
	Take t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make as the
	source and
	t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-CircDepeOne as
	target. DONE in rev. 1031

	* Schwern reopened 21144. Go resolve, I have promised before the next
	release. FIXED in rev. 1016 and 1018

2006-10-13  Andreas J Koenig  <akoenig@*c*nm*b*l*.com>

	* Slaven want direct support for $Config->{make} and
	make_install_make_command so that it can be set to gnumake for PDL on
	freebsd. DONE in rev 1015

	* Slaven says that no user knows the distroname as well as the module
	name. ==> Change the prefs hash structure. "qr" shall be replaced by
	"match" and contain "module" and/or "distro" which are ANDed conditions
	and each may contain a regex. We probably will rename all distroprefs
	files too. DONE in rev. 1013/14

2006-10-13  Andreas J Koenig  <akoenig@*c*nm*b*l*.com>

	* always check if *c*nm*b*l* has crept into the Todo file!

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

	* check the version numbers since we rolled over rev. 1000. DONE, is OK

	* Fix what podcover found: prefs and yaml_loadfile DONE.

	* See if YAML::Tiny works and if so, mention it in FirstTime and maybe
	make it the default?? Doesn't seem to work out of the box. DONE and
	documented in FirstTime.

	* I hate Module::AutoInstall. Watching installation of Plagger:

  CPAN.pm: Going to build M/MI/MIYAGAWA/Plagger-0.7.13.tar.gz

make[1]: Entering directory `/home/k/.cpan/build/Plagger-0.7.13'
/home/src/perl/repoperls/installed-perls/perl/p4tTru3/perl-5.8.0@29004/bin/perl "-Iinc" Makefile.PL --config= --installdeps=File::Find::Rule,0,UNIVERSAL::require,0.1,Template,2.13,Template::Provider::Encoding,0.04,Text::Tags,0,DateTime::Format::Strptime,0,URI::Fetch,0.071,Cache::Cache,1.04,Module::Pluggable::Fast,0,HTML::ResolveLink,0,Date::Parse,0,MIME::Types,1.16,Net::DNS,0,XML::Feed,0.12,XML::Atom,0.23,Term::Encoding,0,XML::Liberal,0.14,XML::RSS::Liberal,0,HTML::Scrubber,0,XML::Feed,0.09,XML::Atom,0.20,HTML::Scrubber,0,Time::Duration::Parse,0,WebService::Bloglines,0.11
CPAN: File::HomeDir loaded ok (v0.58)
*** Installing dependencies...

	Holy crap! Recursive installation where we are just eager to maintain a
	clean and efficient queue of installation objects and could do it
	ourselves so easily? And besides that, the INC path is not our INC path,
	so I always get a different CPAN version. While the latter is only
	disturbing a minority, it's a BUUUUUUG to go recursive.

	Not only does it cost memory, this child is also uninformed about failed
	installations!

	This needs to be fixed.

	The manpage of M:AI says it checks if it is running under CPAN.pm. Maybe
	this check is wrong? Apparently yes.

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

	* restructure the prefs YAML files to have cpanconfig as key and all
	CPAN.pm configs inside that. That gives room to cpanplus. DONE

	* why did MIYAGAWA/XML-Atom not work? -- Because it asked us twice but
	our yaml file only answered once FIXED.

	* improve feedback when you pick a file for prefs settings, maybe store
	the picked yaml file in the distro object. DONE.

	* test if you can get around single modules by specifying
	prefs->{make}{nosuchtarget}. Interesting for MailTools or DBI in current
	bleadperl. EXACTLY! (and tested)

	* test if the Test-Deep setting of brip works. DONE

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

	* F/FD/FDALY/Test-Deep-0.096.tar.gz is just needed temporarily during building or testing. Do you want to install it permanently? (Y/n) [no] 

	* BTROTT/Crypt-DSA-0.14.tar.gz

==> Auto-install the 1 optional module(s) from CPAN? [n] 
==> Auto-install the 1 optional module(s) from CPAN? [n] 

	* PETDANCE/WWW-Mechanize-1.20.tar.gz

Do you want to install the mech-dump utility? [y] 

	* ABW/Template-Toolkit-2.15.tar.gz

Do you want to build the XS Stash module? [y] 

+ about 9 questions

	* BYRNE/SOAP-Lite-0.69.tar.gz

Press <enter> to see the detailed list.  

Do you want to proceed with this configuration? [yes] 

Do you want to perform these tests in addition to core tests? [no] 

	* RCAPUTO/POE-0.38.tar.gz

Would you like to skip the network tests?

(Any text other than Y or y will be taken as a no) [n] 

	* DBROBINS/Net-SSH-Perl-1.30.tar.gz asks

Which protocol(s) do you plan to use? [3] 
Enter your choices, separated by spaces: [1] 
Would you like to install it? (y/n) [y] 
Would you like to install it? (y/n) [y] 

	* ILYAZ/modules/Math-Pari-2.010706.tar.gz asks

Make sure you have a large scrollback buffer to see the messages.
Fetch? (y/n, press Enter) 

	* INGY/Inline-0.44.tar.gz asks for

Do you want to install Inline::C? [y] 

	* EESTABROO/IMAP-Admin-1.6.4.tar.gz asks me for...

Enter server: 
Enter login: 
Enter password: 
Test using SSL(y/n)? 
Test using CRAM(y/n)? 
Enter Port#: 

	* NIKIP/Authen-PAM: asks me for a password during testing and I enter
	"testing". Maybe I should enter exactly what he demands?

	* GBARR/perl-ldap-0.33 and ExtUtils::AutoInstall. Read source code. Same
	for GBARR/Authen-SASL-2.10 DONE

	* CHAMAS/SSLeay: the first distro that shows us that Expect needs a
	debugging aid. Maybe fixed in rev. 998 or so

	* Interesting bug occurred with current maint when I tried to upgrade
	everything. PathTools failed and I see this:

	cpan[3]> d  KWILLIAMS/PathTools-3.22.tar.gz 
Use of uninitialized value in sprintf at lib/CPAN.pm line 4258.
Distribution id = K/KW/KWILLIAMS/PathTools-3.22.tar.gz
    CPAN_USERID  P5P (The Perl5 Porters Mailing List <perl5-porters@perl.org>)
    CALLED_FOR   File::Spec
    CHECKSUM_STATUS OK
    CONTAINSMODS Cwd File::Spec File::Spec::Cygwin File::Spec::Epoc File::Spec::Functions File::Spec::Mac File::Spec::OS2 File::Spec::Unix File::Spec::VMS File::Spec::Win32
    UPLOAD_DATE  2006-10-10
    archived     tar
    build_dir    /home/k/.cpan/build/PathTools-3.22
    incommandcolor 0
    localfile    /home/ftp/pub/CPAN/authors/id/K/KW/KWILLIAMS/PathTools-3.22.tar.gz
    make         NO
    modulebuild  1
    prereq_pm    build_requires requires
	  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    prereq_pm_detected 1
	  ^^^^^^^^^^^^^^^^^^^^
    reqtype      c
    unwrapped    YES
    writemakefile YES
    yaml_content 

	But I cannot reproduce it. So I must have upgraded something that caused
	the bug. REVISITED after 1.88_54 and FIXED in 1043.

	* Since when fails a YAML test? 0.62 with blead @28990 fails today on
	rt-bugs.t or so. Reported to P5P. RESOLVED in blead @28997.

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

	* put the distroprefs directory into MANIFEST. DONE in rev. 993

	* DistroPrefs:

	Variable           Comment                      Done in file

  pl env                                          DBROBINS.Net-SSH-Perl.01.yml
     args                                         GAAS.libwww.01.yml
     expect                                       JJORE.Carp-Clan.01.yml
  make env
       args
       expect
  test env           Tk-Getopt(BATCH=1)           SREZIC.Tk-Autoscroll.01.yml
       args
       expect        ReadLine                     ILYAZ.Term-ReadLine-Perl.01.yml
  install env
          args
          expect
	cpanconfig:
    build_requires_install_policy                 FDALY.Test-Deep.01.yml


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

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

	* Nice to have: CPAN::MyDistroPrefs to store arguments and expect
	scripts to Makefile.PL/make/test/install based on regexes being matched
	against the distroname. (think libwww, ReadLine, perl-ldap, Apache-Test,
	and always questions from Module::AutoInstall, Carp::Clan asks if I want
	a prereq for testing from Makefile.PL, Net::DNS ask if I want to run
	tests over the internet, mod_perl or Apache::Test asks me for the apache
	executable, Authen-PAM asks me for a password, Module::Signature asks
	for importing the key)

	Name? DistroPrefs is good. Customize is not so good because one would
	expect that it is related to 'o conf'. Distro must be in the name.
	DistroCustomize is too long so DistroBuildEnv seems completely out of
	band. Only Prefs is tempting but again too easily confusable with 'o
	conf' stuff. Something completely different? Its about Env, Args, Stdin.
	BuildInput? Distrinput? Distrin? No. DistroPrefs the long word, prefs
	the short one. 'reload prefs' might be a command if we need it at all.

	ALL DONE in rev. 1015; well, left in alpha state

	* Todo/buglet: turn on debug "CPAN" and find the reason why
	incommandcolor is quite often not reset.

	First example is "Net::Stomp" with a prereq of Class::Accessor::Fast.
	After it and its prereq are installed, the module Class::Accessor::Fast
	and the distro K/KA/KASEI/Class-Accessor-0.25.tar.gz are both still in
	command state.

	So it's something with follow_prereqs.

	Seems to be fixed with rev. 980 but needs to stay on the watchlist

	No, I just tried Bundle::Phalanx100 and the majority of modules was in
	commandcolor and many were neither installed nor reported as failed, so
	the rev. 908 may be buggier than we ever were?? Maybe its just the "run
	it twice" problem due to late dependency resolving. Oh and watch the
	ugly bug that shows up when makeing Mason!

	AHHHH, that is fixable with eval! FIXED in rev. 981.

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

	* Todo: clean up XXX

	* automatic testing? Is it anywhere documented what the impacts of
	$ENV{AUTOMATED_TESTING} are?

	* new keyword capture? CPAN::Reporter does not know the output of the
	commands before "test" and cannot report about compilation failures.
	This looks like a major flaw to me:-(

	* E1: Nice to have: make YAML vs. YAML::Syck switchable. Another
	advantage would be that we could remove YAML from the Bundle. DONE rev. 986

	* reload cpan should be based on timestamps. Fixed in rev. 979

	* Bug via Bundle::Phalanx100? Shortly after perl-ldap-0.33 I see 

Unknown require type for 'G/GB/GBARR/Convert-ASN1-0.20.tar.gz', setting to 'r'. This should not happen and is construed a bug.

	Later:
	
Unknown require type for 'A/AG/AGROLMS/GSSAPI-0.23.tar.gz', setting to 'r'. This should not happen and is construed a bug.

	Todo: see after it. I think it's AutoInstall.

	Fixed in rev. 979

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

	* Bug: cpan[15]> install File::Copy::Recursive                   
Running install for module File::Copy::Recursive
Running make for D/DM/DMUEY/File-Copy-Recursive-0.28.tar.gz
  Is already unwrapped into directory /home/k/.cpan/build/File-Copy-Recursive-0.28
  Has already been processed within this session
Running make test
Prepending /home/k/.cpan/build/File-Copy-Recursive-0.28/blib/arch /home/k/.cpan/build/File-Copy-Recursive-0.28/blib/lib to PERL5LIB.
Sorry, test with a regular expression is not supported
Running test for module File::Copy::Recursive
Running make for D/DM/DMUEY/File-Copy-Recursive-0.28.tar.gz
  Is already unwrapped into directory /home/k/.cpan/build/File-Copy-Recursive-0.28
  Has already been processed within this session
Running make test
Prepending /home/k/.cpan/build/File-Copy-Recursive-0.28/blib/arch /home/k/.cpan/build/File-Copy-Recursive-0.28/blib/lib to PERL5LIB.
Refusing to autoload 'test' 'CPAN::Distribution=HASH(0x9b6ff30)' '/usr/bin/make test' in recursion
  /usr/bin/make test -- NOT OK
Running make for D/DM/DMUEY/File-Copy-Recursive-0.28.tar.gz
  Is already unwrapped into directory /home/k/.cpan/build/File-Copy-Recursive-0.28
  Has already been processed within this session
Running make test
  Won't repeat unsuccessful test during this command
  /usr/bin/make test -- OK
Running make install
Installing /usr/local/perl-5.8.8/lib/site_perl/5.8.8/File/Copy/Recursive.pm
Installing /usr/local/perl-5.8.8/man/man3/File::Copy::Recursive.3
Writing /usr/local/perl-5.8.8/lib/site_perl/5.8.8/i686-linux-64int/auto/File/Copy/Recursive/.packlist
Appending installation info to /usr/local/perl-5.8.8/lib/5.8.8/i686-linux-64int/perllocal.pod

	What I had done was to install CPAN::Reporter but forgot the sudo for
	make. Then I added the sudo to make_install_make_command and did a
	'force get' and then the above. The install was successful in the end
	but the "Sorry" message was written in red and completely bogus and
	together with the 'Refusing to autoload' message was frightening.

	Showstopper!

	Trying to reproduce by setting both m*_install_*_command variables to
	"false", then install CPAN::Reporter. This gives a long list of failed
	installs at the end. Then 'install File::Copy::Recursive' works as
	expected: already tried without success. Then 'force get F:C:R' works as
	expected. And then again 'install File::Copy::Recursive' works as
	expected: tests again and tries to install.

	Shhhhhhh, so I cannot reproduce this, something must have been different.

	GIVEN UP: this did not show up again in any test

	* Who broke libwww recently?

	local/http-get........ok 1/20Use of uninitialized value in numeric eq (==) at local/http-get.t line 167, <DAEMON> line 1.
local/http-get........FAILED test 5                                          
        Failed 1/20 tests, 95.00% okay
local/http............ok 1/18Use of uninitialized value in numeric eq (==) at local/http.t line 158, <DAEMON> line 1.
local/http............FAILED test 5                                          
        Failed 1/18 tests, 94.44% okay


# HTTP/1.1 200 OK
# Date: Sat, 07 Oct 2006 04:16:57 GMT
# Server: libwww-perl-daemon/1.36
# Content-Type: text/html
# Last-Modified: Sat, 07 Oct 2006 03:29:15 GMT
# Client-Date: Sat, 07 Oct 2006 04:16:57 GMT
# Client-Peer: 192.168.0.75:45978
# Client-Response-Num: 1
# Title: En prøve
#
# <html><title>En prøve</title>
# <h1>Dette er en testfil</h1>
# Jeg vet ikke hvor stor fila behøver å være heller, men dette
# er sikkert nok i massevis.
not ok 5 # content_length=0


HERE [html] at ../blib/lib/LWP/MediaTypes.pm line 70.
size[0]mtime[1160191755] at ../blib/lib/HTTP/Daemon.pm line 531.

	Daemon.pm:
	sysopen(F, $file, 0) or 
	  return $self->send_error(RC_FORBIDDEN);
	binmode(F);
	my($ct,$ce) = guess_media_type($file);
	my($size,$mtime) = (stat _)[7,9];

	Tracked and reported to P5P. FINI.
	
	* Todo: Write a new test: If one prerequisite doesn't pass its tests, we
	sure want to test the dependent module but it must not be installed. I
	have no example at hand.

	First continue fixing dummy-Build and dummy-Make distros (and maybe
	more), then make one that is depending on dummy-Fails. DONE in rev. 973

	And write the new test for it. DONE in rev. 975
	
	* Gabor reports #21692: how to reproduce? Just get a 5.8.7 and call
	upgrade on it. No, take a 5.8.8 and silently replace B::Concise with the
	5.8.7 one. OR: take some maint-5.8 short before 5.8.8! Where to find the
	patch number for 5.8.8? Module::CoreList!

	% perl -MModule::CoreList -le 'use Data::Dumper;print Dumper(\%Module::CoreList::patchlevel);' 
	[...]
          '5.008008' => [
                          'maint-5.8',
                          27040
                        ],

	Paging through diff files in APC/5.8.1/ reveals: 25914 updated
	PPPort.pm, 26929 Pod::Simple, 26985 Archive::Tar, 26988 Pod::Man, so I
	expect 26984 a good test candidate.

	My current 26984 replies to "r" command with....no 5.8.8?

	Strange! Why no 5.8.8? Ahhh, because it had no Archive::Tar and Pod::Man
	is on podlators 2.0.5.

	Trying 26876: no good.

	26727: Good! 26727 wants to upgrade Dumpvalue and bring it ot
	perl-5.8.8. I upgrade everything in 26727 except for Dumpvalue. Being
	time consuming, this needs a backup generated with

	tar cvzf p-26727plus-near-588.tar.gz installed-perls/maint-5.8/pbyWflA/perl-5.8.0@26727

	Gabor requests less noise, otherwise he consideres behaviour correct.
	Hrm, think about it...

	FIXED in rev. 963.
	
	* Bug: during 'o conf defaults' I get

Debug(HandleConfig,HandleConfig.pm,95,[Shell,CPAN.pm,1401,edit]): self[CPAN::HandleConfig]args[defaults]
Can't locate CPAN/MyConfig.pm in @INC (@INC contains: _build/lib _build/lib _build/lib _build/lib /home/k/sources/CPAN/SVN/lib /home/src/perl/repoperls/installed-perls/perl/pGHVCgA/perl-5.8.0@28914/lib/5.9.4/i686-linux-64int /home/src/perl/repoperls/installed-perls/perl/pGHVCgA/perl-5.8.0@28914/lib/5.9.4 /home/src/perl/repoperls/installed-perls/perl/pGHVCgA/perl-5.8.0@28914/lib/site_perl/5.9.4/i686-linux-64int /home/src/perl/repoperls/installed-perls/perl/pGHVCgA/perl-5.8.0@28914/lib/site_perl/5.9.4 /home/k/sources/CPAN/SVN) at (eval 512) line 1, <GEN331> chunk 1.
Use of uninitialized value within %INC in concatenation (.) or string at /home/k/sources/CPAN/SVN/lib/CPAN/HandleConfig.pm line 285.
'' reread

	Fixed in rev. 958

	* Bug: cpan[4]> install CPAN::Reporter
Running install for module CPAN::Reporter
Running Build for D/DA/DAGOLDEN/CPAN-Reporter-0.24.tar.gz
  Is already unwrapped into directory /home/k/.cpan/build/CPAN-Reporter-0.24

  CPAN.pm: Going to build D/DA/DAGOLDEN/CPAN-Reporter-0.24.tar.gz

Creating custom builder _build/lib/Module/Build/WikiDoc.pm in _build/lib/Module/Build
Checking whether your kit is complete...
Looks good

Checking prerequisites...
Package 'CPAN' already declared with version '1.87_64'
ignoring new version ''.
 - ERROR: IO::CaptureOutput is not installed
 - ERROR: File::Copy::Recursive is not installed
 - ERROR: CPAN (1.87_64) is installed, but we need version >= 1.88

ERRORS/WARNINGS FOUND IN PREREQUISITES.  You may wish to install the versions
of the modules indicated above before proceeding with this installation

Creating new 'Build' script for 'CPAN-Reporter' version '0.24'
lib/CPAN/Reporter.pm -> blib/lib/CPAN/Reporter.pm
lib/CPAN/Reporter.pod -> blib/lib/CPAN/Reporter.pod
Manifying blib/lib/CPAN/Reporter.pod -> blib/libdoc/CPAN::Reporter.3
  ./Build  -- OK
Running Build test
  The version of your Test::Harness is only
  '2.56', you need at least '2.62'. Please upgrade your Test::Harness.
Running Build install
Installing /usr/local/perl-5.8.7/lib/site_perl/5.8.7/CPAN/Reporter.pm
Installing /usr/local/perl-5.8.7/lib/site_perl/5.8.7/CPAN/Reporter.pod
Installing /usr/local/perl-5.8.7/man/man3/CPAN::Reporter.3
Writing /usr/local/perl-5.8.7/lib/site_perl/5.8.7/i686-linux-64int/auto/CPAN/Reporter/.packlist
  sudo ./Build install --uninst 1 -- OK

	Showstopper II! The test refused to run with the reference to
	Test::Harness but the install succeeded nonetheless:(((

	Fixed in rev. 954.

	* Finish the debugging aid of reload. Current code (rev. 953)
	allows

% perl -Ilib -MCPAN -e '
my $ix = bless {}, CPAN::Index;
$ix->reload(shift)' /home/ftp/pub/PAUSE/modules/02packages.details.txt 
CPAN: File::HomeDir loaded ok
CPAN: Term::ANSIColor loaded ok
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
............................................................................DONE
Going to read /home/ftp/pub/CPAN/modules/02packages.details.txt.gz
  Database was generated on Sun, 01 Oct 2006 18:39:54 GMT
............................................................................DONE
Going to read /home/ftp/pub/CPAN/modules/03modlist.data.gz
............................................................................DONE

	But it reveals unacceptable timing when run via 'reload index'. Timing
	is much better when called as above. Quite confusing is the fact that
	03modlist does not print dots during reload but does so on first time.
	So more debugging called for. FIXED in rev. 956

	* Bug: the line number in the Debug messages is very often wrong. FIXED
	in rev. 955

	* E3 prerequisites: require perl version xxx: we should not delete that
	information but honour it. DONE in rev. 952

	* Todo: do the right thing with prereq "perl". Find modules suited for
	testing.

	"5.8.3" : File-BOM-0.12, XML-DOM-Lite-0.08, Business-ReportWriter-0.09

	">= 5.8.0" : Devel-FIXME-0.01

	">= 5.008" : Data-Visitor-0.05

	"0" : Net-Address-IPv4-Local-0.12

	"" : Net-IRC2-0.27

	The full list of found requires to "perl" today is:

	5.002|5.000|>= 5|>= 5.6|5.6|5.8|5.8.4|>= 5.8.0|5.8.2|5.8.7|5.5.3|5.8.3|>= 5.6.0|5.004|>= 5.008|5.005_03|0|5.5.0|5.4.5|5.00307|5.00503|5.8.0|5.005|5.008|5.7.1|>= 5.005_04|5.007|5.8.1|5.005003|5.6.0|5.006|5.6.1|5.7.3|5

	DONE in rev. 952

	* Todo: investigate if we want a different amount of newlines depending
	on readline availability. Who is it who displays the extra newline as
	soon as readline is active? It is apparently coming from readline and I
	see no reason to interfere. REJECT

	* Todo: send a patch to P5P that adds Queue.pm to the MANIFEST.

	* Todo: add to 30shell the case of repeated testing that was fixed in
	rev 915

	* Attention when testing: Lingua::Alphabet::Phonetic::Password makes
	Test::Pod a "build_requires"; Lingua::Alphabet::Phonetic makes it a
	"requires" instead. So we have it both as "r" and "b" in the queue and
	the first one wins over the other. So once we have something not
	installed due to "b", we cannot install it anymore unless we use
	force:-( It would be nice to make this less confusing for the user and
	resolvable without force for the expert.

	This warrants new tests in 30shell. Let's do diamond dependency:
	CPAN-Test-Dummy-Perl5-Build shall build_require
	CPAN-Test-Dummy-Perl5-Make and require CPAN-Test-Dummy-Perl5-Make-Zip.
	And CPAN-Test-Dummy-Perl5-Make-Zip shall require
	CPAN-Test-Dummy-Perl5-Make. We have not tested install yet (I think) and
	we can try to set make_install_make_command to a perl oneliner or so.
	This constallation shall try to install CPAN-Test-Dummy-Perl5-Make
	because requires trumps build_requires.

	Interactive testing strategy right now:

	rm -f /home/src/perl/repoperls/installed-perls/perl/prCXKHM/perl-5.8.0@28904/lib/site_perl/5.9.4/CPAN/Test/Dummy/Perl5/Build.pm /home/src/perl/repoperls/installed-perls/perl/prCXKHM/perl-5.8.0@28904/lib/site_perl/5.9.4/CPAN/Test/Dummy/Perl5/Make/Zip.pm
	make run

	o debug Distribution Queue Shell Module
	o conf build_requires_install_policy no
	install CPAN::Test::Dummy::Perl5::Build

	DONE in rev. 941

	* H3 Todo: JV suggests treating build_dependencies differently

	To: Johan Vromans <jvromans@squirrel.nl>
	Cc: modules@perl.org
	Subject: Re: Module requirements
	X-Draft-From: ("king-2002" 44465)
	From: andreas.koenig.gmwojprw@franz.ak.mind.de (Andreas J. Koenig)
	Gcc: nnml:sent
	--text follows this line--
	>>>>> On Sun, 02 Apr 2006 14:59:33 +0200, Johan Vromans <jvromans@squirrel.nl> said:

		> andreas.koenig.gmwojprw@franz.ak.mind.de (Andreas J. Koenig) writes:
	 >> Would you really trust that the authors get it right? I didn't and so
	 >> threw the two sorts of dependencies into one basket.

		> Currently, there is no way to make the distinction so there is no real
		> incentive to make the distinction correctly. This could change if a
		> mechanism were available.

	Good point.

	 >> How much pain does the clobbering of the production environment
	 >> cause you?

		> The production environment is also the reference environment. If a
		> module requires something that is not in the production environment,
		> any additional requirements should be added very carefully. Every
		> extension to the production environment is something extra to
		> maintain, and I think it is a very valid argument to try to minimize
		> this.

	Very true.

		> Actually, this question was triggered when I recently tried to install
		> Bundle::CPAN. When it wanted to install a product called Spiffy I
		> decided to hit the cancel button and investigate.

	That brings me to the idea that it would be nice to add these
	build-dependencies into ./blib/bdep or some such idf they are not
	available. I put it on my Todo list.

	-- 
	andreas

	DONE in rev. 941

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

	* Todo: test bundles and reqtype; especially when you do NOT install
	things because this opens new branches of code execution DONE

	* Todo: ... and finally we will have to carefully differentiate what we
	do with the things that we get off the queue: breqs shall not be
	installed. And we need a user pref here: treat build_requires as
	requires would have the advantage that the build_requires stuff be
	installed and may save time on the next occasion.

	This needs to be coordinated with David because it breaks
	CPAN::Reporter. Hi, Dave!

	New config option build_requires_install_policy: yes|no|ask/no|ask/yes

	DONE in rev. 916

	* Bug: build_requires that are not installed currently are being tested
	more than once within a single command. Maybe the same bug as described
	below under "Very stupid is CPAN.pm..." FIXED in rev. 915

2006-09-27  Andreas J Koenig  <akoenig@*c*nm*b*l*.com>

	* Todo: canonify usage of req/reqtype/etc. into "reqtype" and shorten
	the known reqtype to one letter: r,b,c and comment on them in
	Queue::reqtype DONE in rev.913

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

	* New warnings

Use of uninitialized value in exists at lib/CPAN.pm line 3874, <FH> line 41067.
Use of uninitialized value $id in delete at lib/CPAN.pm line 793, <FH> line 41067.
Use of uninitialized value $id in delete at lib/CPAN.pm line 794, <FH> line 41067.

	?? Cannot reproduce, maybe due to excessively hitting ^C in the wrong moment?

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

	* find out since when Expect has a failing test with bleadperl. Take
	test #38 alone and do a binary search on it. 26453 has already once been
	involved in an Expect case. Yes, this might mean we have to make
	suggestions for Expect too: which constants are imported erroneously and
	which correctly and how to make this valid for old and new perls? DONE
	see RT #21723.

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

	* build_requires: fortunately the things on the Queue are objects with
	currently only one attribute "qmod", the string.

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

	First step is to change the constructor to accept more arguments DONE in rev 889

	Next thing will be to go through the chain prereq_pm (where we must not
	merge req and breq)[DONE in rev. 900],
	CPAN::Distribution::color_cmd_tmps
	(where we must mark both req and breq)[DONE in rev. 900], unsat_prereq
	(where we must handle both req and breq)[STARTED in rev. 900, but still
	in need of a differentiation of @need_req and @need_breq or so; FINISHED
	in rev. 902] and follow_prereqs (where we must look closer on jumpqueue
	and handle req and breq differently and make sure that the inheritance
	is correct: reqs of breq are only breqs)[WIP when 910 is being checked
	in; finished in rev. 913] See continuation above "and finally we
	will..."

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

	* So what was 886 about? Put CPAN::Queue in its own file.

	* Bug introduced between 881 and 886. If a Module::Build module fails,
	we happily take it as an OK. CPAN-Test-Dummy-Perl5-Build-Fails reveals
	the bug. Going back step by step with 'svn up -r XXX' we see what was
	broke too: 885, 884, 883, 882, 881!!!

	What!??? 881 was a release! Between 879 and 881 no code changed.

	878 was a bit different. And 877. And all have this bug suddenly.

	So I start to believe it is a bug in the maint-5.8 branch or in some
	module we installed since. My maint is 28854 right now.

	Testing again with bleadperl and 886: NOT BROKEN!

	The only two modules out of date in my blead are Class::Accessor and
	version.pm.

	Outdated modules in current maint-5.8:

	CGI CPAN Devel::PPPort Digest Encode ExtUtils::Command ExtUtils::Install
	ExtUtils::Manifest ExtUtils::ParseXS IO Locale::Maketext Math::Complex
	Sys::Syslog Term::ANSIColor Test::Builder Test::Harness Text::Balanced
	Text::Soundex Text::Tabs Tie::RefHash Time::HiRes Time::Local
	Unicode::Normalize threads threads::shared

	Updated as much as I could and ALL IS WELL.

	So now we don't know who was to blame. Restarting over and going step by
	step: it was Test::Harness 2.58. So we have a difficult-to-explain
	dependency here: CPAN + Module::Build-deploying modules + Test::Harness
	< 2.62 leads to not recognized test failures. I put Test::Harness into
	the Bundle::CPAN. Maybe I must verify the Test::Harness version before
	testing MB modules? FIXED by making T:H 2.62 a PREREQ_PM and testing
	again in the code. In rev. 888

	* Todo: 'dump symbol', say 'dump $CPAN::META'. But pipe into the pager
	for large datasets! DONE in rev. 885

	* build_requires: need two modules that have build_dependencies which I
	do not install and still both must build. This means, I inject the
	build_dependencies into the queue and flag them as build_dependency
	which then leeds to a simple make or test for them, never to an install.
	Up to now we use set_perl5lib during CPAN::Distribution::test. In the
	future we would need a similar vein during the two earlier stages,
	{Makefile,Build}.PL and make. Yes, this should do.

	Where are our build_requires? I keep forgetting the URL where Randy Sims
	provides so useful statistics. Here it is:
	http://thepierianspring.org/perl/meta/

	And the build_requires page is here:
	http://thepierianspring.org/perl/meta/fields_in_use/build_requires.html

	But manually skimming the 876 distros is tedious, so I need again my own
	script.

	One thing is complicated: when a module is a build_prereq, then all
	*its* prereqs are also degraded into build_prereqs unless they are
	already prereqs for something else:-! And then we have the diamond
	dependency: Foo buid_requires Bar and requires Baz. Bar requires Frob,
	Baz requires Frob. So we make it a bit operation: REQ => 1, BREQ => 2?

	OK, candidates for my tests:

	MARCEL/Class-Null                         Test::Pod::Coverage

	Not suited for testing. It has a Build.PL that requires Project::Build
	which does not exist at all and when a user preferes Module::Build over
	ExtUtils::MakeMaker he fails immediately. It has a Makefile.PL that has
	Test::Pod and Test::Pod::Coverage as PREREQ_PM and it has a META.yml
	that tells me that Test::Pod and Test::Pod::Coverage are build_requires.
	But when I grep for Test::Pod and Test::Pod::Coverage, they are not
	mentioned anywhere. The solution would be to remove the Build.PL and the
	META.yml and remove the PREREQ_PM lines in the Makefile.PL.
	
	JFITZ/Lingua-Alphabet-Phonetic-Password   Test::Pod::Coverage

	Need to set prefer_installer MB because it comes with a Makefile.PL. The
	dependecy graph seems to get very large. Test::NoBreakpoints failes its
	tests. But in the end, L:A:P:P passes its four tests quickly and skips
	the one that need Test::NoBreakpoints. Vorbildlich!

	Very stupid is CPAN.pm when I repeat the 'test L:A:P:P' command: it
	repeats all tests for all dependencies and only then runs the test on
	L:A:P:P. This is time-consuming and may be a bug or a feature. Don't
	know the reason. FIXED in rev. 915
	
	ATRICKETT/Config-Trivial                  Test::Pod::Coverage

	ADIE/Test-Class          Test::Differences
	KCLARK/SQL-Translator    Test::Differences   # not good for testing
	SPOON/WWW-Yahoo-Groups   Test::Differences

	CHROMATIC/Class-StorageFactory  Test::Pod
	MTHURN/Net-Address-Ethernet     Test::Pod
	RCLAMP/Class-Persist            Test::Pod

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

	* I have seen this bug with 5.6.2, 5.8.3, 5.8.4, 5.8.5; it seems not to
	effect bleadperl and 5.8.8, 5.8.6-RC1

	Once you have installed both Module::Signature AND CPAN::Reporter, you
	cannot test both of them in the same session. E.g. with 5.8.4 I do

	test Module::Signature
	--> tests ok, do you want to report? no,no,no
	test CPAN::Reporter
	--> tests ok, debug says "main: distribution\nmain:\
	comments\nCPAN::Reporter defines neither package nor VERSION--version\
	check failed at (eval 70) line 405."
	test Module::Signature
	--> tests ok, debug says "main: distribution\nmain:\
	comments\nCPAN::Reporter defines neither package nor VERSION--version\
	check failed at (eval 70) line 405."

	"version check failed" is in
	/usr/local/perl-redhat-5.8.5/lib/5.8.5/pod/perldiag.pod:

=item %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 C<$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: