CPAN

 view release on metacpan or  search on metacpan

Todo  view on Meta::CPAN


	* get-reports: when we get no clue from whatever we try we would like to
	have an automaton that tests for every possible dependency, calculates a
	regression and lists them. POE::API::Peek is such a case but also
	List-Sliding-Changes might be analyzable that way.

	L:S:C is fixed and get-reports did not help. Would have needed more
	insights into tests but most reports do not provide that especially not
	when it is a PASS.

2008-04-25  Andreas J. Koenig  <andreas.koenig.7os6VVqR@franz.ak.mind.de>

	* IPC::Run fails today with any perl I try even with perls that have
	installed it successfully in the past and recent days. Either a
	dependency on a module has got a new version or something on that system
	(semaphores?). Interesting is http://rt.cpan.org/Ticket/Display.html?id=28150
	Locale! distropref written.

2008-04-23  Andreas J. Koenig  <andreas.koenig.7os6VVqR@franz.ak.mind.de>

	* Event::Lib seems to need a binarysearch. Might be a Test::Harness issue.

	Ok, came to the conclusion it is Test::Harness 3.0 related.

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

	* JSON::XS 2.2 is accused to need a binary search but I find it working
	under many bleadperls and indeed failing with a very old bleedperl
	(30953).

	cpantesters currently count Pass 65 : Fail 3, so this seems to be a
	bogus report.

2008-04-21  Andreas J. Koenig  <andreas.koenig.7os6VVqR@franz.ak.mind.de>

	* apc-overview says/should say

maint-5.10                   5.10.1   32695  33660 ( 116) [have 33642]
maint-5.8                     5.8.9   27041  33694 ( 982) [have 33638]
perl                         5.11.0   32643  33714 ( 810) [have 33714]

	missing number of patches since last build

2008-04-20  Andreas J. Koenig  <andreas.koenig.7os6VVqR@franz.ak.mind.de>

	* Coming back to Data::Serializer. The trick was to do what in the
	debugger?

	make testdb TEST_FILE=t/05-Encryption.t

	b 53 "JSON" eq $serializer
	s
	c 340
	s
	c 738
	s
	c 642

	Ahja, now we can reconstruct.

	use Crypt::CBC;
	my $secret = "test";
	my $cipher = "Blowfish";
	my $digest = qq{deadbeef};
	$digest .= chr(256); chop $digest;
	my $cipher_obj = Crypt::CBC->new($secret,$cipher);
	print length $cipher_obj->encrypt($digest)==32 ? "ok\n" : "not ok\n";

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

	And a perlbug

	Bitops on strings when UTF8 flag is set

2008-04-13  Andreas J. Koenig  <andreas.koenig.7os6VVqR@franz.ak.mind.de>

	* would like to get DJHD/Speech-Recognizer-SPX-0.09.tar.gz running on
	debian but it needs more work:

Package pocketsphinx was not found in the pkg-config search path.
Perhaps you should add the directory containing `pocketsphinx.pc'
to the PKG_CONFIG_PATH environment variable
No package 'pocketsphinx' found
Unable to locate PocketSphinx using pkg-config.  Please make sure that
you have installed pkg-config and PocketSphinx on your system, and
that PKG_CONFIG_PATH is set correctly.


2008-04-12  Andreas J. Koenig  <andreas.koenig.7os6VVqR@franz.ak.mind.de>

	* would like to get JavaScript to compile. Needs work on Debian. The
	$lib/$libs thing is broken, fixing it was easy but then the compilation
	and the tests still failed.

	* refresh investigations Data::Serializer

	The string that is brought from JSON via Data::Serializer to Crypt::CBC::encrypt is this:

  DB<10> Devel::Peek::Dump $data
SV = PVMG(0x8a9e908) at 0x87e1964
  REFCNT = 2
  FLAGS = (PADMY,POK,pPOK,UTF8)
  IV = 0
  NV = 0
  PV = 0x8b32198 "6cbcecd11182ea942e597f5a5b77b2883885cceccff88f6b08e025db66316c96=[\"one\",\"two\",\"three\"]"\0 [UTF8 "6cbcecd11182ea942e597f5a5b77b2883885cceccff88f6b08e025db66316c96=["one","two","three"]"]
  CUR = 86
  LEN = 221
  MAGIC = 0x85c4148
    MG_VIRTUAL = &PL_vtbl_utf8
    MG_TYPE = PERL_MAGIC_utf8(w)
    MG_LEN = 86

	So far no difference between 2396[56] in Crypt::CBC::crypt.

	The difference comes after 

	my @blocks = unpack("a$bs "x(int(length($self->{'buffer'})/$bs)) . "a*", $self->{'buffer'});

	These blocks are UTF8 since 23966 and were not so in 23965. Even with
	identical 7bit content this makes a difference later.

2008-04-11  Andreas J. Koenig  <andreas.koenig.7os6VVqR@franz.ak.mind.de>

	* may be a bug in Distroprefs.pm the $abs in line 122. Seen with some DD
	only perl.

	* OOTools:

----Program----
eval q{use Class::Error 2.21};
print $@ ? "N/A" : "OK";
print "\n";

----Output of .../pBnR154/perl-5.9.2@24659/bin/perl----
OK

----EOF ($?='0')----
----Output of .../pWYtCAP/perl-5.9.2@24660/bin/perl----
N/A

----EOF ($?='0')----


2008-04-05  Andreas J. Koenig  <andreas.koenig.7os6VVqR@franz.ak.mind.de>

	* CharsetDetector

----Program----
eval q{use CharsetDetector 1.0};
print $@ ? "N/A" : "OK";
print "\n";

----Output of .../pdVMYpV/perl-5.9.2@25178/bin/perl----
OK

----EOF ($?='0')----
----Output of .../p1Kjy6j/perl-5.9.2@25179/bin/perl----
N/A

----EOF ($?='0')----


	* There are some perls on my system that cannot compile current Expect!

	Which are that? At the moment just 25185. 25180 and 25194 both have it,
	so the gap must be pretty small.	

2008-04-04  Andreas J. Koenig  <andreas.koenig.7os6VVqR@franz.ak.mind.de>

	* Data-Serializer:

----Program----
eval q{use Data::Serializer 0.44; use JSON 2.07};

Todo  view on Meta::CPAN


----Output of .../p0IId7q/perl-5.8.0@17639/bin/perl----
OK

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

----EOF ($?='0')----
Need a perl between 17639 and 17672
(but 17642, 17654, 17656 could not successfully be used to build perl)

	For some reason -Ui_db does not seem to work with these? No it seems the
	-Ui_db was lost or forgotten.

	So I retried after deleting much remainings from the previous binary
	search and finally found a straight patch threshold:

----Program----
eval q{use JSON 2.07};
print $@ ? "N/A" : "OK";
print "\n";

----Output of .../pfB6YBj/perl-5.8.0@17656/bin/perl----
OK

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

----EOF ($?='0')----

	So it is 17671. And as expected it has (pretty certainly) to do with the
	change of the PERL_VERSION in patchlevel.h from 8 to 9.

	http://rt.cpan.org/Ticket/Display.html?id=34599 reports/fixes JSON
	
	* distname vs modulename: david golden recently seemed to have suggested
	a solution to the distname trap that everybody so far had been ignoring.
	Where is a link?

	The thread was Subject: RFC: URI::cpan on the module-authors@perl.org
	mailing list.

	* No useable patch available between 17639 and 17836

	-Ui_db as described further down

2008-03-29  Andreas J. Koenig  <andreas.koenig.7os6VVqR@franz.ak.mind.de>

	* timestamps in the future:

>  I'm going beyond that: toss the entire _make_ unless they say
>  "allow_future_timestamps". Then CPAN::Reporter could refuse to send
>  reports when they actually do set "allow_future_timestamp".

I think that's a very reasonable way to go.

	This needs to be done soonish.

	* Crypt-CBC-2.27 seems to not declare prereq Crypt-Rijndael but fail
	without it? Seen with 25418. Reported in
	http://rt.cpan.org/Ticket/Display.html?id=34521

2008-03-27  Andreas J. Koenig  <andreas.koenig.7os6VVqR@franz.ak.mind.de>

	* Data::Serializer: I stopped a binary search because of Math::Pari

	Then I restarted it and it ended with the impossible resolution:

----Program----
eval q{use Data::Serializer 0.44};
print $@ ? "N/A" : "OK";
print "\n";

----Output of ...pVDHwBj/perl-5.10.0@33153/bin/perl----
OK

----EOF ($?='0')----
----Output of ...pyNdNAp/perl-5.10.0@33154/bin/perl----
N/A

----EOF ($?='0')----

	Crap because 33154 is a patch of just a test.

-optimize='-g';
+optimize='-O2';

-archname='i686-linux-64int';
+archname='i686-linux';

	Let's remove 33154. Next iteration ends here:

----Program----
eval q{use Data::Serializer 0.44};
print $@ ? "N/A" : "OK";
print "\n";

----Output of ...pyQ307v/perl-5.10.0@33550/bin/perl----
OK

----EOF ($?='0')----
----Output of ...p0PdUk4/perl-5.10.0@33551/bin/perl----
N/A

----EOF ($?='0')----

	with only configdiff:

-d_builtin_expect='define';
+d_builtin_expect='undef';

	Stepping through the debugger reaches a point:

643:      return $cipher_obj->encrypt($digest);
  DB<42> x $digest
0  '6cbcecd11182ea942e597f5a5b77b2883885cceccff88f6b08e025db66316c96=["one","two","three"]'
  DB<43> x $cipher_obj
0  Crypt::CBC=HASH(0x90d1b74)
   'blocksize' => 8
   'cipher' => 'Crypt::Blowfish'
   'header_mode' => 'salt'
   'iv' => undef
   'key' => undef
   'keysize' => 56
   'legacy_hack' => undef
   'literal_key' => ''
   'make_random_iv' => 1
   'make_random_salt' => 1
   'padding' => CODE(0x8aa745c)
      -> &Crypt::CBC::_standard_padding in /home/src/perl/repoperls/installed-perls/perl/prFWwqr/perl-5.10.0@33580/lib/site_perl/5.11.0/Crypt/CBC.pm:461-476
   'passphrase' => 'test'
   'pcbc' => undef
   'salt' => undef
  DB<44> s
Crypt::CBC::encrypt(/home/src/perl/repoperls/installed-perls/perl/prFWwqr/perl-5.10.0@33580/lib/site_perl/5.11.0/Crypt/CBC.pm:173):
173:        my ($self,$data) = @_;
  DB<44> n
Crypt::CBC::encrypt(/home/src/perl/repoperls/installed-perls/perl/prFWwqr/perl-5.10.0@33580/lib/site_perl/5.11.0/Crypt/CBC.pm:174):
174:        $self->start('encrypting');
  DB<44> 
Crypt::CBC::encrypt(/home/src/perl/repoperls/installed-perls/perl/prFWwqr/perl-5.10.0@33580/lib/site_perl/5.11.0/Crypt/CBC.pm:175):
175:        my $result = $self->crypt($data);
  DB<44> 
input must be 8 bytes long at /home/src/perl/repoperls/installed-perls/perl/prFWwqr/perl-5.10.0@33580/lib/site_perl/5.11.0/i686-linux-64int/Crypt/Blowfish.pm line 56.
 at /home/src/perl/repoperls/installed-perls/perl/prFWwqr/perl-5.10.0@33580/lib/site_perl/5.11.0/i686-linux-64int/Crypt/Blowfish.pm line 56
        Crypt::Blowfish::encrypt('Crypt::Blowfish=HASH(0x90cc684)', 'u¿&µ[²k') called at /home/src/perl/repoperls/installed-perls/perl/prFWwqr/perl-5.10.0@33580/lib/site_perl/5.11.0/Crypt/CBC.pm line 250
        Crypt::CBC::crypt('Crypt::CBC=HASH(0x90d1b74)', '6cbcecd11182ea942e597f5a5b77b2883885cceccff88f6b08e025db66316...') called at /home/src/perl/repoperls/installed-perls/perl/prFWwqr/perl-5.10.0@33580/lib/site_perl/5.11.0/Crypt/CBC.pm line 175
        Crypt::CBC::encrypt('Crypt::CBC=HASH(0x90d1b74)', '6cbcecd11182ea942e597f5a5b77b2883885cceccff88f6b08e025db66316...') called at blib/lib/Data/Serializer.pm line 643
        Data::Serializer::_encrypt('Data::Serializer=SCALAR(0x909efac)', '["one","two","three"]', 'Blowfish', 'SHA-256') called at blib/lib/Data/Serializer.pm line 738
        Data::Serializer::serialize(undef, 'ARRAY(0x8510aac)') called at ./t/serializer-testlib line 340
        main::run_test('ExtUtils::TBone=HASH(0x85122ac)', 'JSON', 'simplearray', 'encryption') called at t/05-Encryption.t line 53


	Retrying

  DB<47> 
Crypt::CBC::crypt(/home/src/perl/repoperls/installed-perls/perl/prFWwqr/perl-5.10.0@33580/lib/site_perl/5.11.0/Crypt/CBC.pm:245):
245:        foreach my $block (@blocks) {
  DB<47> x \@blocks
0  ARRAY(0x8a93128)
   0  '6cbcecd1'
   1  '1182ea94'
   2  '2e597f5a'
   3  '5b77b288'
   4  '3885ccec'
   5  'cff88f6b'
   6  '08e025db'
   7  '66316c96'
   8  '=["one",'
   9  '"two","t'
  DB<48> l
245==>      foreach my $block (@blocks) {
246:          if ($d) { # decrypting
247:            $result .= $iv = $iv ^ $self->{'crypt'}->decrypt($block);
248:            $iv = $block unless $self->{pcbc};
249           } else { # encrypting
250:            $result .= $iv = $self->{'crypt'}->encrypt($iv ^ $block);
251           }
252:          $iv = $iv ^ $block if $self->{pcbc};
253         }
254:        $self->{'civ'} = $iv;               # remember the iv
  DB<48> c 254
input must be 8 bytes long at /home/src/perl/repoperls/installed-perls/perl/prFWwqr/perl-5.10.0@33580/lib/site_perl/5.11.0/i686-linux-64int/Crypt/Blowfish.pm line 56.


	After some more stepping down into the debugger I discover that somebody
	passes in an 8 character string to Blowfish and as it is UTF8 it is not
	8 bytes and Blowfish correctly dies. Seems to be JSON 2.07 related.
	33550 has no JSON installed. Is it that? Yes, maybe. But if I add JSON
	into the prereq mix I need to go much further back in history. 5.8.8 is
	OK, 24518 isn't and for perls before patch 25000 several things fall
	apart for different reasons.

	19173 cannot have JSON and subsequently Data::Serializer succeeds. So
	the test scripts must add JSON as explicit requirement.

	Now I find out that JSON does not run on 17968 either. So where did JSON
	2.07 stop? 17639 was the beginning of 5.9.0 the day after 5.8.0. And
	JSON 2.07 still did work with 17637.

	* Math::Pari: a perlmonks posting leads to success but later perls broke
	it again

2008-03-25  Andreas J. Koenig  <andreas.koenig.7os6VVqR@franz.ak.mind.de>

	* maybe still unreported: Safe::World, Data::Dump::Streamer,
	Authen-Htpasswd-0.16, YAML::LibYAML, Handel

	* reported but unfixed: Devel::ebug, Storable, Tk, Devel::Size

	* reported and fixed: FreezeThaw, Test::Deep, Params::Validate

2008-03-25  Andreas J. Koenig  <andreas.koenig.7os6VVqR@franz.ak.mind.de>

	* Repeatedly observed a "Possible unintended interpolation of ...@33430"

	Where did it come from? Probably my fault!

Todo  view on Meta::CPAN

	* 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



( run in 0.616 second using v1.01-cache-2.11-cpan-e1769b4cff6 )