From - Sun Oct  7 14:30:57 2001
Return-Path: <perlbug@onion.perl.org>
Received: from mimer.null.dk ([130.228.230.9]) by mailin02.sul.t-online.de
	with smtp id 15qB8n-2L3qc4C; Sun, 7 Oct 2001 12:26:37 +0200
Received: (qmail 22666 invoked by uid 1038); 7 Oct 2001 10:26:32 -0000
Delivered-To: richard@mimer.null.dk
Received: (qmail 22654 invoked by uid 1038); 7 Oct 2001 10:26:32 -0000
Delivered-To: richard-rfi-rjsf-tron7@rfi.net
Received: (qmail 22651 invoked from network); 7 Oct 2001 10:26:31 -0000
Received: from onion.valueclick.com (HELO onion.perl.org) (209.85.157.220)
  by mimer.null.dk with SMTP; 7 Oct 2001 10:26:31 -0000
Received: (qmail 78655 invoked by uid 1007); 7 Oct 2001 10:26:30 -0000
Date: 7 Oct 2001 10:26:30 -0000
Message-ID: <20011007102630.78654.qmail@onion.perl.org>
From: perlbug@onion.perl.org
To: rjsf-tron7@rfi.net
X-Mozilla-Status: 8001
X-Mozilla-Status2: 00000000
X-UIDL: 2fb0f4a316f4de84

[0] INIT 2.86 (51468) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(rmoberly@mailandnews.com) 
			In-Reply-To()
			Message-Id(<000028c37a37$0000410a$0000032b@tat.de>) 
			Reply-To() 
			Subject(Pheromones 4 u                         811) 
			To(<Special.Customers@chthon.perl.com>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <000028c37a37$0000410a$0000032b@tat.de>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <000028c37a37$0000410a$0000032b@tat.de>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <000028c37a37$0000410a$0000032b@tat.de>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <000028c37a37$0000410a$0000032b@tat.de>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <000028c37a37$0000410a$0000032b@tat.de>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  8 wallclock secs ( 0.20 usr +  0.02 sys =  0.22 CPU)
	Alltook:  8 wallclock secs ( 0.21 usr +  0.02 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (55482) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From("InfoGrab.net" <infograb@mail.com>) 
			In-Reply-To()
			Message-Id(<200110070743.f977gv130950@chthon.perl.com>) 
			Reply-To() 
			Subject(RE:  .INFO is now live) 
			To(perlbug@mox.perl.com) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070743.f977gv130950@chthon.perl.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070743.f977gv130950@chthon.perl.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070743.f977gv130950@chthon.perl.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070743.f977gv130950@chthon.perl.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070743.f977gv130950@chthon.perl.com>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  8 wallclock secs ( 0.20 usr +  0.02 sys =  0.21 CPU)
	Alltook:  8 wallclock secs ( 0.20 usr +  0.02 sys =  0.22 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (62151) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(Perl 5 Porters <perl5-porters@perl.org>) 
			From(Stas Bekman <stas@stason.org>) 
			In-Reply-To()
			Message-Id(<3BC012B1.8030801@stason.org>) 
			Reply-To() 
			Subject(Re: ExtUtils::MakeMaker's PREOP vs distdir execution order) 
			To("Andreas J. Koenig" <andreas.koenig@anima.de>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BC012B1.8030801@stason.org>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BC012B1.8030801@stason.org>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BC012B1.8030801@stason.org>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BC012B1.8030801@stason.org>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BC012B1.8030801@stason.org>%') 
[14] domain(bugs\.perl\.org) ?-> to("Andreas J. Koenig" <andreas.koenig@anima.de>), subject(Re: ExtUtils::MakeMaker's PREOP vs distdir execution order), cc(Perl 5 Porters <perl5-porters@perl.org>) 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(Andreas J. Koenig wrote:

>>>>>>On Sun, 07 Oct 2001 14:16:04 +0800, Stas Bekman <stas@stason.org> said:
>>>>>>
> 
>   > README is in MANIFEST and manicopy fails, because
>   > PREOP wasn't run yet:
> 
> Rats, you're right. What if you create a dummy README in the working
> directory. It should be overwritten in the $(DISTVNAME)/ directory
> then.

Yup, as I've mentioned in the original post, that's the workaround I've 
been using for a long time.

That's why I've asked whether it'd be a good thing to do to make PRE- in 
PREOP to be pre, and not post- :) i.e. run PREOP before distdir target. 
Or is it wrong?

_____________________________________________________________________
Stas Bekman             JAm_pH      --   Just Another mod_perl Hacker
http://stason.org/      mod_perl Guide   http://perl.apache.org/guide
mailto:stas@stason.org  http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'Andreas J. Koenig wrote:

>>>>>>On Sun, 07 Oct 2001 14:16:04 +0800, Stas Bekman <stas@stason.org> said:
>>>>>>
> 
>   > README is in MANIFEST and manicopy fails, because
>   > PREOP wasn\'t run yet:
> 
> Rats, you\'re right. What if you create a dummy README in the working
> directory. It should be overwritten in the $(DISTVNAME)/ directory
> then.

Yup, as I\'ve mentioned in the original post, that\'s the workaround I\'ve 
been using for a long time.

That\'s why I\'ve asked whether it\'d be a good thing to do to make PRE- in 
PREOP to be pre, and not post- :) i.e. run PREOP before distdir target. 
Or is it wrong?

_____________________________________________________________________
Stas Bekman             JAm_pH      --   Just Another mod_perl Hacker
http://stason.org/      mod_perl Guide   http://perl.apache.org/guide
mailto:stas@stason.org  http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  8 wallclock secs ( 0.22 usr +  0.02 sys =  0.23 CPU)
	Alltook:  8 wallclock secs ( 0.22 usr +  0.02 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (64635) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Michael G Schwern <schwern@pobox.com>) 
			In-Reply-To(<20011007035850.A24485@alpha.hut.fi>)
			Message-Id(<20011007045637.A616@blackrider>) 
			Reply-To() 
			Subject(Re: A philosophical tainting issue) 
			To(Jarkko Hietaniemi <jhi@iki.fi>, perl5-porters@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045637.A616@blackrider>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045637.A616@blackrider>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045637.A616@blackrider>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045637.A616@blackrider>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045637.A616@blackrider>%') 
[14] domain(bugs\.perl\.org) ?-> to(Jarkko Hietaniemi <jhi@iki.fi>, perl5-porters@perl.org), subject(Re: A philosophical tainting issue), cc() 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x853cde0)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(On Sun, Oct 07, 2001 at 03:58:50AM +0300, Jarkko Hietaniemi wrote:
> #!/usr/bin/perl
> print "$^X foobar\n";
> ugli:~ ; ls -l x
> -rwxr-xr-x    1 jhi      users          38 loka????  7 03:49 x
> ugli:~ ; ./x
> perl foobar
> ugli:~ ; uname -a
> Linux ugli.hut.fi 2.2.19 #1 Thu Apr 5 14:00:15 EET DST 2001 i686 unknown
> ugli:~ ; 
> 
> The same happens in AIX, Tru64, and Mac OS X; Solaris, HP-UX, and IRIX
> seem to have the absolute path in $^X.

Weird.  I get an absolute path, Linux 2.4.  You're right about 2.2, though.

Hrumf.

-- 

Michael G. Schwern   <schwern@pobox.com>    http://www.pobox.com/~schwern/
Perl6 Quality Assurance     <perl-qa@perl.org>	     Kwalitee Is Job One
Maybe they hooked you up with one of those ass-making magazines.
	-- brian d. foy as misheard by Michael G Schwern) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'On Sun, Oct 07, 2001 at 03:58:50AM +0300, Jarkko Hietaniemi wrote:
> #!/usr/bin/perl
> print "$^X foobar\\n";
> ugli:~ ; ls -l x
> -rwxr-xr-x    1 jhi      users          38 loka????  7 03:49 x
> ugli:~ ; ./x
> perl foobar
> ugli:~ ; uname -a
> Linux ugli.hut.fi 2.2.19 #1 Thu Apr 5 14:00:15 EET DST 2001 i686 unknown
> ugli:~ ; 
> 
> The same happens in AIX, Tru64, and Mac OS X; Solaris, HP-UX, and IRIX
> seem to have the absolute path in $^X.

Weird.  I get an absolute path, Linux 2.4.  You\'re right about 2.2, though.

Hrumf.

-- 

Michael G. Schwern   <schwern@pobox.com>    http://www.pobox.com/~schwern/
Perl6 Quality Assurance     <perl-qa@perl.org>	     Kwalitee Is Job One
Maybe they hooked you up with one of those ass-making magazines.
	-- brian d. foy as misheard by Michael G Schwern'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 10 wallclock secs ( 0.23 usr +  0.04 sys =  0.27 CPU)
	Alltook: 10 wallclock secs ( 0.23 usr +  0.04 sys =  0.27 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (65545) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(perl5-porters@perl.org) 
			From(Michael G Schwern <schwern@pobox.com>) 
			In-Reply-To(<20011007040729.23872.qmail@onion.perl.org>)
			Message-Id(<20011007045959.B616@blackrider>) 
			Reply-To() 
			Subject(Re: Duplicated Code between ExtUtils::MM_Unix and File::Spec::Unix) 
			To(chromatic <chromatic@rmci.net>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045959.B616@blackrider>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045959.B616@blackrider>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045959.B616@blackrider>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045959.B616@blackrider>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045959.B616@blackrider>%') 
[14] domain(bugs\.perl\.org) ?-> to(chromatic <chromatic@rmci.net>), subject(Re: Duplicated Code between ExtUtils::MM_Unix and File::Spec::Unix), cc(perl5-porters@perl.org) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x853ee34)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(On Sat, Oct 06, 2001 at 10:01:38PM -0600, chromatic wrote:
> In ExtUtils::MM_Unix (scary), there's a bit of code that looks strangely like
> code from File::Spec::Unix.  These functions are identical, down to the
> comments:
> 
> 	canonpath
> 	catdir
> 	curdir
> 	rootdir
> 
> This one is very close, only slightly more advanced in ExtUtils::MM_Unix:
> 	catfile
> 
> Is this copy and paste coding that could be cleaned up?  Is MM_Unix used in
> miniperl before File::Spec is available?  Would that help portability within
> MM_* overall?

I thought I did that.  I'm about to go to bed, have a look through the
makemaker@perl.org archives for the patch, or I'll find it in the morning.


-- 

Michael G. Schwern   <schwern@pobox.com>    http://www.pobox.com/~schwern/
Perl6 Quality Assurance     <perl-qa@perl.org>	     Kwalitee Is Job One
If you have to shoot, shoot!  Don't talk.
		-- Tuco, "The Good, The Bad And The Ugly") => ret: $VAR1 = {
          'opts' => '',
          'body' => 'On Sat, Oct 06, 2001 at 10:01:38PM -0600, chromatic wrote:
> In ExtUtils::MM_Unix (scary), there\'s a bit of code that looks strangely like
> code from File::Spec::Unix.  These functions are identical, down to the
> comments:
> 
> 	canonpath
> 	catdir
> 	curdir
> 	rootdir
> 
> This one is very close, only slightly more advanced in ExtUtils::MM_Unix:
> 	catfile
> 
> Is this copy and paste coding that could be cleaned up?  Is MM_Unix used in
> miniperl before File::Spec is available?  Would that help portability within
> MM_* overall?

I thought I did that.  I\'m about to go to bed, have a look through the
makemaker@perl.org archives for the patch, or I\'ll find it in the morning.


-- 

Michael G. Schwern   <schwern@pobox.com>    http://www.pobox.com/~schwern/
Perl6 Quality Assurance     <perl-qa@perl.org>	     Kwalitee Is Job One
If you have to shoot, shoot!  Don\'t talk.
		-- Tuco, "The Good, The Bad And The Ugly"'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  4 wallclock secs ( 0.23 usr +  0.04 sys =  0.27 CPU)
	Alltook:  4 wallclock secs ( 0.23 usr +  0.04 sys =  0.27 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (66063) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(Jarkko Hietaniemi <jhi@iki.fi>, perl5-porters@perl.org) 
			From(Nick Ing-Simmons <nick@ing-simmons.net>) 
			In-Reply-To(<20011006192852.A588@blackrider> from Michael G Schwern on
    Sat, 6 Oct 2001 19:28:53 -0400)
			Message-Id(<20011007090029.746.1@bactrian.ni-s.u-net.com>) 
			Reply-To(Nick Ing-Simmons <nick@ing-simmons.net>) 
			Subject(Re: A philosophical tainting issue) 
			To(schwern@pobox.com) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090029.746.1@bactrian.ni-s.u-net.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090029.746.1@bactrian.ni-s.u-net.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090029.746.1@bactrian.ni-s.u-net.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090029.746.1@bactrian.ni-s.u-net.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090029.746.1@bactrian.ni-s.u-net.com>%') 
[14] domain(bugs\.perl\.org) ?-> to(schwern@pobox.com), subject(Re: A philosophical tainting issue), cc(Jarkko Hietaniemi <jhi@iki.fi>, perl5-porters@perl.org) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x853fec4)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(Michael G Schwern <schwern@pobox.com> writes:
>On Sat, Oct 06, 2001 at 08:00:45AM +0300, Jarkko Hietaniemi wrote:
>> > So I'm pondering if using $^X + $ENV{PATH} (or it's moral equivalent
>> > on other operating systems) to locate the currently running perl
>> > executable is insecure, or if I can just trust it given that's exactly
>> > how I started running the currently running perl.  Most of what Kurt
>> 
>> At least #! completely bypasses $ENV{PATH}.
>
>That's ok.  If #! bypasses $ENV{PATH} by using an absolute path to
>Perl (ie. #!/usr/bin/perl) then $^X will be absolute and $ENV{PATH}
>never enters the picture.  

Not necessarily - on linux 2.2.* kernel at least $^X will just be "perl":

nick@bactrian 502$ /tmp/x
perl
nick@bactrian 502$ cat !$
cat /tmp/x
#!/usr/local/bin/perl -w
print "$^X\n";
nick@bactrian 503$
                                
-- 
Nick Ing-Simmons
http://www.ni-s.u-net.com/) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'Michael G Schwern <schwern@pobox.com> writes:
>On Sat, Oct 06, 2001 at 08:00:45AM +0300, Jarkko Hietaniemi wrote:
>> > So I\'m pondering if using $^X + $ENV{PATH} (or it\'s moral equivalent
>> > on other operating systems) to locate the currently running perl
>> > executable is insecure, or if I can just trust it given that\'s exactly
>> > how I started running the currently running perl.  Most of what Kurt
>> 
>> At least #! completely bypasses $ENV{PATH}.
>
>That\'s ok.  If #! bypasses $ENV{PATH} by using an absolute path to
>Perl (ie. #!/usr/bin/perl) then $^X will be absolute and $ENV{PATH}
>never enters the picture.  

Not necessarily - on linux 2.2.* kernel at least $^X will just be "perl":

nick@bactrian 502$ /tmp/x
perl
nick@bactrian 502$ cat !$
cat /tmp/x
#!/usr/local/bin/perl -w
print "$^X\\n";
nick@bactrian 503$
                                
-- 
Nick Ing-Simmons
http://www.ni-s.u-net.com/'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  6 wallclock secs ( 0.25 usr +  0.00 sys =  0.25 CPU)
	Alltook:  6 wallclock secs ( 0.25 usr +  0.00 sys =  0.25 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (66796) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(perl5-porters@perl.org) 
			From(Nick Ing-Simmons <nick@ing-simmons.net>) 
			In-Reply-To(<20011007040729.23872.qmail@onion.perl.org> from Chromatic on
    Sat, 06 Oct 2001 22:01:38 -0600)
			Message-Id(<20011007090129.746.2@bactrian.ni-s.u-net.com>) 
			Reply-To(Nick Ing-Simmons <nick@ing-simmons.net>) 
			Subject(Re: Duplicated Code between ExtUtils::MM_Unix and File::Spec::Unix) 
			To(chromatic@rmci.net) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090129.746.2@bactrian.ni-s.u-net.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090129.746.2@bactrian.ni-s.u-net.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090129.746.2@bactrian.ni-s.u-net.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090129.746.2@bactrian.ni-s.u-net.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090129.746.2@bactrian.ni-s.u-net.com>%') 
[14] domain(bugs\.perl\.org) ?-> to(chromatic@rmci.net), subject(Re: Duplicated Code between ExtUtils::MM_Unix and File::Spec::Unix), cc(perl5-porters@perl.org) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x853eec4)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(Chromatic <chromatic@rmci.net> writes:
>In ExtUtils::MM_Unix (scary), there's a bit of code that looks strangely like
>code from File::Spec::Unix.  These functions are identical, down to the
>comments:
>
>	canonpath
>	catdir
>	curdir
>	rootdir
>
>This one is very close, only slightly more advanced in ExtUtils::MM_Unix:
>	catfile
>
>Is this copy and paste coding that could be cleaned up?  Is MM_Unix used in
>miniperl before File::Spec is available?  Would that help portability within
>MM_* overall?

Just history I think - original File::Spec was copied from MM.

>
>It'd be easier to test with less code, anyway....
>
>-- c
-- 
Nick Ing-Simmons
http://www.ni-s.u-net.com/) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'Chromatic <chromatic@rmci.net> writes:
>In ExtUtils::MM_Unix (scary), there\'s a bit of code that looks strangely like
>code from File::Spec::Unix.  These functions are identical, down to the
>comments:
>
>	canonpath
>	catdir
>	curdir
>	rootdir
>
>This one is very close, only slightly more advanced in ExtUtils::MM_Unix:
>	catfile
>
>Is this copy and paste coding that could be cleaned up?  Is MM_Unix used in
>miniperl before File::Spec is available?  Would that help portability within
>MM_* overall?

Just history I think - original File::Spec was copied from MM.

>
>It\'d be easier to test with less code, anyway....
>
>-- c
-- 
Nick Ing-Simmons
http://www.ni-s.u-net.com/'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.01 sys =  0.02 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  4 wallclock secs ( 0.27 usr +  0.00 sys =  0.27 CPU)
	Alltook:  4 wallclock secs ( 0.28 usr +  0.01 sys =  0.29 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (77193) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(oq5h3esm97v@hotmail.com) 
			In-Reply-To()
			Message-Id(<200110071015.OAA08676@mail.rgazu.ru>) 
			Reply-To() 
			Subject(75% off Life Insurance.  Free quotes in less than a minute, and
    there's no hassle!) 
			To(<fpwvek3djmsep@hotmail.com>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110071015.OAA08676@mail.rgazu.ru>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110071015.OAA08676@mail.rgazu.ru>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110071015.OAA08676@mail.rgazu.ru>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110071015.OAA08676@mail.rgazu.ru>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110071015.OAA08676@mail.rgazu.ru>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  1 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 23 wallclock secs ( 0.20 usr +  0.02 sys =  0.22 CPU)
	Alltook: 24 wallclock secs ( 0.20 usr +  0.02 sys =  0.22 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 

From - Sun Oct  7 14:31:03 2001
Return-Path: <perlbug@onion.perl.org>
Received: from mimer.null.dk ([130.228.230.9]) by mailin03.sul.t-online.de
	with smtp id 15qB8d-29nwUCC; Sun, 7 Oct 2001 12:26:27 +0200
Received: (qmail 22647 invoked by uid 1038); 7 Oct 2001 10:26:26 -0000
Delivered-To: richard@mimer.null.dk
Received: (qmail 22635 invoked by uid 1038); 7 Oct 2001 10:26:25 -0000
Delivered-To: richard-rfi-rjsf-tron6@rfi.net
Received: (qmail 22632 invoked from network); 7 Oct 2001 10:26:23 -0000
Received: from onion.valueclick.com (HELO onion.perl.org) (209.85.157.220)
  by mimer.null.dk with SMTP; 7 Oct 2001 10:26:23 -0000
Received: (qmail 78608 invoked by uid 1007); 7 Oct 2001 10:26:21 -0000
Date: 7 Oct 2001 10:26:21 -0000
Message-ID: <20011007102621.78607.qmail@onion.perl.org>
From: perlbug@onion.perl.org
To: rjsf-tron6@rfi.net
X-Mozilla-Status: 8001
X-Mozilla-Status2: 00000000
X-UIDL: 7b14c41ef462205b

[0] INIT 2.86 (40485) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(kitchip36@freemail.hu) 
			In-Reply-To()
			Message-Id(<200110060751.f967pj115452@chthon.perl.com>) 
			Reply-To() 
			Subject(Tired of Having Bad Credit?) 
			To(<Undisclosed.Recipients@chthon.perl.com>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110060751.f967pj115452@chthon.perl.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110060751.f967pj115452@chthon.perl.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110060751.f967pj115452@chthon.perl.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110060751.f967pj115452@chthon.perl.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110060751.f967pj115452@chthon.perl.com>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 18 wallclock secs ( 0.23 usr +  0.00 sys =  0.23 CPU)
	Alltook: 18 wallclock secs ( 0.23 usr +  0.00 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (41507) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(itsmeman2000@yahoo.com) 
			In-Reply-To()
			Message-Id(<aW50ZXJuYXRpb25hbEBwZW9wbGVwYy5jb20=$epem@yahoo.com>) 
			Reply-To() 
			Subject(Forget Video's This is Broadband !) 
			To(<international@peoplepc.com>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <aW50ZXJuYXRpb25hbEBwZW9wbGVwYy5jb20=$epem@yahoo.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <aW50ZXJuYXRpb25hbEBwZW9wbGVwYy5jb20=$epem@yahoo.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <aW50ZXJuYXRpb25hbEBwZW9wbGVwYy5jb20=$epem@yahoo.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <aW50ZXJuYXRpb25hbEBwZW9wbGVwYy5jb20=$epem@yahoo.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <aW50ZXJuYXRpb25hbEBwZW9wbGVwYy5jb20=$epem@yahoo.com>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.01 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  9 wallclock secs ( 0.21 usr +  0.01 sys =  0.22 CPU)
	Alltook:  9 wallclock secs ( 0.21 usr +  0.02 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (41537) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(<yousave2@sorocaba.net>) 
			In-Reply-To()
			Message-Id(<00001e485a06$000041b3$000027b3@sorocaba.net>) 
			Reply-To(usavemore2001@yahoo.com) 
			Subject(Early Holiday Special - Famous Name Brand Leather Jackets @
    Liquidation Prices!! .....................................................
    10163) 
			To(<yousave2@sorocaba.net>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <00001e485a06$000041b3$000027b3@sorocaba.net>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <00001e485a06$000041b3$000027b3@sorocaba.net>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <00001e485a06$000041b3$000027b3@sorocaba.net>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <00001e485a06$000041b3$000027b3@sorocaba.net>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <00001e485a06$000041b3$000027b3@sorocaba.net>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  1 wallclock secs ( 0.20 usr +  0.01 sys =  0.20 CPU)
	Alltook:  1 wallclock secs ( 0.20 usr +  0.01 sys =  0.21 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (54205) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(perl5-porters@perl.org) 
			From(Will Coleda <wcoleda@infomg.com>) 
			In-Reply-To()
			Message-Id(<3BBEEE96.28AE2DC9@infomg.com>) 
			Reply-To() 
			Subject(Re: [servergraph.com@verizon.net: Bug in timelocal?]) 
			To(Lindsay Morris <servergraph.com@verizon.net>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEE96.28AE2DC9@infomg.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEE96.28AE2DC9@infomg.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEE96.28AE2DC9@infomg.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEE96.28AE2DC9@infomg.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEE96.28AE2DC9@infomg.com>%') 
[14] domain(bugs\.perl\.org) ?-> to(Lindsay Morris <servergraph.com@verizon.net>), subject(Re: [servergraph.com@verizon.net: Bug in timelocal?]), cc(perl5-porters@perl.org) 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(--------------C33B34F9EE5B4ECBA9D17CE0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Those dates refer to about 1AM on Octoboer 28, 2001, which I believe is
when daylight savings time kicks in, if you're in a timezone that likes
to do that kind of thing.

So, you're asking for the time just before DST ends, then immediately
after. The wall clock has been turned back an hour and run through again
in  -`-.0
.0 those

I believe if you run those "missing" seconds back through localtime,
you'll see that they correspond to the same time frame on the "clock".
(or localtime()).



Jarkko Hietaniemi wrote:
> 
> ----- Forwarded message from Lindsay Morris <servergraph.com@verizon.net> -----
> 
> Subject: Bug in timelocal?
> From: "Lindsay Morris" <servergraph.com@verizon.net>
> Date: Fri, 5 Oct 2001 15:32:20 -0400
> Message-ID: <002501c14dd4$7372e680$4cb8f5c0@lmorris>
> To: <cpan@perl.org>
> Reply-To: <lmorris@servergraph.com>
> Importance: Normal
> 
> Add a minute, gain an hour?
> Run this:
> 
> #!/usr/bin/perl
> use Time::Local;
> print "timelocal(0,59,0,28,9,101) is:", timelocal(0,59,0,28,9,101),"\n";
> print "timelocal(0, 0,1,28,9,101) is:", timelocal(0, 0,1,28,9,101),"\n";
> # with perl 5.6.0.1 on AIX 4.3.2.0, I get:
> # timelocal(0,59,0,28,9,101) is:1004245140
> # timelocal(0, 0,1,28,9,101) is:1004248800
> # The difference is seconds is an hour and a minute, not just a minute.
> # Lindsay Morris / lmorris@servergraph.com / 859-253-8000
> 
> Same behavior w perl v 5.005.03.
> Any wisdom appreciated...
> ---------------------------------
> Mr. Lindsay Morris
> Principal
> Applied System Design
> lmorris@servergraph.com
> Office: 859-253-8000
>    Fax: 425-988-8478
> 
> ----- End forwarded message -----
> 
> --
> $jhi++; # http://www.iki.fi/jhi/
>         # There is this special biologist word we use for 'stable'.
>         # It is 'dead'. -- Jack Cohen
--------------C33B34F9EE5B4ECBA9D17CE0--) => ret: $VAR1 = {
          'opts' => '',
          'body' => '--------------C33B34F9EE5B4ECBA9D17CE0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Those dates refer to about 1AM on Octoboer 28, 2001, which I believe is
when daylight savings time kicks in, if you\'re in a timezone that likes
to do that kind of thing.

So, you\'re asking for the time just before DST ends, then immediately
after. The wall clock has been turned back an hour and run through again
in  -`-.0
.0 those

I believe if you run those "missing" seconds back through localtime,
you\'ll see that they correspond to the same time frame on the "clock".
(or localtime()).



Jarkko Hietaniemi wrote:
> 
> ----- Forwarded message from Lindsay Morris <servergraph.com@verizon.net> -----
> 
> Subject: Bug in timelocal?
> From: "Lindsay Morris" <servergraph.com@verizon.net>
> Date: Fri, 5 Oct 2001 15:32:20 -0400
> Message-ID: <002501c14dd4$7372e680$4cb8f5c0@lmorris>
> To: <cpan@perl.org>
> Reply-To: <lmorris@servergraph.com>
> Importance: Normal
> 
> Add a minute, gain an hour?
> Run this:
> 
> #!/usr/bin/perl
> use Time::Local;
> print "timelocal(0,59,0,28,9,101) is:", timelocal(0,59,0,28,9,101),"\\n";
> print "timelocal(0, 0,1,28,9,101) is:", timelocal(0, 0,1,28,9,101),"\\n";
> # with perl 5.6.0.1 on AIX 4.3.2.0, I get:
> # timelocal(0,59,0,28,9,101) is:1004245140
> # timelocal(0, 0,1,28,9,101) is:1004248800
> # The difference is seconds is an hour and a minute, not just a minute.
> # Lindsay Morris / lmorris@servergraph.com / 859-253-8000
> 
> Same behavior w perl v 5.005.03.
> Any wisdom appreciated...
> ---------------------------------
> Mr. Lindsay Morris
> Principal
> Applied System Design
> lmorris@servergraph.com
> Office: 859-253-8000
>    Fax: 425-988-8478
> 
> ----- End forwarded message -----
> 
> --
> $jhi++; # http://www.iki.fi/jhi/
>         # There is this special biologist word we use for \'stable\'.
>         # It is \'dead\'. -- Jack Cohen
--------------C33B34F9EE5B4ECBA9D17CE0--'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 15 wallclock secs ( 0.22 usr +  0.03 sys =  0.25 CPU)
	Alltook: 15 wallclock secs ( 0.23 usr +  0.03 sys =  0.26 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (55288) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Will Coleda <wcoleda@infomg.com>) 
			In-Reply-To()
			Message-Id(<3BBEEF33.6AAA70C4@infomg.com>) 
			Reply-To() 
			Subject(Re: [servergraph.com@verizon.net: Bug in timelocal?]) 
			To(Lindsay Morris <servergraph.com@verizon.net>, perl5-porters@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEF33.6AAA70C4@infomg.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEF33.6AAA70C4@infomg.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEF33.6AAA70C4@infomg.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEF33.6AAA70C4@infomg.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEF33.6AAA70C4@infomg.com>%') 
[14] domain(bugs\.perl\.org) ?-> to(Lindsay Morris <servergraph.com@verizon.net>, perl5-porters@perl.org), subject(Re: [servergraph.com@verizon.net: Bug in timelocal?]), cc() 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(--------------E1613CCD8B766AA110B693EA
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit



Will Coleda wrote:
> 
> Those dates refer to about 1AM on Octoboer 28, 2001, which I believe is
> when daylight savings time kicks in, if you're in a timezone that likes
> to do that kind of thing.
> 
> So, you're asking for the time just before DST ends, then immediately
> after. The wall clock has been turned back an hour and run through again
> in  -`-.0
> .0 those

Owch. At this point in my original send, my keyboard tray collapsed and
fell on my toe, causing me to run around screaming, and apparently click
"send". =-)

To sum up: I think it's working. Try running those other 60 minutes
through localtime to see if you agree.

Regards. (and, "ow!")

> I believe if you run those "missing" seconds back through localtime,
> you'll see that they correspond to the same time frame on the "clock".
> (or localtime()).
> 
> Jarkko Hietaniemi wrote:
> >
> > ----- Forwarded message from Lindsay Morris <servergraph.com@verizon.net> -----
> >
> > Subject: Bug in timelocal?
> > From: "Lindsay Morris" <servergraph.com@verizon.net>
> > Date: Fri, 5 Oct 2001 15:32:20 -0400
> > Message-ID: <002501c14dd4$7372e680$4cb8f5c0@lmorris>
> > To: <cpan@perl.org>
> > Reply-To: <lmorris@servergraph.com>
> > Importance: Normal
> >
> > Add a minute, gain an hour?
> > Run this:
> >
> > #!/usr/bin/perl
> > use Time::Local;
> > print "timelocal(0,59,0,28,9,101) is:", timelocal(0,59,0,28,9,101),"\n";
> > print "timelocal(0, 0,1,28,9,101) is:", timelocal(0, 0,1,28,9,101),"\n";
> > # with perl 5.6.0.1 on AIX 4.3.2.0, I get:
> > # timelocal(0,59,0,28,9,101) is:1004245140
> > # timelocal(0, 0,1,28,9,101) is:1004248800
> > # The difference is seconds is an hour and a minute, not just a minute.
> > # Lindsay Morris / lmorris@servergraph.com / 859-253-8000
> >
> > Same behavior w perl v 5.005.03.
> > Any wisdom appreciated...
> > ---------------------------------
> > Mr. Lindsay Morris
> > Principal
> > Applied System Design
> > lmorris@servergraph.com
> > Office: 859-253-8000
> >    Fax: 425-988-8478
> >
> > ----- End forwarded message -----
> >
> > --
> > $jhi++; # http://www.iki.fi/jhi/
> >         # There is this special biologist word we use for 'stable'.
> >         # It is 'dead'. -- Jack Cohen
--------------E1613CCD8B766AA110B693EA--) => ret: $VAR1 = {
          'opts' => '',
          'body' => '--------------E1613CCD8B766AA110B693EA
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit



Will Coleda wrote:
> 
> Those dates refer to about 1AM on Octoboer 28, 2001, which I believe is
> when daylight savings time kicks in, if you\'re in a timezone that likes
> to do that kind of thing.
> 
> So, you\'re asking for the time just before DST ends, then immediately
> after. The wall clock has been turned back an hour and run through again
> in  -`-.0
> .0 those

Owch. At this point in my original send, my keyboard tray collapsed and
fell on my toe, causing me to run around screaming, and apparently click
"send". =-)

To sum up: I think it\'s working. Try running those other 60 minutes
through localtime to see if you agree.

Regards. (and, "ow!")

> I believe if you run those "missing" seconds back through localtime,
> you\'ll see that they correspond to the same time frame on the "clock".
> (or localtime()).
> 
> Jarkko Hietaniemi wrote:
> >
> > ----- Forwarded message from Lindsay Morris <servergraph.com@verizon.net> -----
> >
> > Subject: Bug in timelocal?
> > From: "Lindsay Morris" <servergraph.com@verizon.net>
> > Date: Fri, 5 Oct 2001 15:32:20 -0400
> > Message-ID: <002501c14dd4$7372e680$4cb8f5c0@lmorris>
> > To: <cpan@perl.org>
> > Reply-To: <lmorris@servergraph.com>
> > Importance: Normal
> >
> > Add a minute, gain an hour?
> > Run this:
> >
> > #!/usr/bin/perl
> > use Time::Local;
> > print "timelocal(0,59,0,28,9,101) is:", timelocal(0,59,0,28,9,101),"\\n";
> > print "timelocal(0, 0,1,28,9,101) is:", timelocal(0, 0,1,28,9,101),"\\n";
> > # with perl 5.6.0.1 on AIX 4.3.2.0, I get:
> > # timelocal(0,59,0,28,9,101) is:1004245140
> > # timelocal(0, 0,1,28,9,101) is:1004248800
> > # The difference is seconds is an hour and a minute, not just a minute.
> > # Lindsay Morris / lmorris@servergraph.com / 859-253-8000
> >
> > Same behavior w perl v 5.005.03.
> > Any wisdom appreciated...
> > ---------------------------------
> > Mr. Lindsay Morris
> > Principal
> > Applied System Design
> > lmorris@servergraph.com
> > Office: 859-253-8000
> >    Fax: 425-988-8478
> >
> > ----- End forwarded message -----
> >
> > --
> > $jhi++; # http://www.iki.fi/jhi/
> >         # There is this special biologist word we use for \'stable\'.
> >         # It is \'dead\'. -- Jack Cohen
--------------E1613CCD8B766AA110B693EA--'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 13 wallclock secs ( 0.22 usr +  0.02 sys =  0.24 CPU)
	Alltook: 13 wallclock secs ( 0.22 usr +  0.02 sys =  0.24 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (57070) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Michael De La Rue <mikedlr@tardis.ed.ac.uk>) 
			In-Reply-To()
			Message-Id(<Pine.GS4.4.33.0110061258040.23616-100000@davros.tardis.ed.ac.uk>) 
			Reply-To() 
			Subject(20010914.001 (getcwd/perl build)update: reproduced in perl current) 
			To(<perlbug@perl.com>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.GS4.4.33.0110061258040.23616-100000@davros.tardis.ed.ac.uk>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.GS4.4.33.0110061258040.23616-100000@davros.tardis.ed.ac.uk>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.GS4.4.33.0110061258040.23616-100000@davros.tardis.ed.ac.uk>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.GS4.4.33.0110061258040.23616-100000@davros.tardis.ed.ac.uk>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.GS4.4.33.0110061258040.23616-100000@davros.tardis.ed.ac.uk>%') 
[14] domain(bugs\.perl\.org) ?-> to(<perlbug@perl.com>), subject(20010914.001 (getcwd/perl build)update: reproduced in perl current), cc() 
[15] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE bugid = '20010914.001' 
[16] REPLY reply(1) from subject: (20010914.001) :-) 
[17] Decision -> do_reply(1) REPLY reply(1) from subject: (20010914.001) :-) 
[18] cmd(M) arg(I was requested to try reproducing bug 20010914.001 in perl current and
have succeded.  That is to say that if you download perl into
$HOME/perl-current
~
then do

        su -
        chmod go-r $HOME/.. #stop users from seeing other homedirs
        cd $HOME/perl-current
        exit

        Configure
        make

You will find that the perl compliation process crashes out.

I haven't yet got perl-current to install, so I haven't verified that
20010913.006 is also reproducible, but I suspect that it is since it is
due to the same problem (use of getcwd where cwd would work better).

Hope this all helps.  I think that the patches included in my previous
reports help with this problem.

        Michael

P.S. URL

http://bugs.perl.org/perlbug.cgi?req=bug_id&bug_id=20010914.001&format=H&trim=25&range=3610&target=perbug) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'I was requested to try reproducing bug 20010914.001 in perl current and
have succeded.  That is to say that if you download perl into
$HOME/perl-current
~
then do

        su -
        chmod go-r $HOME/.. #stop users from seeing other homedirs
        cd $HOME/perl-current
        exit

        Configure
        make

You will find that the perl compliation process crashes out.

I haven\'t yet got perl-current to install, so I haven\'t verified that
20010913.006 is also reproducible, but I suspect that it is since it is
due to the same problem (use of getcwd where cwd would work better).

Hope this all helps.  I think that the patches included in my previous
reports help with this problem.

        Michael

P.S. URL

http://bugs.perl.org/perlbug.cgi?req=bug_id&bug_id=20010914.001&format=H&trim=25&range=3610&target=perbug'
        };
 
[19] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 24 wallclock secs ( 0.22 usr +  0.02 sys =  0.24 CPU)
	Alltook: 24 wallclock secs ( 0.22 usr +  0.02 sys =  0.24 CPU)
        including 13 SQL statements 
        using 1 database handle/s
	 
[20] SQL: SHOW fields FROM pb_range 
[21] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (59142) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(juiceplus01@aol.com) 
			In-Reply-To()
			Message-Id(<200110061230.f96CUP101232@chthon.perl.com>) 
			Reply-To(juiceplus01@aol.com) 
			Subject(Juice Plus: A Health Breakthrough) 
			To(william@bellsouth.com) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061230.f96CUP101232@chthon.perl.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061230.f96CUP101232@chthon.perl.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061230.f96CUP101232@chthon.perl.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061230.f96CUP101232@chthon.perl.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061230.f96CUP101232@chthon.perl.com>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 14 wallclock secs ( 0.20 usr +  0.02 sys =  0.22 CPU)
	Alltook: 14 wallclock secs ( 0.20 usr +  0.02 sys =  0.22 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (60335) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(<Accountinfo@bid4placement.com>) 
			In-Reply-To()
			Message-Id(<373.8566.753997@bid4placement.com>) 
			Reply-To() 
			Subject(Re: Your Bid 4 Placement Account) 
			To() 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <373.8566.753997@bid4placement.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <373.8566.753997@bid4placement.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <373.8566.753997@bid4placement.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <373.8566.753997@bid4placement.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <373.8566.753997@bid4placement.com>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 14 wallclock secs ( 0.21 usr +  0.02 sys =  0.23 CPU)
	Alltook: 14 wallclock secs ( 0.21 usr +  0.02 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (67130) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From("Colombia: \"zona..." <etrujillo@telesat.com.co>) 
			In-Reply-To()
			Message-Id(<00f601c14e14$9b69d000$0600a8c0@no>) 
			Reply-To() 
			Subject(=?iso-8859-1?Q?..._de_despeje=22=2C_vergonzoso_campo_de_concentra
    ci=F3n?=) 
			To(perlbug@perl.com) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <00f601c14e14$9b69d000$0600a8c0@no>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <00f601c14e14$9b69d000$0600a8c0@no>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <00f601c14e14$9b69d000$0600a8c0@no>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <00f601c14e14$9b69d000$0600a8c0@no>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <00f601c14e14$9b69d000$0600a8c0@no>%') 
[14] domain(bugs\.perl\.org) ?-> to(perlbug@perl.com), subject(=?iso-8859-1?Q?..._de_despeje=22=2C_vergonzoso_campo_de_concentra
    ci=F3n?=), cc() 
[15] Nope, bounce(1): addressed to one of us, but with no match in body(7270) :-|| 
[16] Decision -> do_bounce(1) Nope, bounce(1): addressed to one of us, but with no match in body(7270) :-|| 
[17] cmd(bounce) arg(Contacto de Prensa: Eugenio Trujillo V. ETrujillo@telesat.com.co

TRADICIN Y ACCIN RECHAZA PRRROGA
DE LA "ZONA DE DESPEJE" PARA LA GUERRILLA
SIGAMOS EL EJEMPLO DE ESTADOS UNIDOS!
(vea al final carta de Tradicin y Accin al presidente norteamericano
George W. Bush)

Los terribles acontecimientos de la ltima semana han conmocionado a
todo el Pas. El vil y cobarde asesinato de la Sra. Consuelo Arajo
Noguera, pocos das despus de secuestrada junto con numerosas personas
en una carretera del Departamento del Cesar, y otro secuestro, tambin
en el Csar, de 20 personas ms por parte de la guerrilla de las FARC el
mismo da del funeral de la ex ministra, ponen en evidencia lo que en
definitiva el Gobierno y un sector de la dirigencia poltica, religiosa
y empresarial de Colombia se niegan a ver.
Los acuerdos de paz se han transformado en una burla de la guerrilla al
pueblo colombiano. Sus incesantes crmenes y atropellos contra
ciudadanos inocentes e indefensos, aumentan el clamor de la opinin
pblica para que cese de una vez por todas la actitud complaciente del
Gobierno con estos grupos terroristas.
Nuestra Patria ha sufrido los embates del terrorismo marxista durante
dcadas, y los grupos guerrilleros son culpables anualmente por el
secuestro de ms de 3.000 personas,  por el asesinato de 15.000 o ms
compatriotas,  por la destruccin de ms de 100 poblaciones y muchos
otros crmenes que Colombia est harta de conocer y de rechazar con
indignacin. Sin embargo,  nuestros dirigentes consideran que claudicar
frente a estos grupos, y rodearlos de concesiones y privilegios es la
nica manera de conducirnos a la paz.
Qu terrible equivocacin! Y cmo contrasta esa actitud con la que ha
tomado el mundo entero, encabezada por el gobierno de Estados Unidos,
para enfrentar este flagelo de nuestra poca.  Las naciones del Primer
Mundo nunca pensaron que podan sucederles hechos tan graves como los
acaecidos en Nueva York y en Washington. Pero, para fortuna de la
humanidad, a nadie se le ocurri entregar a los terroristas un pedazo de
los Estados Unidos o de cualquier otra nacin del mundo, para dialogar
indefinida e intilmente con ellos para saber qu quieren, mientras
siguen matando y destruyendo a diestra y siniestra.
Cmo nos falta seguir ese ejemplo de valor y entereza que, en estas
circunstancias trgicas, es lo nico que nos puede conducir realmente a
la paz: que el Estado haga respetar los derechos de los ciudadanos, y
los proteja eficientemente de las minoras criminales que slo luchan
por la destruccin de nuestra civilizacin!
La Sociedad Colombiana Tradicin y Accin considera de fundamental
importancia tener en cuenta estas consideraciones, una vez que el
prximo 8 de octubre vence el plazo por el cual se entreg la Zona del
Cagun a la tirana de las FARC. Ese territorio se ha convertido en un
vergonzoso campo de concentracin, donde se esconde a los secuestrados,
se refugian los secuestradores, se organizan atentados y masacres contra
poblaciones indefensas, a donde son llevados centenas de vehculos
robados y miles de cabezas de ganado hurtadas a sus legtimos
propietarios. Muy extenso sera  enumerar todos los dems oprobios all
ocurridos en estos dos aos y medio, pero no es necesario, pues el Pas
y el mundo entero ya lo saben.
Es de esperar que, en esta hora trgica para Colombia y para el mundo,
el valor, el honor y la dignidad sean tenidos en cuenta por nuestros
gobernantes, reconsiderando la decisin de entregar una parte del
territorio a quienes estn haciendo tan mal uso de l, para prolongar
impunemente su dedicacin al crimen..
Santa Fe de Bogot, Octubre 2 de 2001

Eugenio Trujillo V.
Director Ejecutivo
Sociedad Colombiana Tradicin y Accin

ENVENOS SU OPININ:
Apoya esta iniciativa de Tradicin y Accin?
mailto:info@colombia-autentica.org?subject=SI
mailto:info@colombia-autentica.org?subject=NO
Si lo desea, aada su valiosa opinin.
Al votar, por favor, reglenos su nombre, cdula y ciudad. Pretendemos
presentar las estadsticas a las autoridades a manera de una especie  de
referndum informal. Agradecemos su gentil atencin.

IMPORTANTE:
Tiene Vd. a disposicin las siguientes opciones:
mailto:info@colombia-autentica.org?subject=MasInformacion
mailto:info@colombia-autentica.org?subject=Subscribir
mailto:info@colombia-autentica.org?subject=Desubscribir

Visite nuestro sitio web: http://www.colombia-autentica.org

CARTA AL PRESIDENTE DE LOS ESTADOS UNIDOS
Excmo.  Sr. Presidente
George Bush
Washington D.C.
E. U. A.
Apreciado Sr. Presidente:
Impactada por los recientes atentados terroristas que golpearon no slo
a los Estados Unidos, sino tambin a todos los pases libres y
civilizados de Occidente, la Sociedad Colombiana Tradicin y Accin hace
llegar a V. Excia. un mensaje de profunda solidaridad.
Colombia ha sido atacada durante dcadas por la guerrilla y el
terrorismo marxistas de modo tristemente comparable a lo sucedido ahora
a su nacin: el nmero de vctimas se cuenta por millares, los ms
vitales principios morales y jurdicos de la civilizacin occidental y
cristiana son violados sin cesar, la economa ha sido duramente
afectada, los ciudadanos son sometidos a la agresin e incertidumbre
constantes y las legtimas libertades estn en permanente entredicho,
con la amenaza de conducirnos a una completa anarqua o directamente al
imperio del terror.
En medio de esa inmensa agresin, al ver la gran nacin Americana herida
por esos ataques, volvemos los ojos hacia ustedes y les expresamos
nuestras esperanzas en la vigorosa reaccin que su gobierno y su
poblacin han tenido, como corresponde a su condicin de baluartes
contemporneos frente a las amenazas tanto del totalitarismo como del
anarquismo.
S, Seor Presidente,  Iberoamrica y en especial Colombia, vuelven su
mirada hacia los Estados Unidos, no slo para  lamentar esos criminales
atentados, expresarle su solidaridad  y hacer votos por la rpida y
completa recuperacin de esa Nacin, sino tambin para mostrar su
disposicin de luchar segn un mismo espritu en defensa de la ndole
cristiana de nuestros pases y en pro de  la grandeza espiritual y
material  de nuestro Continente.
Los colombianos de bien sufrimos a menudo impotentes los ataques de la
guerrilla y del terrorismo marxistas porque nuestros gobernantes creen
poder neutralizarlos, hacindoles concesiones y dndoles impunidad. Por
ello, encontramos en Ud. y en la determinacin de la gran nacin
norteamericana de luchar hasta el herosmo, en defensa del Derecho y de
la Civilizacin, un motivo de confianza de que, con el auxilio de Dios,
se abra una era de nuevas glorias y triunfos para quienes aman los
principios cristianos bajo cuya luz nuestros pases nacieron y
progresaron.
Reciba, Seor Presidente, junto a todo el pueblo de los EEUU, el mensaje
de apoyo, aprecio y adhesin de nuestra Entidad, con la seguridad de que
esto representa el pensar de la inmensa mayora de los colombianos, de
estar con ustedes en la gran y valerosa empresa a la cual su certera y
elocuente voz  ha convocado.
Haciendo votos de xito, lo saludan, cordial y sinceramente,
Julio E Hurtado
Presidente
Eugenio Trujillo V.
Director Ejecutivo
info@colombia-autentica.org
Santa Fe de Bogot, Septiembre 28 de 2001) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'Contacto de Prensa: Eugenio Trujillo V. ETrujillo@telesat.com.co

TRADICIN Y ACCIN RECHAZA PRRROGA
DE LA "ZONA DE DESPEJE" PARA LA GUERRILLA
SIGAMOS EL EJEMPLO DE ESTADOS UNIDOS!
(vea al final carta de Tradicin y Accin al presidente norteamericano
George W. Bush)

Los terribles acontecimientos de la ltima semana han conmocionado a
todo el Pas. El vil y cobarde asesinato de la Sra. Consuelo Arajo
Noguera, pocos das despus de secuestrada junto con numerosas personas
en una carretera del Departamento del Cesar, y otro secuestro, tambin
en el Csar, de 20 personas ms por parte de la guerrilla de las FARC el
mismo da del funeral de la ex ministra, ponen en evidencia lo que en
definitiva el Gobierno y un sector de la dirigencia poltica, religiosa
y empresarial de Colombia se niegan a ver.
Los acuerdos de paz se han transformado en una burla de la guerrilla al
pueblo colombiano. Sus incesantes crmenes y atropellos contra
ciudadanos inocentes e indefensos, aumentan el clamor de la opinin
pblica para que cese de una vez por todas la actitud complaciente del
Gobierno con estos grupos terroristas.
Nuestra Patria ha sufrido los embates del terrorismo marxista durante
dcadas, y los grupos guerrilleros son culpables anualmente por el
secuestro de ms de 3.000 personas,  por el asesinato de 15.000 o ms
compatriotas,  por la destruccin de ms de 100 poblaciones y muchos
otros crmenes que Colombia est harta de conocer y de rechazar con
indignacin. Sin embargo,  nuestros dirigentes consideran que claudicar
frente a estos grupos, y rodearlos de concesiones y privilegios es la
nica manera de conducirnos a la paz.
Qu terrible equivocacin! Y cmo contrasta esa actitud con la que ha
tomado el mundo entero, encabezada por el gobierno de Estados Unidos,
para enfrentar este flagelo de nuestra poca.  Las naciones del Primer
Mundo nunca pensaron que podan sucederles hechos tan graves como los
acaecidos en Nueva York y en Washington. Pero, para fortuna de la
humanidad, a nadie se le ocurri entregar a los terroristas un pedazo de
los Estados Unidos o de cualquier otra nacin del mundo, para dialogar
indefinida e intilmente con ellos para saber qu quieren, mientras
siguen matando y destruyendo a diestra y siniestra.
Cmo nos falta seguir ese ejemplo de valor y entereza que, en estas
circunstancias trgicas, es lo nico que nos puede conducir realmente a
la paz: que el Estado haga respetar los derechos de los ciudadanos, y
los proteja eficientemente de las minoras criminales que slo luchan
por la destruccin de nuestra civilizacin!
La Sociedad Colombiana Tradicin y Accin considera de fundamental
importancia tener en cuenta estas consideraciones, una vez que el
prximo 8 de octubre vence el plazo por el cual se entreg la Zona del
Cagun a la tirana de las FARC. Ese territorio se ha convertido en un
vergonzoso campo de concentracin, donde se esconde a los secuestrados,
se refugian los secuestradores, se organizan atentados y masacres contra
poblaciones indefensas, a donde son llevados centenas de vehculos
robados y miles de cabezas de ganado hurtadas a sus legtimos
propietarios. Muy extenso sera  enumerar todos los dems oprobios all
ocurridos en estos dos aos y medio, pero no es necesario, pues el Pas
y el mundo entero ya lo saben.
Es de esperar que, en esta hora trgica para Colombia y para el mundo,
el valor, el honor y la dignidad sean tenidos en cuenta por nuestros
gobernantes, reconsiderando la decisin de entregar una parte del
territorio a quienes estn haciendo tan mal uso de l, para prolongar
impunemente su dedicacin al crimen..
Santa Fe de Bogot, Octubre 2 de 2001

Eugenio Trujillo V.
Director Ejecutivo
Sociedad Colombiana Tradicin y Accin

ENVENOS SU OPININ:
Apoya esta iniciativa de Tradicin y Accin?
mailto:info@colombia-autentica.org?subject=SI
mailto:info@colombia-autentica.org?subject=NO
Si lo desea, aada su valiosa opinin.
Al votar, por favor, reglenos su nombre, cdula y ciudad. Pretendemos
presentar las estadsticas a las autoridades a manera de una especie  de
referndum informal. Agradecemos su gentil atencin.

IMPORTANTE:
Tiene Vd. a disposicin las siguientes opciones:
mailto:info@colombia-autentica.org?subject=MasInformacion
mailto:info@colombia-autentica.org?subject=Subscribir
mailto:info@colombia-autentica.org?subject=Desubscribir

Visite nuestro sitio web: http://www.colombia-autentica.org

CARTA AL PRESIDENTE DE LOS ESTADOS UNIDOS
Excmo.  Sr. Presidente
George Bush
Washington D.C.
E. U. A.
Apreciado Sr. Presidente:
Impactada por los recientes atentados terroristas que golpearon no slo
a los Estados Unidos, sino tambin a todos los pases libres y
civilizados de Occidente, la Sociedad Colombiana Tradicin y Accin hace
llegar a V. Excia. un mensaje de profunda solidaridad.
Colombia ha sido atacada durante dcadas por la guerrilla y el
terrorismo marxistas de modo tristemente comparable a lo sucedido ahora
a su nacin: el nmero de vctimas se cuenta por millares, los ms
vitales principios morales y jurdicos de la civilizacin occidental y
cristiana son violados sin cesar, la economa ha sido duramente
afectada, los ciudadanos son sometidos a la agresin e incertidumbre
constantes y las legtimas libertades estn en permanente entredicho,
con la amenaza de conducirnos a una completa anarqua o directamente al
imperio del terror.
En medio de esa inmensa agresin, al ver la gran nacin Americana herida
por esos ataques, volvemos los ojos hacia ustedes y les expresamos
nuestras esperanzas en la vigorosa reaccin que su gobierno y su
poblacin han tenido, como corresponde a su condicin de baluartes
contemporneos frente a las amenazas tanto del totalitarismo como del
anarquismo.
S, Seor Presidente,  Iberoamrica y en especial Colombia, vuelven su
mirada hacia los Estados Unidos, no slo para  lamentar esos criminales
atentados, expresarle su solidaridad  y hacer votos por la rpida y
completa recuperacin de esa Nacin, sino tambin para mostrar su
disposicin de luchar segn un mismo espritu en defensa de la ndole
cristiana de nuestros pases y en pro de  la grandeza espiritual y
material  de nuestro Continente.
Los colombianos de bien sufrimos a menudo impotentes los ataques de la
guerrilla y del terrorismo marxistas porque nuestros gobernantes creen
poder neutralizarlos, hacindoles concesiones y dndoles impunidad. Por
ello, encontramos en Ud. y en la determinacin de la gran nacin
norteamericana de luchar hasta el herosmo, en defensa del Derecho y de
la Civilizacin, un motivo de confianza de que, con el auxilio de Dios,
se abra una era de nuevas glorias y triunfos para quienes aman los
principios cristianos bajo cuya luz nuestros pases nacieron y
progresaron.
Reciba, Seor Presidente, junto a todo el pueblo de los EEUU, el mensaje
de apoyo, aprecio y adhesin de nuestra Entidad, con la seguridad de que
esto representa el pensar de la inmensa mayora de los colombianos, de
estar con ustedes en la gran y valerosa empresa a la cual su certera y
elocuente voz  ha convocado.
Haciendo votos de xito, lo saludan, cordial y sinceramente,
Julio E Hurtado
Presidente
Eugenio Trujillo V.
Director Ejecutivo
info@colombia-autentica.org
Santa Fe de Bogot, Septiembre 28 de 2001'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  6 wallclock secs ( 0.24 usr +  0.01 sys =  0.25 CPU)
	Alltook:  6 wallclock secs ( 0.24 usr +  0.01 sys =  0.25 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (72698) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Stas Bekman <stas@stason.org>) 
			In-Reply-To()
			Message-Id(<3BBF068C.9010101@stason.org>) 
			Reply-To() 
			Subject(ExtUtils::MakeMaker's PREOP vs distdir execution order) 
			To(Perl 5 Porters <perl5-porters@perl.org>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[14] domain(bugs\.perl\.org) ?-> to(Perl 5 Porters <perl5-porters@perl.org>), subject(ExtUtils::MakeMaker's PREOP vs distdir execution order), cc() 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(Hi,

Correct me if I'm wrong but to me it makes more sense if $(PREOP) is
executed before 'distdir' target in the Makefile created by
ExtUtils::MakeMaker.

Currently we have:

$(DISTVNAME).tar$(SUFFIX) : distdir
         $(PREOP)
         ...

distdir :
         $(RM_RF) $(DISTVNAME)
         $(PERLRUN) -MExtUtils::Manifest=manicopy,maniread \
                 -e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');"

So if I want to create a README file based on the pod in the module, 
using PREOP:

   WriteMakefile(
       dist         => {
                        PREOP => 'pod2text lib/Apache/Amazing.pm > README',
                       },
       ...
   );

I must at least touch the file, otherwise manicopy() will fail:

-e: README not found at -e line 1
Can't read README: No such file or directory
  at -e line 1

But doesn't it make more sense to run PREOP before running manicopy()? 
So some extra files could be created before MANIFEST is checked? It 
doesn't matter if the dist targets are overridable and I adjust these 
manually.

I've seen many CPAN modules using the README creating technique as 
above, so it'd be much nicer to have it as a default :)

Thanks!



_____________________________________________________________________
Stas Bekman             JAm_pH      --   Just Another mod_perl Hacker
http://stason.org/      mod_perl Guide   http://perl.apache.org/guide
mailto:stas@stason.org  http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'Hi,

Correct me if I\'m wrong but to me it makes more sense if $(PREOP) is
executed before \'distdir\' target in the Makefile created by
ExtUtils::MakeMaker.

Currently we have:

$(DISTVNAME).tar$(SUFFIX) : distdir
         $(PREOP)
         ...

distdir :
         $(RM_RF) $(DISTVNAME)
         $(PERLRUN) -MExtUtils::Manifest=manicopy,maniread \\
                 -e "manicopy(maniread(),\'$(DISTVNAME)\', \'$(DIST_CP)\');"

So if I want to create a README file based on the pod in the module, 
using PREOP:

   WriteMakefile(
       dist         => {
                        PREOP => \'pod2text lib/Apache/Amazing.pm > README\',
                       },
       ...
   );

I must at least touch the file, otherwise manicopy() will fail:

-e: README not found at -e line 1
Can\'t read README: No such file or directory
  at -e line 1

But doesn\'t it make more sense to run PREOP before running manicopy()? 
So some extra files could be created before MANIFEST is checked? It 
doesn\'t matter if the dist targets are overridable and I adjust these 
manually.

I\'ve seen many CPAN modules using the README creating technique as 
above, so it\'d be much nicer to have it as a default :)

Thanks!



_____________________________________________________________________
Stas Bekman             JAm_pH      --   Just Another mod_perl Hacker
http://stason.org/      mod_perl Guide   http://perl.apache.org/guide
mailto:stas@stason.org  http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 11 wallclock secs ( 0.23 usr +  0.02 sys =  0.24 CPU)
	Alltook: 11 wallclock secs ( 0.23 usr +  0.02 sys =  0.25 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (90057) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From("Pleasure Inc." <pleasure_inc@usa.com>) 
			In-Reply-To()
			Message-Id(<200110061536.f96FaH122062@chthon.perl.com>) 
			Reply-To() 
			Subject(DRIVE WOMEN WILD! GUARANTEED! SCIENCE HAS FINALLY DONE IT!) 
			To("Customer" <pleasure_inc@usa.com>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061536.f96FaH122062@chthon.perl.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061536.f96FaH122062@chthon.perl.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061536.f96FaH122062@chthon.perl.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061536.f96FaH122062@chthon.perl.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061536.f96FaH122062@chthon.perl.com>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  9 wallclock secs ( 0.22 usr +  0.01 sys =  0.23 CPU)
	Alltook:  9 wallclock secs ( 0.22 usr +  0.01 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (90980) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(perl5-porters@perl.org, hv@crypt0.demon.co.uk) 
			From(Hugo van der Sanden <hv@crypt.compulink.co.uk>) 
			In-Reply-To(<20011005164454.F38756@plum.flirble.org>)
			Message-Id(<200110061423.f96ENho20367@crypt.compulink.co.uk>) 
			Reply-To(hv@crypt0.demon.co.uk) 
			Subject(Re: values %hash docs) 
			To(Nicholas Clark <nick@ccl4.org>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061423.f96ENho20367@crypt.compulink.co.uk>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061423.f96ENho20367@crypt.compulink.co.uk>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061423.f96ENho20367@crypt.compulink.co.uk>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061423.f96ENho20367@crypt.compulink.co.uk>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061423.f96ENho20367@crypt.compulink.co.uk>%') 
[14] domain(bugs\.perl\.org) ?-> to(Nicholas Clark <nick@ccl4.org>), subject(Re: values %hash docs), cc(perl5-porters@perl.org, hv@crypt0.demon.co.uk) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x86023e4)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011005164454.F38756@plum.flirble.org>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011005164454.F38756@plum.flirble.org>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011005164454.F38756@plum.flirble.org>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011005164454.F38756@plum.flirble.org>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011005164454.F38756@plum.flirble.org>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(Nicholas Clark <nick@ccl4.org> wrote:
:Does that mean that this one always worked:
:    for (@hash{keys %hash}) { s/foo/bar/g }   # same
:
:and this one only worked since 5.6.0:
:    for (values %hash)      { s/foo/bar/g }   # modifies %hash values

Sounds correct.

:if so, shouldn't we document that in perlfunc for the benefit of anyone trying
:to write portable code.

Yes.

:I assume that
:
:  for (keys %hash)
:will be looping over a copy of the keys of the hash

Yes.

:  for (values %hash) 
:Is this a temporary array, but contains aliases to the real values?

Yes.

:[since 5.6.0? 5.005 and earlier have copies?]

Yes:
  crypt% /opt/perl5.005_03/bin/perl -wle '%a=1..6; ++$_ for values %a; print join " ", %a'
  1 2 3 4 5 6
  crypt% /opt/perl-5.6.0/bin/perl -wle '%a=1..6; ++$_ for values %a; print join " ", %a'
  1 3 3 5 5 7
  crypt% 

:(So it won't get messed up if midway through one starts adding/deleting
:elements from the hash? [all perl versions])

Ish. Note:
  crypt% /opt/perl-5.6.0/bin/perl -wle '%a=1..6; ($a{5}=4),++$_ for values %a; print join " ", %a'
  1 3 3 5 5 5
  crypt% 
.. since the $a{5}=4 modifies the SV we have an alias to, I'm guessing.
Not sure whether this is intended behaviour: I suspect not, since if you
replace ($a{5}=4) with (delete $a{5}) you get:
  Modification of a read-only value attempted at -e line 1.
  Attempt to free unreferenced scalar.
.. even in perl@12163. Hmm:
  crypt% perl -MDevel::Peek -wle '%a=1..6; Dump($_),(delete $a{5}),++$_ for values %a; print join " ", %a'
  SV = IV(0x811b1ec) at 0x811c0d0
    REFCNT = 2
    FLAGS = (IOK,pIOK)
    IV = 2
  SV = IV(0x811b1bc) at 0x811be60
    REFCNT = 2
    FLAGS = (IOK,pIOK)
    IV = 4
  SV = UNKNOWN(0xff) (0x8111a8c) at 0x811187c
    REFCNT = 1
    FLAGS = ()
  Modification of a read-only value attempted at -e line 1.
  Attempt to free unreferenced scalar.
  crypt% 

:  each %hash
:using the hash iterator. Adding/removing keys will mess up the iterator,
:except for deleting the most recently returned key (docs say this)
:
:How much behaviour do we want to guarantee, considering that perl6 will
:(probably) have lazy lists, and values & keys seem like candidates 
:becoming lazy lists.

I can't see any reason to remove the existing guarantees at this stage
of perl5's life. What changes in perl6 will be down to Larry, and will
if necessary become an issue for the p5 => p6 translator. My guess is
that we'll have pluggable hash implementations, so that if necessary
we can always plug in p5 semantics where necessary.

Hugo) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'Nicholas Clark <nick@ccl4.org> wrote:
:Does that mean that this one always worked:
:    for (@hash{keys %hash}) { s/foo/bar/g }   # same
:
:and this one only worked since 5.6.0:
:    for (values %hash)      { s/foo/bar/g }   # modifies %hash values

Sounds correct.

:if so, shouldn\'t we document that in perlfunc for the benefit of anyone trying
:to write portable code.

Yes.

:I assume that
:
:  for (keys %hash)
:will be looping over a copy of the keys of the hash

Yes.

:  for (values %hash) 
:Is this a temporary array, but contains aliases to the real values?

Yes.

:[since 5.6.0? 5.005 and earlier have copies?]

Yes:
  crypt% /opt/perl5.005_03/bin/perl -wle \'%a=1..6; ++$_ for values %a; print join " ", %a\'
  1 2 3 4 5 6
  crypt% /opt/perl-5.6.0/bin/perl -wle \'%a=1..6; ++$_ for values %a; print join " ", %a\'
  1 3 3 5 5 7
  crypt% 

:(So it won\'t get messed up if midway through one starts adding/deleting
:elements from the hash? [all perl versions])

Ish. Note:
  crypt% /opt/perl-5.6.0/bin/perl -wle \'%a=1..6; ($a{5}=4),++$_ for values %a; print join " ", %a\'
  1 3 3 5 5 5
  crypt% 
.. since the $a{5}=4 modifies the SV we have an alias to, I\'m guessing.
Not sure whether this is intended behaviour: I suspect not, since if you
replace ($a{5}=4) with (delete $a{5}) you get:
  Modification of a read-only value attempted at -e line 1.
  Attempt to free unreferenced scalar.
.. even in perl@12163. Hmm:
  crypt% perl -MDevel::Peek -wle \'%a=1..6; Dump($_),(delete $a{5}),++$_ for values %a; print join " ", %a\'
  SV = IV(0x811b1ec) at 0x811c0d0
    REFCNT = 2
    FLAGS = (IOK,pIOK)
    IV = 2
  SV = IV(0x811b1bc) at 0x811be60
    REFCNT = 2
    FLAGS = (IOK,pIOK)
    IV = 4
  SV = UNKNOWN(0xff) (0x8111a8c) at 0x811187c
    REFCNT = 1
    FLAGS = ()
  Modification of a read-only value attempted at -e line 1.
  Attempt to free unreferenced scalar.
  crypt% 

:  each %hash
:using the hash iterator. Adding/removing keys will mess up the iterator,
:except for deleting the most recently returned key (docs say this)
:
:How much behaviour do we want to guarantee, considering that perl6 will
:(probably) have lazy lists, and values & keys seem like candidates 
:becoming lazy lists.

I can\'t see any reason to remove the existing guarantees at this stage
of perl5\'s life. What changes in perl6 will be down to Larry, and will
if necessary become an issue for the p5 => p6 translator. My guess is
that we\'ll have pluggable hash implementations, so that if necessary
we can always plug in p5 semantics where necessary.

Hugo'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  4 wallclock secs ( 0.25 usr +  0.02 sys =  0.27 CPU)
	Alltook:  4 wallclock secs ( 0.25 usr +  0.02 sys =  0.27 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (91508) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Alexander Bergolth <bergolth@ollie.wu-wien.ac.at>) 
			In-Reply-To()
			Message-Id(<200110061543.RAA64214@ollie.wu-wien.ac.at>) 
			Reply-To(leo@strike.wu-wien.ac.at) 
			Subject(signal handlers and waitpid) 
			To(perlbug@perl.com) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061543.RAA64214@ollie.wu-wien.ac.at>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061543.RAA64214@ollie.wu-wien.ac.at>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061543.RAA64214@ollie.wu-wien.ac.at>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061543.RAA64214@ollie.wu-wien.ac.at>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061543.RAA64214@ollie.wu-wien.ac.at>%') 
[14] domain(bugs\.perl\.org) ?-> to(perlbug@perl.com), subject(signal handlers and waitpid), cc() 
[15] NEW BUG new(1): Yup! perl(\bperl|perl\b) subject(signal handlers and waitpid) :-)) 
[16] Decision -> do_new(1) NEW BUG new(1): Yup! perl(\bperl|perl\b) subject(signal handlers and waitpid) :-)) 
[17] cmd(B) arg(This is a bug report for perl from leo@strike.wu-wien.ac.at,
generated with the help of perlbug 1.28 running under perl v5.6.0.


-----------------------------------------------------------------
[Please enter your report here]

I've written a small test-script (see below) that dumps core
because of a segmentation violation on many systems when the signal
handler is called while there is memory is allocated in the main
program. The signal handler doesn't use or modify any variable,
it's only:

  $SIG{'CHLD'} = sub {
    while (waitpid(-1,&WNOHANG) > 0) { }
  };

I've tested this with perl-5.6.0 on AIX-4.2.1 and AIX-4.3.3 and
with perl-5.005_03 on linux-2.2.19.

The test-script and the stack backtrace is attached below...
(The random- and delay-parameters are optimised for a crash on
slower machines.)

---------- snipp! ----------
#!/usr/local/bin/perl

use strict;
use POSIX ":sys_wait_h";

my $RAND1= 2000;
my $RAND2= 2000;
my $DELAY_MAIN = 0.1;
my $DELAY_CHILD = 2;

$SIG{'CHLD'} = sub {
  while (waitpid(-1,&WNOHANG) > 0) { }
};

my $CHILD_PID   = 0;

srand();
$|= 1;

my $i;
for ($i = 1; $i < 200; $i++) {
  print "fork $i\n";
  # allocate some memory
  my ($i, $r1, $r2, @buf);
  $r1= rand($RAND1);
  for ($i= 1; $i <= $r1; $i++) {
    $r2= rand($RAND2);
    $buf[$i] = "x" x $r2;
  }

  my $pid;
  if ($pid = fork) {
    # parent
    select(undef, undef, undef, $DELAY_MAIN);
    print "          Child $pid ready\n";
    next;
  } elsif (defined $pid) {
    # child
    $SIG{'CHLD'} = 'DEFAULT';
    print "          Child $$ ready\n";
    select (undef, undef, undef, rand($DELAY_CHILD));
    print "          Child $$ exit\n";
    exit(0);
  }
  else {
    print "Fork error: $!\n";
    return;
  }
}

print "Done\n";

---------- snipp! ----------

perl-5.6.0 on Linux-2.2.19:
---------------------------
#0  chunk_alloc (ar_ptr=0x40141d40, nb=16) at malloc.c:2814
#1  0x400ac5ae in malloc () at malloc.c:2181
#2  0x807bbe5 in Perl_safemalloc ()
#3  0x808abb6 in Perl_sv_grow ()
#4  0x808cb10 in Perl_sv_setsv ()
#5  0x808ebf5 in Perl_sv_mortalcopy ()
#6  0x8087d8a in Perl_pp_leave ()
#7  0x80b49ad in Perl_runops_standard ()
#8  0x8059a01 in perl_call_sv ()
#9  0x8081cb8 in Perl_sighandler ()
#10 0x40071c48 in __restore () at
../sysdeps/unix/sysv/linux/i386/sigaction.c:127
#11 0x400ac5ae in malloc () at malloc.c:2181
#12 0x807bbe5 in Perl_safemalloc ()
#13 0x808abb6 in Perl_sv_grow ()
#14 0x808cb10 in Perl_sv_setsv ()
#15 0x808533b in Perl_pp_sassign ()
#16 0x80b49ad in Perl_runops_standard ()
#17 0x8059338 in perl_run ()
#18 0x80577e1 in main ()
#19 0x4006b9cb in __libc_start_main () at
../sysdeps/generic/libc-start.c:122


perl-5.6.0 on AIX-4.2.1:
------------------------
malloc_y.malloc_y(??) at 0xd02656c8
malloc.malloc(??) at 0xd0262f10
Perl_safesysmalloc() at 0x100313e4
Perl_sv_grow() at 0x10027550
Perl_sv_setsv() at 0x10024e08
Perl_pp_sassign() at 0x1007d1b8
Perl_runops_standard() at 0x1006340c
S_run_body() at 0x100007c4
perl_run() at 0x100068d0
main() at 0x100003cc


[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
    category=core
    severity=medium
---
Site configuration information for perl v5.6.0:

Configured by bergolth at Fri Oct 20 19:23:46 MES 2000.

Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration:
  Platform:
    osname=aix, osvers=4.2.1.0, archname=aix42
    uname='aix ollie 2 4 0045781a4c00 '
    config_args='-d'
    hint=previous, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=undef d_sfio=undef uselargefiles=define 
    use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef
  Compiler:
    cc='/usr/vac/bin/cc_r', optimize='-O', gccversion=
    cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -I/usr/local/include -I/usr/local/BerkeleyDB.3.1/include'
    ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -I/usr/local/include -I/usr/local/BerkeleyDB.3.1/include'
    stdchar='unsigned char', d_stdstdio=define, usevfork=false
    intsize=4, longsize=4, ptrsize=4, doublesize=8
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=4
    alignbytes=8, usemymalloc=n, prototype=define
  Linker and Libraries:
    ld='ld', ldflags ='-L/usr/local/lib -L/usr/local/BerkeleyDB.3.1/lib'
    libpth=/usr/local/lib /usr/local/BerkeleyDB.3.1/lib /lib /usr/lib /usr/ccs/lib
    libs=-lbind -lnsl -ldbm -ldl -lld -lm -lC -lc -lbsd -lPW -liconv -ldb
    libc=, so=a, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags='  -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE/perl.exp -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE/perl.exp -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE/perl.exp -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE
/perl.exp -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE/perl.exp'
    cccdlflags=' ', lddlflags='-bhalt:4 -bM:SRE -bI:$(PERL_INC)/perl.exp -bE:$(BASEEXT).exp -b noentry -lC -lc -L/usr/local/lib -L/usr/local/BerkeleyDB.3.1/lib'

Locally applied patches:
    

---
@INC for perl v5.6.0:
    /usr/local/lib/perl5/5.6.0/aix42
    /usr/local/lib/perl5/5.6.0
    /usr/local/lib/perl5/site_perl/5.6.0/aix42
    /usr/local/lib/perl5/site_perl/5.6.0
    /usr/local/lib/perl5/site_perl
    .

---
Environment for perl v5.6.0:
    HOME=/afs/wu-wien.ac.at/home/edvz/bergolth
    LANG=C
    LANGUAGE (unset)
    LC_ALL=C
    LC_CTYPE=C
    LC__FASTMSG=true
    LD_LIBRARY_PATH (unset)
    LIBPATH (unset)
    LOGDIR (unset)
    PATH=/afs/wu-wien.ac.at/home/edvz/bergolth/bin:/afs/wu-wien.ac.at/home/edvz/bergolth/work/bin:/usr/ucb:/bin:/usr/bin:/usr/bin/X11:/usr/sbin:/usr/local/bin:/usr/afsws/local/bin:/usr/afsws/bin:/afs/wu/common/infoserv/hotline:/db/app/oracle/product/7.3.2
/bin/:/afs/wu/home/edvz/bergolth/notes
    PERL_BADLANG (unset)
    SHELL=/usr/bin/tcsh) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'This is a bug report for perl from leo@strike.wu-wien.ac.at,
generated with the help of perlbug 1.28 running under perl v5.6.0.


-----------------------------------------------------------------
[Please enter your report here]

I\'ve written a small test-script (see below) that dumps core
because of a segmentation violation on many systems when the signal
handler is called while there is memory is allocated in the main
program. The signal handler doesn\'t use or modify any variable,
it\'s only:

  $SIG{\'CHLD\'} = sub {
    while (waitpid(-1,&WNOHANG) > 0) { }
  };

I\'ve tested this with perl-5.6.0 on AIX-4.2.1 and AIX-4.3.3 and
with perl-5.005_03 on linux-2.2.19.

The test-script and the stack backtrace is attached below...
(The random- and delay-parameters are optimised for a crash on
slower machines.)

---------- snipp! ----------
#!/usr/local/bin/perl

use strict;
use POSIX ":sys_wait_h";

my $RAND1= 2000;
my $RAND2= 2000;
my $DELAY_MAIN = 0.1;
my $DELAY_CHILD = 2;

$SIG{\'CHLD\'} = sub {
  while (waitpid(-1,&WNOHANG) > 0) { }
};

my $CHILD_PID   = 0;

srand();
$|= 1;

my $i;
for ($i = 1; $i < 200; $i++) {
  print "fork $i\\n";
  # allocate some memory
  my ($i, $r1, $r2, @buf);
  $r1= rand($RAND1);
  for ($i= 1; $i <= $r1; $i++) {
    $r2= rand($RAND2);
    $buf[$i] = "x" x $r2;
  }

  my $pid;
  if ($pid = fork) {
    # parent
    select(undef, undef, undef, $DELAY_MAIN);
    print "          Child $pid ready\\n";
    next;
  } elsif (defined $pid) {
    # child
    $SIG{\'CHLD\'} = \'DEFAULT\';
    print "          Child $$ ready\\n";
    select (undef, undef, undef, rand($DELAY_CHILD));
    print "          Child $$ exit\\n";
    exit(0);
  }
  else {
    print "Fork error: $!\\n";
    return;
  }
}

print "Done\\n";

---------- snipp! ----------

perl-5.6.0 on Linux-2.2.19:
---------------------------
#0  chunk_alloc (ar_ptr=0x40141d40, nb=16) at malloc.c:2814
#1  0x400ac5ae in malloc () at malloc.c:2181
#2  0x807bbe5 in Perl_safemalloc ()
#3  0x808abb6 in Perl_sv_grow ()
#4  0x808cb10 in Perl_sv_setsv ()
#5  0x808ebf5 in Perl_sv_mortalcopy ()
#6  0x8087d8a in Perl_pp_leave ()
#7  0x80b49ad in Perl_runops_standard ()
#8  0x8059a01 in perl_call_sv ()
#9  0x8081cb8 in Perl_sighandler ()
#10 0x40071c48 in __restore () at
../sysdeps/unix/sysv/linux/i386/sigaction.c:127
#11 0x400ac5ae in malloc () at malloc.c:2181
#12 0x807bbe5 in Perl_safemalloc ()
#13 0x808abb6 in Perl_sv_grow ()
#14 0x808cb10 in Perl_sv_setsv ()
#15 0x808533b in Perl_pp_sassign ()
#16 0x80b49ad in Perl_runops_standard ()
#17 0x8059338 in perl_run ()
#18 0x80577e1 in main ()
#19 0x4006b9cb in __libc_start_main () at
../sysdeps/generic/libc-start.c:122


perl-5.6.0 on AIX-4.2.1:
------------------------
malloc_y.malloc_y(??) at 0xd02656c8
malloc.malloc(??) at 0xd0262f10
Perl_safesysmalloc() at 0x100313e4
Perl_sv_grow() at 0x10027550
Perl_sv_setsv() at 0x10024e08
Perl_pp_sassign() at 0x1007d1b8
Perl_runops_standard() at 0x1006340c
S_run_body() at 0x100007c4
perl_run() at 0x100068d0
main() at 0x100003cc


[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
    category=core
    severity=medium
---
Site configuration information for perl v5.6.0:

Configured by bergolth at Fri Oct 20 19:23:46 MES 2000.

Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration:
  Platform:
    osname=aix, osvers=4.2.1.0, archname=aix42
    uname=\'aix ollie 2 4 0045781a4c00 \'
    config_args=\'-d\'
    hint=previous, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=undef d_sfio=undef uselargefiles=define 
    use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef
  Compiler:
    cc=\'/usr/vac/bin/cc_r\', optimize=\'-O\', gccversion=
    cppflags=\'-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -I/usr/local/include -I/usr/local/BerkeleyDB.3.1/include\'
    ccflags =\'-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -I/usr/local/include -I/usr/local/BerkeleyDB.3.1/include\'
    stdchar=\'unsigned char\', d_stdstdio=define, usevfork=false
    intsize=4, longsize=4, ptrsize=4, doublesize=8
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype=\'long\', ivsize=4, nvtype=\'double\', nvsize=8, Off_t=\'off_t\', lseeksize=4
    alignbytes=8, usemymalloc=n, prototype=define
  Linker and Libraries:
    ld=\'ld\', ldflags =\'-L/usr/local/lib -L/usr/local/BerkeleyDB.3.1/lib\'
    libpth=/usr/local/lib /usr/local/BerkeleyDB.3.1/lib /lib /usr/lib /usr/ccs/lib
    libs=-lbind -lnsl -ldbm -ldl -lld -lm -lC -lc -lbsd -lPW -liconv -ldb
    libc=, so=a, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags=\'  -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE/perl.exp -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE/perl.exp -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE/perl.exp -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE
/perl.exp -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE/perl.exp\'
    cccdlflags=\' \', lddlflags=\'-bhalt:4 -bM:SRE -bI:$(PERL_INC)/perl.exp -bE:$(BASEEXT).exp -b noentry -lC -lc -L/usr/local/lib -L/usr/local/BerkeleyDB.3.1/lib\'

Locally applied patches:
    

---
@INC for perl v5.6.0:
    /usr/local/lib/perl5/5.6.0/aix42
    /usr/local/lib/perl5/5.6.0
    /usr/local/lib/perl5/site_perl/5.6.0/aix42
    /usr/local/lib/perl5/site_perl/5.6.0
    /usr/local/lib/perl5/site_perl
    .

---
Environment for perl v5.6.0:
    HOME=/afs/wu-wien.ac.at/home/edvz/bergolth
    LANG=C
    LANGUAGE (unset)
    LC_ALL=C
    LC_CTYPE=C
    LC__FASTMSG=true
    LD_LIBRARY_PATH (unset)
    LIBPATH (unset)
    LOGDIR (unset)
    PATH=/afs/wu-wien.ac.at/home/edvz/bergolth/bin:/afs/wu-wien.ac.at/home/edvz/bergolth/work/bin:/usr/ucb:/bin:/usr/bin:/usr/bin/X11:/usr/sbin:/usr/local/bin:/usr/afsws/local/bin:/usr/afsws/bin:/afs/wu/common/infoserv/hotline:/db/app/oracle/product/7.3.2
/bin/:/afs/wu/home/edvz/bergolth/notes
    PERL_BADLANG (unset)
    SHELL=/usr/bin/tcsh'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  2 wallclock secs ( 0.22 usr +  0.02 sys =  0.24 CPU)
	Alltook:  2 wallclock secs ( 0.22 usr +  0.02 sys =  0.24 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (268) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Andreas Marcel Riechert <riechert@pobox.com>) 
			In-Reply-To()
			Message-Id(<m3hetcvg5b.fsf@tairou.japanologie.kultur.uni-tuebingen.de>) 
			Reply-To() 
			Subject([MacPerl-Porters] Built-report for beta1 with MrC/SC) 
			To(macperl-porters@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3hetcvg5b.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3hetcvg5b.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3hetcvg5b.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3hetcvg5b.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3hetcvg5b.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 13 wallclock secs ( 0.20 usr +  0.02 sys =  0.23 CPU)
	Alltook: 13 wallclock secs ( 0.21 usr +  0.02 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (1985) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Nicholas Clark <nick@ccl4.org>) 
			In-Reply-To()
			Message-Id(<20011006180421.J38756@plum.flirble.org>) 
			Reply-To() 
			Subject([PATCH] Memoize tests) 
			To(perl5-porters@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006180421.J38756@plum.flirble.org>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006180421.J38756@plum.flirble.org>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006180421.J38756@plum.flirble.org>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006180421.J38756@plum.flirble.org>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006180421.J38756@plum.flirble.org>%') 
[14] domain(bugs\.perl\.org) ?-> to(perl5-porters@perl.org), subject([PATCH] Memoize tests), cc() 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(Should I be able to run the Memoize tests from the perl build directory.
At the moment:

$ for file in lib/Memoize/t/*.t; do ./perl $file; done
Can't locate lib.pm in @INC (@INC contains: /usr/local/lib/perl5/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/5.7.2 /usr/local/lib/perl5/site_perl/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/site_perl/5.7.2 /usr/local/lib/perl5/site_perl .) at lib/Memoize/t/array.t line 3.
BEGIN failed--compilation aborted at lib/Memoize/t/array.t line 3.
Can't locate lib.pm in @INC (@INC contains: /usr/local/lib/perl5/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/5.7.2 /usr/local/lib/perl5/site_perl/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/site_perl/5.7.2 /usr/local/lib/perl5/site_perl .) at lib/Memoize/t/array_confusion.t line 3.
BEGIN failed--compilation aborted at lib/Memoize/t/array_confusion.t line 3.
Can't locate lib.pm in @INC (@INC contains: /usr/local/lib/perl5/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/5.7.2 /usr/local/lib/perl5/site_perl/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/site_perl/5.7.2 /usr/local/lib/perl5/site_perl .) at lib/Memoize/t/correctness.t line 3.

etc.

Patch appended also makes all tests only use the build's lib directory, so that
installed libraries aren't accidentally found. Is this what is wanted?

Nicholas Clark

--- lib/Memoize/t/array.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/array.t	Sat Oct  6 14:04:08 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize;
 
 
--- lib/Memoize/t/array_confusion.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/array_confusion.t	Sat Oct  6 14:11:08 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize 'memoize', 'unmemoize';
 
 sub reff {
--- lib/Memoize/t/correctness.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/correctness.t	Sat Oct  6 14:10:55 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize;
 
 print "1..25\n";
--- lib/Memoize/t/errors.t.orig	Sun Aug  5 18:51:38 2001
+++ lib/Memoize/t/errors.t	Sat Oct  6 14:10:48 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize;
 use Config;
 
--- lib/Memoize/t/expire.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/expire.t	Sat Oct  6 14:10:42 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize;
 use Memoize::ExpireTest;
 
--- lib/Memoize/t/expire_file.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/expire_file.t	Sat Oct  6 14:10:33 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize;
 
 my $n = 0;
--- lib/Memoize/t/expire_module_n.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/expire_module_n.t	Sat Oct  6 14:10:27 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize;
 
 my $n = 0;
--- lib/Memoize/t/expire_module_t.t.orig	Wed Sep 12 19:48:48 2001
+++ lib/Memoize/t/expire_module_t.t	Sat Oct  6 14:10:21 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize;
 BEGIN {
   eval {require Time::HiRes};
--- lib/Memoize/t/flush.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/flush.t	Sat Oct  6 14:10:12 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize 'flush_cache', 'memoize';
 print "1..8\n";
 print "ok 1\n";
--- lib/Memoize/t/normalize.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/normalize.t	Sat Oct  6 14:10:05 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize;
 
 print "1..7\n";
--- lib/Memoize/t/prototype.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/prototype.t	Sat Oct  6 14:09:59 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
+#use lib '..';
 use Memoize;
 $EXPECTED_WARNING = '(no warning expected)';
 
--- lib/Memoize/t/speed.t.orig	Wed Sep 12 19:48:48 2001
+++ lib/Memoize/t/speed.t	Sat Oct  6 14:07:49 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize;
 
 if (-e '.fast') {
--- lib/Memoize/t/tie.t.orig	Tue Jun 26 18:50:19 2001
+++ lib/Memoize/t/tie.t	Sat Oct  6 14:09:56 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib qw(. ..);
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
+#use lib qw(. ..);
 use Memoize 0.52 qw(memoize unmemoize);
 use Fcntl;
 eval {require Memoize::AnyDBM_File};
--- lib/Memoize/t/tie_gdbm.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/tie_gdbm.t	Sat Oct  6 14:09:52 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib qw(. ..);
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
+#use lib qw(. ..);
 use Memoize 0.45 qw(memoize unmemoize);
 use Fcntl;
 
--- lib/Memoize/t/tie_ndbm.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/tie_ndbm.t	Sat Oct  6 14:09:44 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib qw(. ..);
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
+#use lib qw(. ..);
 use Memoize 0.45 qw(memoize unmemoize);
 use Fcntl;
 # use Memoize::NDBM_File;
--- lib/Memoize/t/tie_sdbm.t.orig	Tue Jun 26 22:00:29 2001
+++ lib/Memoize/t/tie_sdbm.t	Sat Oct  6 14:09:29 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib qw(. ..);
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
+#use lib qw(. ..);
 use Memoize 0.45 qw(memoize unmemoize);
 use Fcntl;
 # use Memoize::SDBM_File;
--- lib/Memoize/t/tie_storable.t.orig	Sun Jun 24 18:36:56 2001
+++ lib/Memoize/t/tie_storable.t	Sat Oct  6 14:09:18 2001
@@ -1,7 +1,10 @@
 #!/usr/bin/perl
 # -*- mode: perl; perl-indent-level: 2 -*-
 
-use lib qw(. ..);
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize 0.45 qw(memoize unmemoize);
 # $Memoize::Storable::Verbose = 0;
 
--- lib/Memoize/t/tiefeatures.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/tiefeatures.t	Sat Oct  6 14:08:27 2001
@@ -1,5 +1,9 @@
 #!/usr/bin/perl
 
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use lib 'blib/lib';
 use Memoize 0.45 qw(memoize unmemoize);
 use Fcntl;
--- lib/Memoize/t/unmemoize.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/unmemoize.t	Sat Oct  6 14:07:32 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize qw(memoize unmemoize);
 
 print "1..5\n";) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'Should I be able to run the Memoize tests from the perl build directory.
At the moment:

$ for file in lib/Memoize/t/*.t; do ./perl $file; done
Can\'t locate lib.pm in @INC (@INC contains: /usr/local/lib/perl5/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/5.7.2 /usr/local/lib/perl5/site_perl/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/site_perl/5.7.2 /usr/local/lib/perl5/site_perl .) at lib/Memoize/t/array.t line 3.
BEGIN failed--compilation aborted at lib/Memoize/t/array.t line 3.
Can\'t locate lib.pm in @INC (@INC contains: /usr/local/lib/perl5/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/5.7.2 /usr/local/lib/perl5/site_perl/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/site_perl/5.7.2 /usr/local/lib/perl5/site_perl .) at lib/Memoize/t/array_confusion.t line 3.
BEGIN failed--compilation aborted at lib/Memoize/t/array_confusion.t line 3.
Can\'t locate lib.pm in @INC (@INC contains: /usr/local/lib/perl5/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/5.7.2 /usr/local/lib/perl5/site_perl/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/site_perl/5.7.2 /usr/local/lib/perl5/site_perl .) at lib/Memoize/t/correctness.t line 3.

etc.

Patch appended also makes all tests only use the build\'s lib directory, so that
installed libraries aren\'t accidentally found. Is this what is wanted?

Nicholas Clark

--- lib/Memoize/t/array.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/array.t	Sat Oct  6 14:04:08 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize;
 
 
--- lib/Memoize/t/array_confusion.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/array_confusion.t	Sat Oct  6 14:11:08 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize \'memoize\', \'unmemoize\';
 
 sub reff {
--- lib/Memoize/t/correctness.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/correctness.t	Sat Oct  6 14:10:55 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize;
 
 print "1..25\\n";
--- lib/Memoize/t/errors.t.orig	Sun Aug  5 18:51:38 2001
+++ lib/Memoize/t/errors.t	Sat Oct  6 14:10:48 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize;
 use Config;
 
--- lib/Memoize/t/expire.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/expire.t	Sat Oct  6 14:10:42 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize;
 use Memoize::ExpireTest;
 
--- lib/Memoize/t/expire_file.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/expire_file.t	Sat Oct  6 14:10:33 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize;
 
 my $n = 0;
--- lib/Memoize/t/expire_module_n.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/expire_module_n.t	Sat Oct  6 14:10:27 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize;
 
 my $n = 0;
--- lib/Memoize/t/expire_module_t.t.orig	Wed Sep 12 19:48:48 2001
+++ lib/Memoize/t/expire_module_t.t	Sat Oct  6 14:10:21 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize;
 BEGIN {
   eval {require Time::HiRes};
--- lib/Memoize/t/flush.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/flush.t	Sat Oct  6 14:10:12 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize \'flush_cache\', \'memoize\';
 print "1..8\\n";
 print "ok 1\\n";
--- lib/Memoize/t/normalize.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/normalize.t	Sat Oct  6 14:10:05 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize;
 
 print "1..7\\n";
--- lib/Memoize/t/prototype.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/prototype.t	Sat Oct  6 14:09:59 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
+#use lib \'..\';
 use Memoize;
 $EXPECTED_WARNING = \'(no warning expected)\';
 
--- lib/Memoize/t/speed.t.orig	Wed Sep 12 19:48:48 2001
+++ lib/Memoize/t/speed.t	Sat Oct  6 14:07:49 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize;
 
 if (-e \'.fast\') {
--- lib/Memoize/t/tie.t.orig	Tue Jun 26 18:50:19 2001
+++ lib/Memoize/t/tie.t	Sat Oct  6 14:09:56 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib qw(. ..);
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
+#use lib qw(. ..);
 use Memoize 0.52 qw(memoize unmemoize);
 use Fcntl;
 eval {require Memoize::AnyDBM_File};
--- lib/Memoize/t/tie_gdbm.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/tie_gdbm.t	Sat Oct  6 14:09:52 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib qw(. ..);
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
+#use lib qw(. ..);
 use Memoize 0.45 qw(memoize unmemoize);
 use Fcntl;
 
--- lib/Memoize/t/tie_ndbm.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/tie_ndbm.t	Sat Oct  6 14:09:44 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib qw(. ..);
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
+#use lib qw(. ..);
 use Memoize 0.45 qw(memoize unmemoize);
 use Fcntl;
 # use Memoize::NDBM_File;
--- lib/Memoize/t/tie_sdbm.t.orig	Tue Jun 26 22:00:29 2001
+++ lib/Memoize/t/tie_sdbm.t	Sat Oct  6 14:09:29 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib qw(. ..);
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
+#use lib qw(. ..);
 use Memoize 0.45 qw(memoize unmemoize);
 use Fcntl;
 # use Memoize::SDBM_File;
--- lib/Memoize/t/tie_storable.t.orig	Sun Jun 24 18:36:56 2001
+++ lib/Memoize/t/tie_storable.t	Sat Oct  6 14:09:18 2001
@@ -1,7 +1,10 @@
 #!/usr/bin/perl
 # -*- mode: perl; perl-indent-level: 2 -*-
 
-use lib qw(. ..);
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize 0.45 qw(memoize unmemoize);
 # $Memoize::Storable::Verbose = 0;
 
--- lib/Memoize/t/tiefeatures.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/tiefeatures.t	Sat Oct  6 14:08:27 2001
@@ -1,5 +1,9 @@
 #!/usr/bin/perl
 
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use lib \'blib/lib\';
 use Memoize 0.45 qw(memoize unmemoize);
 use Fcntl;
--- lib/Memoize/t/unmemoize.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/unmemoize.t	Sat Oct  6 14:07:32 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize qw(memoize unmemoize);
 
 print "1..5\\n";'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 14 wallclock secs ( 0.24 usr +  0.02 sys =  0.26 CPU)
	Alltook: 14 wallclock secs ( 0.24 usr +  0.02 sys =  0.26 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (7476) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(macperl-porters@perl.org) 
			From(Chris Nandor <pudge@pobox.com>) 
			In-Reply-To(<m3hetcvg5b.fsf@tairou.japanologie.kultur.uni-tuebingen.de>)
			Message-Id(<p05100300b7e4f2c324b4@[10.0.1.177]>) 
			Reply-To() 
			Subject(Re: [MacPerl-Porters] Built-report for beta1 with MrC/SC) 
			To(Andreas Marcel Riechert <riechert@pobox.com>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100300b7e4f2c324b4@[10.0.1.177]>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100300b7e4f2c324b4@[10.0.1.177]>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100300b7e4f2c324b4@[10.0.1.177]>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100300b7e4f2c324b4@[10.0.1.177]>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100300b7e4f2c324b4@[10.0.1.177]>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  9 wallclock secs ( 0.21 usr +  0.00 sys =  0.21 CPU)
	Alltook:  9 wallclock secs ( 0.21 usr +  0.00 sys =  0.21 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (13851) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(perl5-porters@perl.org) 
			From(Nick Ing-Simmons <nick@ing-simmons.net>) 
			In-Reply-To(<200110041645.RAA17742@tempest.npl.co.uk> from Robin Barker
    on Thu, 4 Oct 2001 17:45:12 +0100 (BST))
			Message-Id(<20011006182547.666.6@bactrian.ni-s.u-net.com>) 
			Reply-To(Nick Ing-Simmons <nick@ing-simmons.net>) 
			Subject(Re: build with g++) 
			To(rmb1@cise.npl.co.uk) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[14] domain(bugs\.perl\.org) ?-> to(rmb1@cise.npl.co.uk), subject(Re: build with g++), cc(perl5-porters@perl.org) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x8601354)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110041645.RAA17742@tempest.npl.co.uk>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110041645.RAA17742@tempest.npl.co.uk>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110041645.RAA17742@tempest.npl.co.uk>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110041645.RAA17742@tempest.npl.co.uk>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110041645.RAA17742@tempest.npl.co.uk>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(Robin Barker <rmb1@cise.npl.co.uk> writes:
>Should perl build with the GNU C++ compiler (g++) ?
>The documentation suggest it may not Configure but should build!

It did once back in 5.005 vintage (getting it to build with g++ was 
a step to getting re-integrated code to build with vc++)

>
>I have fixed Configure to run under g++ 
>but building is difficult due to (lack of) explicit casts: 
>(const char *) -> (char *) and  (void *) -> anything.

May be worth adding those???

>There are also lots of comparison unsigned v. signed warnings.

Same with many C compilers. 

>
>I have fixed the casts on the core and the libraries alphabetically
>through to DProf; but Enocde/EBCDIC.c fails with alot of
>"initializer-string for array of chars is too long".

Sigh - I assume it is winging about the trailing '\0' 
Does anyone know if this is an ANSI C vs C++ difference of spec' or is 
it a feature of g++ (which g++ by the way?)

>
>The patched core files do get past C<make minitest> with two failures.
>
>Can anyone tell me what they expect from a GNU C++ build before 
>I battle on any further.   This is not a serious problem (I can
>build from gcc) but a new source of warnings may be useful.
>
>Robin 
-- 
Nick Ing-Simmons
http://www.ni-s.u-net.com/) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'Robin Barker <rmb1@cise.npl.co.uk> writes:
>Should perl build with the GNU C++ compiler (g++) ?
>The documentation suggest it may not Configure but should build!

It did once back in 5.005 vintage (getting it to build with g++ was 
a step to getting re-integrated code to build with vc++)

>
>I have fixed Configure to run under g++ 
>but building is difficult due to (lack of) explicit casts: 
>(const char *) -> (char *) and  (void *) -> anything.

May be worth adding those???

>There are also lots of comparison unsigned v. signed warnings.

Same with many C compilers. 

>
>I have fixed the casts on the core and the libraries alphabetically
>through to DProf; but Enocde/EBCDIC.c fails with alot of
>"initializer-string for array of chars is too long".

Sigh - I assume it is winging about the trailing \'\\0\' 
Does anyone know if this is an ANSI C vs C++ difference of spec\' or is 
it a feature of g++ (which g++ by the way?)

>
>The patched core files do get past C<make minitest> with two failures.
>
>Can anyone tell me what they expect from a GNU C++ build before 
>I battle on any further.   This is not a serious problem (I can
>build from gcc) but a new source of warnings may be useful.
>
>Robin 
-- 
Nick Ing-Simmons
http://www.ni-s.u-net.com/'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 15 wallclock secs ( 0.26 usr +  0.02 sys =  0.27 CPU)
	Alltook: 15 wallclock secs ( 0.26 usr +  0.02 sys =  0.27 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (28090) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(rmb1@cise.npl.co.uk, perl5-porters@perl.org) 
			From(Nicholas Clark <nick@ccl4.org>) 
			In-Reply-To(<20011006182547.666.6@bactrian.ni-s.u-net.com>;
    from nick@ing-simmons.net on Sat, Oct 06, 2001 at 07:15:36PM +0100)
			Message-Id(<20011006205948.K38756@plum.flirble.org>) 
			Reply-To() 
			Subject(Re: build with g++) 
			To(Nick Ing-Simmons <nick@ing-simmons.net>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006205948.K38756@plum.flirble.org>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006205948.K38756@plum.flirble.org>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006205948.K38756@plum.flirble.org>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006205948.K38756@plum.flirble.org>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006205948.K38756@plum.flirble.org>%') 
[14] domain(bugs\.perl\.org) ?-> to(Nick Ing-Simmons <nick@ing-simmons.net>), subject(Re: build with g++), cc(rmb1@cise.npl.co.uk, perl5-porters@perl.org) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x853fe10)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(On Sat, Oct 06, 2001 at 07:15:36PM +0100, Nick Ing-Simmons wrote:
> Robin Barker <rmb1@cise.npl.co.uk> writes:
> >I have fixed the casts on the core and the libraries alphabetically
> >through to DProf; but Enocde/EBCDIC.c fails with alot of
> >"initializer-string for array of chars is too long".
> 
> Sigh - I assume it is winging about the trailing '\0' 
> Does anyone know if this is an ANSI C vs C++ difference of spec' or is 
> it a feature of g++ (which g++ by the way?)

I think it's official C++, not just g++, but I can't remember where I read
that. [possibly Strousop's (sp?) book]
I guess one need a {} constructor for the case of the trailing '\0' not being
wanted for an array of char

Nicholas Clark) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'On Sat, Oct 06, 2001 at 07:15:36PM +0100, Nick Ing-Simmons wrote:
> Robin Barker <rmb1@cise.npl.co.uk> writes:
> >I have fixed the casts on the core and the libraries alphabetically
> >through to DProf; but Enocde/EBCDIC.c fails with alot of
> >"initializer-string for array of chars is too long".
> 
> Sigh - I assume it is winging about the trailing \'\\0\' 
> Does anyone know if this is an ANSI C vs C++ difference of spec\' or is 
> it a feature of g++ (which g++ by the way?)

I think it\'s official C++, not just g++, but I can\'t remember where I read
that. [possibly Strousop\'s (sp?) book]
I guess one need a {} constructor for the case of the trailing \'\\0\' not being
wanted for an array of char

Nicholas Clark'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 35 wallclock secs ( 0.25 usr +  0.02 sys =  0.27 CPU)
	Alltook: 35 wallclock secs ( 0.26 usr +  0.02 sys =  0.28 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (31395) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Andreas Marcel Riechert <riechert@pobox.com>) 
			In-Reply-To()
			Message-Id(<m3bsjklce9.fsf@tairou.japanologie.kultur.uni-tuebingen.de>) 
			Reply-To() 
			Subject([MacPerl-Porters] Config.pm) 
			To(macperl-porters@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3bsjklce9.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3bsjklce9.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3bsjklce9.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3bsjklce9.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3bsjklce9.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Runtime:  9 wallclock secs ( 0.20 usr +  0.01 sys =  0.21 CPU)
	Alltook:  9 wallclock secs ( 0.21 usr +  0.01 sys =  0.22 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (34331) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(david@davidfavor.com) 
			In-Reply-To()
			Message-Id(<200110051047.FAA30212@aasc24.austin.ibm.com>) 
			Reply-To() 
			Subject(libgdbm.so for perl on FreeBSD) 
			To(perl5-porters@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110051047.FAA30212@aasc24.austin.ibm.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110051047.FAA30212@aasc24.austin.ibm.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110051047.FAA30212@aasc24.austin.ibm.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110051047.FAA30212@aasc24.austin.ibm.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110051047.FAA30212@aasc24.austin.ibm.com>%') 
[14] domain(bugs\.perl\.org) ?-> to(perl5-porters@perl.org), subject(libgdbm.so for perl on FreeBSD), cc() 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(I'm trying to build a shared version of libgdbm for perl
on FreeBSD 4.2-RELEASE and am unable to determine how to
do this. The maintainer address listed in the README
bounces email and the original author gives no response.

If anyone knows the proper incantation for 'configure'
and 'make' to create libgdbm.so on FreeBSD, pass it along.

Thanks.) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'I\'m trying to build a shared version of libgdbm for perl
on FreeBSD 4.2-RELEASE and am unable to determine how to
do this. The maintainer address listed in the README
bounces email and the original author gives no response.

If anyone knows the proper incantation for \'configure\'
and \'make\' to create libgdbm.so on FreeBSD, pass it along.

Thanks.'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 14 wallclock secs ( 0.21 usr +  0.03 sys =  0.24 CPU)
	Alltook: 14 wallclock secs ( 0.21 usr +  0.03 sys =  0.24 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (41202) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Nicholas Clark <nick@ccl4.org>) 
			In-Reply-To(<20010924022139.A20415@alpha.hut.fi>; from jhi@iki.fi on Mon,
    Sep 24, 2001 at 02:21:39AM +0300)
			Message-Id(<20011006214643.L38756@plum.flirble.org>) 
			Reply-To() 
			Subject([PATCH] (was Re: [PATCH] Re: What sort of Makefile.PL should h2xs
    write?)) 
			To('Perl Porters' <perl5-porters@perl.org>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006214643.L38756@plum.flirble.org>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006214643.L38756@plum.flirble.org>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006214643.L38756@plum.flirble.org>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006214643.L38756@plum.flirble.org>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006214643.L38756@plum.flirble.org>%') 
[14] domain(bugs\.perl\.org) ?-> to('Perl Porters' <perl5-porters@perl.org>), subject([PATCH] (was Re: [PATCH] Re: What sort of Makefile.PL should h2xs
    write?)), cc() 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x853edf8)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20010924022139.A20415@alpha.hut.fi>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20010924022139.A20415@alpha.hut.fi>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20010924022139.A20415@alpha.hut.fi>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20010924022139.A20415@alpha.hut.fi>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20010924022139.A20415@alpha.hut.fi>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(The $! substitution is meant to happen at Makefile.PL run time, not when it's
written by h2xs (D'oh. careless me)

Nicholas Clark

--- utils/h2xs.PL.orig	Mon Sep 24 14:05:46 2001
+++ utils/h2xs.PL	Sat Oct  6 21:36:45 2001
@@ -1730,9 +1730,9 @@
 else {
   use File::Copy;
   copy ('fallback.c', '$constsfname.c')
-    or die "Can't copy fallback.c to $constsfname.c: $!";
+    or die "Can't copy fallback.c to $constsfname.c: \$!";
   copy ('fallback.xs', '$constsfname.xs')
-    or die "Can't copy fallback.xs to $constsfname.xs: $!";
+    or die "Can't copy fallback.xs to $constsfname.xs: \$!";
 }
 END) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'The $! substitution is meant to happen at Makefile.PL run time, not when it\'s
written by h2xs (D\'oh. careless me)

Nicholas Clark

--- utils/h2xs.PL.orig	Mon Sep 24 14:05:46 2001
+++ utils/h2xs.PL	Sat Oct  6 21:36:45 2001
@@ -1730,9 +1730,9 @@
 else {
   use File::Copy;
   copy (\'fallback.c\', \'$constsfname.c\')
-    or die "Can\'t copy fallback.c to $constsfname.c: $!";
+    or die "Can\'t copy fallback.c to $constsfname.c: \\$!";
   copy (\'fallback.xs\', \'$constsfname.xs\')
-    or die "Can\'t copy fallback.xs to $constsfname.xs: $!";
+    or die "Can\'t copy fallback.xs to $constsfname.xs: \\$!";
 }
 END'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 21 wallclock secs ( 0.27 usr +  0.01 sys =  0.27 CPU)
	Alltook: 21 wallclock secs ( 0.27 usr +  0.01 sys =  0.27 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (53580) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(macperl-porters@perl.org) 
			From(Chris Nandor <pudge@pobox.com>) 
			In-Reply-To(<m3bsjklce9.fsf@tairou.japanologie.kultur.uni-tuebingen.de>)
			Message-Id(<p05100302b7e52058b8a2@[10.0.1.177]>) 
			Reply-To() 
			Subject(Re: [MacPerl-Porters] Config.pm) 
			To(Andreas Marcel Riechert <riechert@pobox.com>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100302b7e52058b8a2@[10.0.1.177]>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100302b7e52058b8a2@[10.0.1.177]>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100302b7e52058b8a2@[10.0.1.177]>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100302b7e52058b8a2@[10.0.1.177]>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100302b7e52058b8a2@[10.0.1.177]>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 10 wallclock secs ( 0.22 usr +  0.00 sys =  0.22 CPU)
	Alltook: 10 wallclock secs ( 0.23 usr +  0.00 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (55065) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(Perl 5 Porters <perl5-porters@perl.org>) 
			From(andreas.koenig@anima.de (Andreas J. Koenig)) 
			In-Reply-To(<3BBF068C.9010101@stason.org>)
			Message-Id(<m37ku8iifr.fsf@anima.de>) 
			Reply-To() 
			Subject(Re: ExtUtils::MakeMaker's PREOP vs distdir execution order) 
			To(Stas Bekman <stas@stason.org>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <m37ku8iifr.fsf@anima.de>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <m37ku8iifr.fsf@anima.de>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <m37ku8iifr.fsf@anima.de>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <m37ku8iifr.fsf@anima.de>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <m37ku8iifr.fsf@anima.de>%') 
[14] domain(bugs\.perl\.org) ?-> to(Stas Bekman <stas@stason.org>), subject(Re: ExtUtils::MakeMaker's PREOP vs distdir execution order), cc(Perl 5 Porters <perl5-porters@perl.org>) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x86005e0)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(>>>>> On Sat, 06 Oct 2001 21:26:36 +0800, Stas Bekman <stas@stason.org> said:

  >    WriteMakefile(
  >        dist         => {
  >                         PREOP => 'pod2text lib/Apache/Amazing.pm > README',
  >                        },
  >        ...
  >    );

I think I recommended this trick to Doug, so I'm probably to blame for
this bug. I corrected my Makefile.PL to:

	       PREOP => 'pod2text lib/CPAN.pm > $(DISTVNAME)/README',

-- 
andreas) => ret: $VAR1 = {
          'opts' => '',
          'body' => '>>>>> On Sat, 06 Oct 2001 21:26:36 +0800, Stas Bekman <stas@stason.org> said:

  >    WriteMakefile(
  >        dist         => {
  >                         PREOP => \'pod2text lib/Apache/Amazing.pm > README\',
  >                        },
  >        ...
  >    );

I think I recommended this trick to Doug, so I\'m probably to blame for
this bug. I corrected my Makefile.PL to:

	       PREOP => \'pod2text lib/CPAN.pm > $(DISTVNAME)/README\',

-- 
andreas'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 13 wallclock secs ( 0.22 usr +  0.02 sys =  0.24 CPU)
	Alltook: 13 wallclock secs ( 0.22 usr +  0.02 sys =  0.24 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (85654) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Michael G Schwern <schwern@pobox.com>) 
			In-Reply-To(<20011006080045.B13905@alpha.hut.fi>)
			Message-Id(<20011006192852.A588@blackrider>) 
			Reply-To() 
			Subject(Re: A philosophical tainting issue) 
			To(Jarkko Hietaniemi <jhi@iki.fi>, perl5-porters@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[14] domain(bugs\.perl\.org) ?-> to(Jarkko Hietaniemi <jhi@iki.fi>, perl5-porters@perl.org), subject(Re: A philosophical tainting issue), cc() 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x8543318)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006080045.B13905@alpha.hut.fi>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006080045.B13905@alpha.hut.fi>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006080045.B13905@alpha.hut.fi>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006080045.B13905@alpha.hut.fi>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006080045.B13905@alpha.hut.fi>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(On Sat, Oct 06, 2001 at 08:00:45AM +0300, Jarkko Hietaniemi wrote:
> > So I'm pondering if using $^X + $ENV{PATH} (or it's moral equivalent
> > on other operating systems) to locate the currently running perl
> > executable is insecure, or if I can just trust it given that's exactly
> > how I started running the currently running perl.  Most of what Kurt
> 
> At least #! completely bypasses $ENV{PATH}.

That's ok.  If #! bypasses $ENV{PATH} by using an absolute path to
Perl (ie. #!/usr/bin/perl) then $^X will be absolute and $ENV{PATH}
never enters the picture.  I'm only worried about when the program is
called with a non-absolute path.


> > When run under taint mode, should that code simply explode because
> > it's inherently insecure to run a perl program?  Or should it only
> 
> Well, it *is*, if you are trusting the original $ENV{PATH}.

But the program is called as 'perl', can't we do this (mod
cross-platform considerations):

    my $perl;
    foreach my $path (split /:/, $ENV{PATH}) {
        do { $perl = "$path/$^X"; last } if -x "$path/$^X";
    }

and be guaranteed to arrive at the same binary as the one currently
running?

The only risk I can see there is if a perl binary is slipped in to an
earlier location in the PATH between the time the time the program is
started and the time we do our search.

The bigger problem is taking into account all the various pecularities
of getting it right on non-Unixen.


If nothing else, I should be able to safely get away with detainting
the value of $^X if it's absolute.  If it's relative, I might have to
just punt.


-- 

Michael G. Schwern   <schwern@pobox.com>    http://www.pobox.com/~schwern/
Perl6 Quality Assurance     <perl-qa@perl.org>	     Kwalitee Is Job One
Your average appeasement engineer is about as clued-up on computers as
the average computer "hacker" is about B.O.
	-- BOFH) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'On Sat, Oct 06, 2001 at 08:00:45AM +0300, Jarkko Hietaniemi wrote:
> > So I\'m pondering if using $^X + $ENV{PATH} (or it\'s moral equivalent
> > on other operating systems) to locate the currently running perl
> > executable is insecure, or if I can just trust it given that\'s exactly
> > how I started running the currently running perl.  Most of what Kurt
> 
> At least #! completely bypasses $ENV{PATH}.

That\'s ok.  If #! bypasses $ENV{PATH} by using an absolute path to
Perl (ie. #!/usr/bin/perl) then $^X will be absolute and $ENV{PATH}
never enters the picture.  I\'m only worried about when the program is
called with a non-absolute path.


> > When run under taint mode, should that code simply explode because
> > it\'s inherently insecure to run a perl program?  Or should it only
> 
> Well, it *is*, if you are trusting the original $ENV{PATH}.

But the program is called as \'perl\', can\'t we do this (mod
cross-platform considerations):

    my $perl;
    foreach my $path (split /:/, $ENV{PATH}) {
        do { $perl = "$path/$^X"; last } if -x "$path/$^X";
    }

and be guaranteed to arrive at the same binary as the one currently
running?

The only risk I can see there is if a perl binary is slipped in to an
earlier location in the PATH between the time the time the program is
started and the time we do our search.

The bigger problem is taking into account all the various pecularities
of getting it right on non-Unixen.


If nothing else, I should be able to safely get away with detainting
the value of $^X if it\'s absolute.  If it\'s relative, I might have to
just punt.


-- 

Michael G. Schwern   <schwern@pobox.com>    http://www.pobox.com/~schwern/
Perl6 Quality Assurance     <perl-qa@perl.org>	     Kwalitee Is Job One
Your average appeasement engineer is about as clued-up on computers as
the average computer "hacker" is about B.O.
	-- BOFH'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  1 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 13 wallclock secs ( 0.23 usr +  0.02 sys =  0.26 CPU)
	Alltook: 14 wallclock secs ( 0.23 usr +  0.02 sys =  0.26 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (91117) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From("Francis Stellase" <rttmk@eurosport.com>) 
			In-Reply-To()
			Message-Id(<200110070001.f9701X116169@chthon.perl.com>) 
			Reply-To() 
			Subject(Your Membership #226B) 
			To(list@chthon.perl.com) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070001.f9701X116169@chthon.perl.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070001.f9701X116169@chthon.perl.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070001.f9701X116169@chthon.perl.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070001.f9701X116169@chthon.perl.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070001.f9701X116169@chthon.perl.com>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Runtime: 15 wallclock secs ( 0.20 usr +  0.02 sys =  0.21 CPU)
	Alltook: 15 wallclock secs ( 0.20 usr +  0.02 sys =  0.22 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (94608) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(<lnhxdb@online.ln.cn>) 
			In-Reply-To()
			Message-Id(<200110070031.f970Vi104463@chthon.perl.com>) 
			Reply-To(lnhxdb@online.ln.cn) 
			Subject(ȫ˹ܶһɻԪ) 
			To() 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070031.f970Vi104463@chthon.perl.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070031.f970Vi104463@chthon.perl.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070031.f970Vi104463@chthon.perl.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070031.f970Vi104463@chthon.perl.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070031.f970Vi104463@chthon.perl.com>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 10 wallclock secs ( 0.22 usr +  0.01 sys =  0.23 CPU)
	Alltook: 10 wallclock secs ( 0.22 usr +  0.01 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (98518) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From("chromatic" <chromatic@rmci.net>) 
			In-Reply-To()
			Message-Id(<20011007005801.98381.qmail@onion.perl.org>) 
			Reply-To() 
			Subject([PATCH MANIFEST lib/sigtrap.t] Add Tests for sigtrap.pm) 
			To(perl5-porters@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007005801.98381.qmail@onion.perl.org>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007005801.98381.qmail@onion.perl.org>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007005801.98381.qmail@onion.perl.org>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007005801.98381.qmail@onion.perl.org>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007005801.98381.qmail@onion.perl.org>%') 
[14] domain(bugs\.perl\.org) ?-> to(perl5-porters@perl.org), subject([PATCH MANIFEST lib/sigtrap.t] Add Tests for sigtrap.pm), cc() 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(This patch adds tests for sigtrap.  There are some skipped tests at the end --
not only is 'kill' apparently not implemented on a couple of platforms, but
sigtrap::handler_traceback() sends an 'ABRT'.

Overriding kill would help, but I'm not sure that's possible.  For now, they're
skipped.

-- c

--- ~MANIFEST	Sat Oct  6 18:15:26 2001
+++ MANIFEST	Sat Oct  6 18:15:38 2001
@@ -1135,6 +1135,7 @@
 lib/Shell.t			Tests for above
 lib/shellwords.pl		Perl library to split into words with shell quoting
 lib/sigtrap.pm			For trapping an abort and giving traceback
+lib/sigtrap.t			See if sigtrap works
 lib/stat.pl			Perl library supporting stat function
 lib/strict.pm			For "use strict"
 lib/strict.t			See if strictures work

--- /dev/null	Thu Aug 30 03:54:37 2001
+++ lib/sigtrap.t	Sat Oct  6 18:14:54 2001
@@ -0,0 +1,104 @@
+#!./perl
+
+BEGIN {
+	chdir 't' if -d 't';
+	@INC = '../lib';
+}
+
+use strict;
+use Config;
+
+my $can_catch_kill = 0;
+
+use Test::More tests => 18;
+
+use_ok( 'sigtrap' );
+
+package main;
+local %SIG;
+
+# use a version of sigtrap.pm somewhat too high
+eval{ sigtrap->import(99999) };
+like( $@, qr/version 99999 required,/, 'import excessive version number' );
+
+# use an invalid signal name
+eval{ sigtrap->import('abadsignal') };
+like( $@, qr/^Unrecognized argument abadsignal/, 'send bad signame to import' );
+
+eval{ sigtrap->import('handler') };
+like( $@, qr/^No argument specified/, 'send handler without subref' );
+
+sigtrap->import('AFAKE');
+is( $SIG{AFAKE}, \&sigtrap::handler_traceback, 'install normal handler' );
+
+sigtrap->import('die', 'AFAKE', 'stack-trace', 'FAKE2');
+is( $SIG{AFAKE}, \&sigtrap::handler_die, 'install the die handler' );
+is( $SIG{FAKE2}, \&sigtrap::handler_traceback, 'install traceback handler' );
+
+my @normal = qw( HUP INT PIPE TERM );
+@SIG{@normal} = 1 x @normal;
+sigtrap->import('normal-signals');
+is( (grep { ref $_ } @SIG{@normal}), @normal, 'check normal-signals set' );
+
+my @error = qw( ABRT BUS EMT FPE ILL QUIT SEGV SYS TRAP );
+@SIG{@error} = 1 x @error;
+sigtrap->import('error-signals');
+is( (grep { ref $_ } @SIG{@error}), @error, 'check error-signals set' );
+
+my @old = qw( ABRT BUS EMT FPE ILL PIPE QUIT SEGV SYS TERM TRAP );
+@SIG{@old} = 1 x @old;
+sigtrap->import('old-interface-signals');
+is( (grep { ref $_ } @SIG{@old}), @old, 'check old-interface-signals set' );
+
+my $handler = sub {};
+sigtrap->import(handler => $handler, 'FAKE3');
+is( $SIG{FAKE3}, $handler, 'install custom handler' );
+
+$SIG{FAKE} = 'IGNORE';
+sigtrap->import('untrapped', 'FAKE');
+is( $SIG{FAKE}, 'IGNORE', 'respect existing handler set to IGNORE' );
+
+my $out = tie *STDOUT, 'TieOut';
+$SIG{FAKE} = 'DEFAULT';
+$sigtrap::Verbose = 1;
+sigtrap->import('any', 'FAKE');
+is( $SIG{FAKE}, \&sigtrap::handler_traceback, 'should set default handler' );
+like( $out->read, qr/^Installing handler/, 'does it talk with $Verbose set?' );
+
+# handler_die croaks with first argument
+eval { sigtrap::handler_die('FAKE') };
+like( $@, qr/^Caught a SIGFAKE/, 'does handler_die() croak?' );
+ 
+SKIP: {
+	skip( 'kill not implemented', 3) unless $can_catch_kill and
+		$Config{sig_name} =~ 'ABRT';
+
+	$out = tie *STDERR, 'TieOut';
+	my $line = __LINE__ + 1;
+	eval { sigtrap::handler_traceback('kudra') };
+	is( $@, '', 'handler_traceback() should not die' );
+	my $trace = $out->read();
+	like( $trace, qr/^Caught a SIGkudra/, 'check traceback message' );
+	like( $trace, qr/eval.+sigtrap.t.+$line/, 'check trace in traceback' );
+} # end of SKIP
+
+package TieOut;
+
+sub TIEHANDLE {
+	bless(\(my $scalar), $_[0]);
+}
+
+sub PRINT {
+	my $self = shift;
+	$$self .= join '', @_;
+}
+
+sub WRITE {
+	my ($self, $msg, $length) = @_;
+	$$self .= $msg;
+}
+
+sub read {
+	my $self = shift;
+	substr($$self, 0, length($$self), '');
+}) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'This patch adds tests for sigtrap.  There are some skipped tests at the end --
not only is \'kill\' apparently not implemented on a couple of platforms, but
sigtrap::handler_traceback() sends an \'ABRT\'.

Overriding kill would help, but I\'m not sure that\'s possible.  For now, they\'re
skipped.

-- c

--- ~MANIFEST	Sat Oct  6 18:15:26 2001
+++ MANIFEST	Sat Oct  6 18:15:38 2001
@@ -1135,6 +1135,7 @@
 lib/Shell.t			Tests for above
 lib/shellwords.pl		Perl library to split into words with shell quoting
 lib/sigtrap.pm			For trapping an abort and giving traceback
+lib/sigtrap.t			See if sigtrap works
 lib/stat.pl			Perl library supporting stat function
 lib/strict.pm			For "use strict"
 lib/strict.t			See if strictures work

--- /dev/null	Thu Aug 30 03:54:37 2001
+++ lib/sigtrap.t	Sat Oct  6 18:14:54 2001
@@ -0,0 +1,104 @@
+#!./perl
+
+BEGIN {
+	chdir \'t\' if -d \'t\';
+	@INC = \'../lib\';
+}
+
+use strict;
+use Config;
+
+my $can_catch_kill = 0;
+
+use Test::More tests => 18;
+
+use_ok( \'sigtrap\' );
+
+package main;
+local %SIG;
+
+# use a version of sigtrap.pm somewhat too high
+eval{ sigtrap->import(99999) };
+like( $@, qr/version 99999 required,/, \'import excessive version number\' );
+
+# use an invalid signal name
+eval{ sigtrap->import(\'abadsignal\') };
+like( $@, qr/^Unrecognized argument abadsignal/, \'send bad signame to import\' );
+
+eval{ sigtrap->import(\'handler\') };
+like( $@, qr/^No argument specified/, \'send handler without subref\' );
+
+sigtrap->import(\'AFAKE\');
+is( $SIG{AFAKE}, \\&sigtrap::handler_traceback, \'install normal handler\' );
+
+sigtrap->import(\'die\', \'AFAKE\', \'stack-trace\', \'FAKE2\');
+is( $SIG{AFAKE}, \\&sigtrap::handler_die, \'install the die handler\' );
+is( $SIG{FAKE2}, \\&sigtrap::handler_traceback, \'install traceback handler\' );
+
+my @normal = qw( HUP INT PIPE TERM );
+@SIG{@normal} = 1 x @normal;
+sigtrap->import(\'normal-signals\');
+is( (grep { ref $_ } @SIG{@normal}), @normal, \'check normal-signals set\' );
+
+my @error = qw( ABRT BUS EMT FPE ILL QUIT SEGV SYS TRAP );
+@SIG{@error} = 1 x @error;
+sigtrap->import(\'error-signals\');
+is( (grep { ref $_ } @SIG{@error}), @error, \'check error-signals set\' );
+
+my @old = qw( ABRT BUS EMT FPE ILL PIPE QUIT SEGV SYS TERM TRAP );
+@SIG{@old} = 1 x @old;
+sigtrap->import(\'old-interface-signals\');
+is( (grep { ref $_ } @SIG{@old}), @old, \'check old-interface-signals set\' );
+
+my $handler = sub {};
+sigtrap->import(handler => $handler, \'FAKE3\');
+is( $SIG{FAKE3}, $handler, \'install custom handler\' );
+
+$SIG{FAKE} = \'IGNORE\';
+sigtrap->import(\'untrapped\', \'FAKE\');
+is( $SIG{FAKE}, \'IGNORE\', \'respect existing handler set to IGNORE\' );
+
+my $out = tie *STDOUT, \'TieOut\';
+$SIG{FAKE} = \'DEFAULT\';
+$sigtrap::Verbose = 1;
+sigtrap->import(\'any\', \'FAKE\');
+is( $SIG{FAKE}, \\&sigtrap::handler_traceback, \'should set default handler\' );
+like( $out->read, qr/^Installing handler/, \'does it talk with $Verbose set?\' );
+
+# handler_die croaks with first argument
+eval { sigtrap::handler_die(\'FAKE\') };
+like( $@, qr/^Caught a SIGFAKE/, \'does handler_die() croak?\' );
+ 
+SKIP: {
+	skip( \'kill not implemented\', 3) unless $can_catch_kill and
+		$Config{sig_name} =~ \'ABRT\';
+
+	$out = tie *STDERR, \'TieOut\';
+	my $line = __LINE__ + 1;
+	eval { sigtrap::handler_traceback(\'kudra\') };
+	is( $@, \'\', \'handler_traceback() should not die\' );
+	my $trace = $out->read();
+	like( $trace, qr/^Caught a SIGkudra/, \'check traceback message\' );
+	like( $trace, qr/eval.+sigtrap.t.+$line/, \'check trace in traceback\' );
+} # end of SKIP
+
+package TieOut;
+
+sub TIEHANDLE {
+	bless(\\(my $scalar), $_[0]);
+}
+
+sub PRINT {
+	my $self = shift;
+	$$self .= join \'\', @_;
+}
+
+sub WRITE {
+	my ($self, $msg, $length) = @_;
+	$$self .= $msg;
+}
+
+sub read {
+	my $self = shift;
+	substr($$self, 0, length($$self), \'\');
+}'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  9 wallclock secs ( 0.22 usr +  0.01 sys =  0.23 CPU)
	Alltook:  9 wallclock secs ( 0.22 usr +  0.01 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (99387) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(perl5-porters@perl.org) 
			From(Jarkko Hietaniemi <jhi@iki.fi>) 
			In-Reply-To(<20011006192852.A588@blackrider>; from schwern@pobox.com on
    Sat, Oct 06, 2001 at 07:28:53PM -0400)
			Message-Id(<20011007035850.A24485@alpha.hut.fi>) 
			Reply-To() 
			Subject(Re: A philosophical tainting issue) 
			To(Michael G Schwern <schwern@pobox.com>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[14] domain(bugs\.perl\.org) ?-> to(Michael G Schwern <schwern@pobox.com>), subject(Re: A philosophical tainting issue), cc(perl5-porters@perl.org) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x85ff6f4)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(On Sat, Oct 06, 2001 at 07:28:53PM -0400, Michael G Schwern wrote:
> On Sat, Oct 06, 2001 at 08:00:45AM +0300, Jarkko Hietaniemi wrote:
> > > So I'm pondering if using $^X + $ENV{PATH} (or it's moral equivalent
> > > on other operating systems) to locate the currently running perl
> > > executable is insecure, or if I can just trust it given that's exactly
> > > how I started running the currently running perl.  Most of what Kurt
> > 
> > At least #! completely bypasses $ENV{PATH}.
> 
> That's ok.  If #! bypasses $ENV{PATH} by using an absolute path to
> Perl (ie. #!/usr/bin/perl) then $^X will be absolute and $ENV{PATH}

ugli:~ ; cat x
#!/usr/bin/perl
print "$^X foobar\n";
ugli:~ ; ls -l x
-rwxr-xr-x    1 jhi      users          38 loka    7 03:49 x
ugli:~ ; ./x
perl foobar
ugli:~ ; uname -a
Linux ugli.hut.fi 2.2.19 #1 Thu Apr 5 14:00:15 EET DST 2001 i686 unknown
ugli:~ ; 

The same happens in AIX, Tru64, and Mac OS X; Solaris, HP-UX, and IRIX
seem to have the absolute path in $^X.

> never enters the picture.  I'm only worried about when the program is
> called with a non-absolute path.

-- 
$jhi++; # http://www.iki.fi/jhi/
        # There is this special biologist word we use for 'stable'.
        # It is 'dead'. -- Jack Cohen) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'On Sat, Oct 06, 2001 at 07:28:53PM -0400, Michael G Schwern wrote:
> On Sat, Oct 06, 2001 at 08:00:45AM +0300, Jarkko Hietaniemi wrote:
> > > So I\'m pondering if using $^X + $ENV{PATH} (or it\'s moral equivalent
> > > on other operating systems) to locate the currently running perl
> > > executable is insecure, or if I can just trust it given that\'s exactly
> > > how I started running the currently running perl.  Most of what Kurt
> > 
> > At least #! completely bypasses $ENV{PATH}.
> 
> That\'s ok.  If #! bypasses $ENV{PATH} by using an absolute path to
> Perl (ie. #!/usr/bin/perl) then $^X will be absolute and $ENV{PATH}

ugli:~ ; cat x
#!/usr/bin/perl
print "$^X foobar\\n";
ugli:~ ; ls -l x
-rwxr-xr-x    1 jhi      users          38 loka    7 03:49 x
ugli:~ ; ./x
perl foobar
ugli:~ ; uname -a
Linux ugli.hut.fi 2.2.19 #1 Thu Apr 5 14:00:15 EET DST 2001 i686 unknown
ugli:~ ; 

The same happens in AIX, Tru64, and Mac OS X; Solaris, HP-UX, and IRIX
seem to have the absolute path in $^X.

> never enters the picture.  I\'m only worried about when the program is
> called with a non-absolute path.

-- 
$jhi++; # http://www.iki.fi/jhi/
        # There is this special biologist word we use for \'stable\'.
        # It is \'dead\'. -- Jack Cohen'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  5 wallclock secs ( 0.25 usr +  0.02 sys =  0.27 CPU)
	Alltook:  5 wallclock secs ( 0.26 usr +  0.02 sys =  0.27 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (5250) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(<perl5-porters@perl.org>) 
			From(David Dyck <dcd@tc.fluke.com>) 
			In-Reply-To(<3BBEA53B.8AB73D4@earthlink.net>)
			Message-Id(<Pine.LNX.4.33.0110061114450.14920-100000@dd.tc.fluke.com>) 
			Reply-To() 
			Subject(Re: patch to ext/IO/lib/IO/Socket/INET.pm fixes Bug ID (20010803.022)) 
			To(Benjamin Goldberg <goldbb2@earthlink.net>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.LNX.4.33.0110061114450.14920-100000@dd.tc.fluke.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.LNX.4.33.0110061114450.14920-100000@dd.tc.fluke.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.LNX.4.33.0110061114450.14920-100000@dd.tc.fluke.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.LNX.4.33.0110061114450.14920-100000@dd.tc.fluke.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.LNX.4.33.0110061114450.14920-100000@dd.tc.fluke.com>%') 
[14] domain(bugs\.perl\.org) ?-> to(Benjamin Goldberg <goldbb2@earthlink.net>), subject(Re: patch to ext/IO/lib/IO/Socket/INET.pm fixes Bug ID (20010803.022)), cc(<perl5-porters@perl.org>) 
[15] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE bugid = '20010803.022' 
[16] REPLY reply(1) from subject: (20010803.022) :-) 
[17] Decision -> do_reply(1) REPLY reply(1) from subject: (20010803.022) :-) 
[18] cmd(M) arg(On Sat, 6 Oct 2001, Benjamin Goldberg wrote:

> > We aren't talking about substitute, but rather the match operator.

> *I* was talking about your use of:
> +    my $defport = ($port =~ s,\((\d+)\)$,,)[0];

oops, I did say that :-)

> This is talking about m// in list context, which is what enables:
>      my $pnum = ($port =~ m,^(\d+)$,)[0];
> to work.  It is *not* talking about s/// ... so there's no reason
> whatsoever to believe that:
>
> +    my $defport = ($port =~ s,\((\d+)\)$,,)[0];
>
> Should work.

I'm glad that clearer minds prevailed on and prevented the
second patch from getting in --
(I did a make test on both patches, and also I used an external test
program, but the test cases did not exersize the code in question properly.
In fact, it turned out that $defport was set to the empty string '',
so the correct value was returned.  The second patch that
I asked to be considered would have broken the ability to specify the
symbolic service name with the number in parenthesis
when the service is not known by the system. (sort of hard to
test for in a general sense)

 David) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'On Sat, 6 Oct 2001, Benjamin Goldberg wrote:

> > We aren\'t talking about substitute, but rather the match operator.

> *I* was talking about your use of:
> +    my $defport = ($port =~ s,\\((\\d+)\\)$,,)[0];

oops, I did say that :-)

> This is talking about m// in list context, which is what enables:
>      my $pnum = ($port =~ m,^(\\d+)$,)[0];
> to work.  It is *not* talking about s/// ... so there\'s no reason
> whatsoever to believe that:
>
> +    my $defport = ($port =~ s,\\((\\d+)\\)$,,)[0];
>
> Should work.

I\'m glad that clearer minds prevailed on and prevented the
second patch from getting in --
(I did a make test on both patches, and also I used an external test
program, but the test cases did not exersize the code in question properly.
In fact, it turned out that $defport was set to the empty string \'\',
so the correct value was returned.  The second patch that
I asked to be considered would have broken the ability to specify the
symbolic service name with the number in parenthesis
when the service is not known by the system. (sort of hard to
test for in a general sense)

 David'
        };
 
[19] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.01 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  9 wallclock secs ( 0.23 usr +  0.03 sys =  0.27 CPU)
	Alltook:  9 wallclock secs ( 0.23 usr +  0.04 sys =  0.27 CPU)
        including 13 SQL statements 
        using 1 database handle/s
	 
[20] SQL: SHOW fields FROM pb_range 
[21] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (21627) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From("chromatic" <chromatic@rmci.net>) 
			In-Reply-To()
			Message-Id(<20011007034754.21057.qmail@onion.perl.org>) 
			Reply-To() 
			Subject([PATCH MANIFEST lib/CPAN/t/Nox.t] Add Tests for CPAN::Nox) 
			To(perl5-porters@perl.org, perl-qa@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007034754.21057.qmail@onion.perl.org>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007034754.21057.qmail@onion.perl.org>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007034754.21057.qmail@onion.perl.org>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007034754.21057.qmail@onion.perl.org>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007034754.21057.qmail@onion.perl.org>%') 
[14] domain(bugs\.perl\.org) ?-> to(perl5-porters@perl.org, perl-qa@perl.org), subject([PATCH MANIFEST lib/CPAN/t/Nox.t] Add Tests for CPAN::Nox), cc() 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(All tests pass.  Low-hanging fruit.

Should I send a copy to Andreas Knig as well?

-- c

--- ~MANIFEST	Sat Oct  6 21:17:21 2001
+++ MANIFEST	Sat Oct  6 21:29:34 2001
@@ -852,6 +852,7 @@
 lib/CPAN.pm			Interface to Comprehensive Perl Archive Network
 lib/CPAN/FirstTime.pm		Utility for creating CPAN config files
 lib/CPAN/Nox.pm			Runs CPAN while avoiding compiled extensions
+lib/CPAN/t/Nox.t		See if CPAN::Nox works
 lib/CPAN/t/loadme.t		See if CPAN the module works
 lib/CPAN/t/vcmp.t		See if CPAN the module works
 lib/ctime.pl			A ctime workalike
--- /dev/null	Thu Aug 30 03:54:37 2001
+++ lib/CPAN/t/Nox.t	Sat Oct  6 20:37:45 2001
@@ -0,0 +1,27 @@
+#!./perl
+
+BEGIN {
+	chdir 't' if -d 't';
+	@INC = '../lib';
+}
+
+use Test::More tests => 8;
+
+# use this first to $CPAN::term can be undefined
+use_ok( 'CPAN' );
+undef $CPAN::term;
+
+# this kicks off all the magic
+use_ok( 'CPAN::Nox' );
+
+# this will be set if $CPAN::term is undefined
+is( $CPAN::Suppress_readline, 1, 'should set suppress readline flag' );
+
+# all of these modules have XS components, should be marked unavailable
+for my $mod (qw( Digest::MD5 LWP Compress::Zlib )) {
+	is( $CPAN::META->has_inst($mod), 0, "$mod should be marked unavailable" );
+}
+
+# and these will be set to those in CPAN
+is( @CPAN::Nox::EXPORT, @CPAN::EXPORT, 'should export just what CPAN does' );
+is( \&CPAN::Nox::AUTOLOAD, \&CPAN::AUTOLOAD, 'AUTOLOAD should be aliased' );) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'All tests pass.  Low-hanging fruit.

Should I send a copy to Andreas Knig as well?

-- c

--- ~MANIFEST	Sat Oct  6 21:17:21 2001
+++ MANIFEST	Sat Oct  6 21:29:34 2001
@@ -852,6 +852,7 @@
 lib/CPAN.pm			Interface to Comprehensive Perl Archive Network
 lib/CPAN/FirstTime.pm		Utility for creating CPAN config files
 lib/CPAN/Nox.pm			Runs CPAN while avoiding compiled extensions
+lib/CPAN/t/Nox.t		See if CPAN::Nox works
 lib/CPAN/t/loadme.t		See if CPAN the module works
 lib/CPAN/t/vcmp.t		See if CPAN the module works
 lib/ctime.pl			A ctime workalike
--- /dev/null	Thu Aug 30 03:54:37 2001
+++ lib/CPAN/t/Nox.t	Sat Oct  6 20:37:45 2001
@@ -0,0 +1,27 @@
+#!./perl
+
+BEGIN {
+	chdir \'t\' if -d \'t\';
+	@INC = \'../lib\';
+}
+
+use Test::More tests => 8;
+
+# use this first to $CPAN::term can be undefined
+use_ok( \'CPAN\' );
+undef $CPAN::term;
+
+# this kicks off all the magic
+use_ok( \'CPAN::Nox\' );
+
+# this will be set if $CPAN::term is undefined
+is( $CPAN::Suppress_readline, 1, \'should set suppress readline flag\' );
+
+# all of these modules have XS components, should be marked unavailable
+for my $mod (qw( Digest::MD5 LWP Compress::Zlib )) {
+	is( $CPAN::META->has_inst($mod), 0, "$mod should be marked unavailable" );
+}
+
+# and these will be set to those in CPAN
+is( @CPAN::Nox::EXPORT, @CPAN::EXPORT, \'should export just what CPAN does\' );
+is( \\&CPAN::Nox::AUTOLOAD, \\&CPAN::AUTOLOAD, \'AUTOLOAD should be aliased\' );'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  1 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 15 wallclock secs ( 0.23 usr +  0.02 sys =  0.24 CPU)
	Alltook: 16 wallclock secs ( 0.23 usr +  0.02 sys =  0.24 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (24041) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From("chromatic" <chromatic@rmci.net>) 
			In-Reply-To()
			Message-Id(<20011007040729.23872.qmail@onion.perl.org>) 
			Reply-To() 
			Subject(Duplicated Code between ExtUtils::MM_Unix and File::Spec::Unix) 
			To(perl5-porters@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[14] domain(bugs\.perl\.org) ?-> to(perl5-porters@perl.org), subject(Duplicated Code between ExtUtils::MM_Unix and File::Spec::Unix), cc() 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(In ExtUtils::MM_Unix (scary), there's a bit of code that looks strangely like
code from File::Spec::Unix.  These functions are identical, down to the
comments:

	canonpath
	catdir
	curdir
	rootdir

This one is very close, only slightly more advanced in ExtUtils::MM_Unix:
	catfile

Is this copy and paste coding that could be cleaned up?  Is MM_Unix used in
miniperl before File::Spec is available?  Would that help portability within
MM_* overall?

It'd be easier to test with less code, anyway....

-- c) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'In ExtUtils::MM_Unix (scary), there\'s a bit of code that looks strangely like
code from File::Spec::Unix.  These functions are identical, down to the
comments:

	canonpath
	catdir
	curdir
	rootdir

This one is very close, only slightly more advanced in ExtUtils::MM_Unix:
	catfile

Is this copy and paste coding that could be cleaned up?  Is MM_Unix used in
miniperl before File::Spec is available?  Would that help portability within
MM_* overall?

It\'d be easier to test with less code, anyway....

-- c'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 12 wallclock secs ( 0.21 usr +  0.02 sys =  0.23 CPU)
	Alltook: 12 wallclock secs ( 0.21 usr +  0.02 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (45760) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(Perl 5 Porters <perl5-porters@perl.org>) 
			From(Stas Bekman <stas@stason.org>) 
			In-Reply-To()
			Message-Id(<3BBFF324.8080107@stason.org>) 
			Reply-To() 
			Subject(Re: ExtUtils::MakeMaker's PREOP vs distdir execution order) 
			To("Andreas J. Koenig" <andreas.koenig@anima.de>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[14] domain(bugs\.perl\.org) ?-> to("Andreas J. Koenig" <andreas.koenig@anima.de>), subject(Re: ExtUtils::MakeMaker's PREOP vs distdir execution order), cc(Perl 5 Porters <perl5-porters@perl.org>) 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(Andreas J. Koenig wrote:

>>>>>>On Sat, 06 Oct 2001 21:26:36 +0800, Stas Bekman <stas@stason.org> said:
>>>>>>
> 
>   >    WriteMakefile(
>   >        dist         => {
>   >                         PREOP => 'pod2text lib/Apache/Amazing.pm > README',
>   >                        },
>   >        ...
>   >    );
> 
> I think I recommended this trick to Doug, so I'm probably to blame for
> this bug. I corrected my Makefile.PL to:
> 
> 	       PREOP => 'pod2text lib/CPAN.pm > $(DISTVNAME)/README',


Thanks Andreas, but it doesn't work :( 


I don't think it helps the execution order. README is in MANIFEST and manicopy fails, because PREOP wasn't run yet:

% make dist
rm -rf Apache-Benchmark-0.01
/home/stas/perl/ithread/bin/perl5.7.2 
-MExtUtils::Manifest=manicopy,maniread \
-e "manicopy(maniread(),'Apache-Benchmark-0.01', 'best');"
mkdir Apache-Benchmark-0.01
mkdir Apache-Benchmark-0.01/t
mkdir Apache-Benchmark-0.01/lib
mkdir Apache-Benchmark-0.01/lib/Apache
mkdir Apache-Benchmark-0.01/t/conf
-e: README not found at -e line 1
Can't read README: No such file or directory
  at -e line 1
make: *** [distdir] Error 2


-- 


_____________________________________________________________________
Stas Bekman             JAm_pH      --   Just Another mod_perl Hacker
http://stason.org/      mod_perl Guide   http://perl.apache.org/guide
mailto:stas@stason.org  http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'Andreas J. Koenig wrote:

>>>>>>On Sat, 06 Oct 2001 21:26:36 +0800, Stas Bekman <stas@stason.org> said:
>>>>>>
> 
>   >    WriteMakefile(
>   >        dist         => {
>   >                         PREOP => \'pod2text lib/Apache/Amazing.pm > README\',
>   >                        },
>   >        ...
>   >    );
> 
> I think I recommended this trick to Doug, so I\'m probably to blame for
> this bug. I corrected my Makefile.PL to:
> 
> 	       PREOP => \'pod2text lib/CPAN.pm > $(DISTVNAME)/README\',


Thanks Andreas, but it doesn\'t work :( 


I don\'t think it helps the execution order. README is in MANIFEST and manicopy fails, because PREOP wasn\'t run yet:

% make dist
rm -rf Apache-Benchmark-0.01
/home/stas/perl/ithread/bin/perl5.7.2 
-MExtUtils::Manifest=manicopy,maniread \\
-e "manicopy(maniread(),\'Apache-Benchmark-0.01\', \'best\');"
mkdir Apache-Benchmark-0.01
mkdir Apache-Benchmark-0.01/t
mkdir Apache-Benchmark-0.01/lib
mkdir Apache-Benchmark-0.01/lib/Apache
mkdir Apache-Benchmark-0.01/t/conf
-e: README not found at -e line 1
Can\'t read README: No such file or directory
  at -e line 1
make: *** [distdir] Error 2


-- 


_____________________________________________________________________
Stas Bekman             JAm_pH      --   Just Another mod_perl Hacker
http://stason.org/      mod_perl Guide   http://perl.apache.org/guide
mailto:stas@stason.org  http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Runtime:  9 wallclock secs ( 0.22 usr +  0.02 sys =  0.24 CPU)
	Alltook:  9 wallclock secs ( 0.23 usr +  0.02 sys =  0.25 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (48925) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc("Andreas J. Koenig"
    <andreas.koenig@anima.de>, Perl 5 Porters <perl5-porters@perl.org>) 
			From(andreas.koenig@anima.de (Andreas J. Koenig)) 
			In-Reply-To(<3BBFF324.8080107@stason.org>)
			Message-Id(<m33d4whrse.fsf@anima.de>) 
			Reply-To() 
			Subject(Re: ExtUtils::MakeMaker's PREOP vs distdir execution order) 
			To(Stas Bekman <stas@stason.org>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <m33d4whrse.fsf@anima.de>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <m33d4whrse.fsf@anima.de>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <m33d4whrse.fsf@anima.de>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <m33d4whrse.fsf@anima.de>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <m33d4whrse.fsf@anima.de>%') 
[14] domain(bugs\.perl\.org) ?-> to(Stas Bekman <stas@stason.org>), subject(Re: ExtUtils::MakeMaker's PREOP vs distdir execution order), cc("Andreas J. Koenig"
    <andreas.koenig@anima.de>, Perl 5 Porters <perl5-porters@perl.org>) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x853cfa8)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(>>>>> On Sun, 07 Oct 2001 14:16:04 +0800, Stas Bekman <stas@stason.org> said:

  > README is in MANIFEST and manicopy fails, because
  > PREOP wasn't run yet:

Rats, you're right. What if you create a dummy README in the working
directory. It should be overwritten in the $(DISTVNAME)/ directory
then.

-- 
andreas) => ret: $VAR1 = {
          'opts' => '',
          'body' => '>>>>> On Sun, 07 Oct 2001 14:16:04 +0800, Stas Bekman <stas@stason.org> said:

  > README is in MANIFEST and manicopy fails, because
  > PREOP wasn\'t run yet:

Rats, you\'re right. What if you create a dummy README in the working
directory. It should be overwritten in the $(DISTVNAME)/ directory
then.

-- 
andreas'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 10 wallclock secs ( 0.23 usr +  0.04 sys =  0.27 CPU)
	Alltook: 10 wallclock secs ( 0.24 usr +  0.04 sys =  0.28 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (50043) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(perl5-porters@perl.org) 
			From(andreas.koenig@anima.de (Andreas J. Koenig)) 
			In-Reply-To(<20011007040729.23872.qmail@onion.perl.org>)
			Message-Id(<m3y9mogd2s.fsf@anima.de>) 
			Reply-To() 
			Subject(Re: Duplicated Code between ExtUtils::MM_Unix and File::Spec::Unix) 
			To("chromatic" <chromatic@rmci.net>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3y9mogd2s.fsf@anima.de>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3y9mogd2s.fsf@anima.de>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3y9mogd2s.fsf@anima.de>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3y9mogd2s.fsf@anima.de>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3y9mogd2s.fsf@anima.de>%') 
[14] domain(bugs\.perl\.org) ?-> to("chromatic" <chromatic@rmci.net>), subject(Re: Duplicated Code between ExtUtils::MM_Unix and File::Spec::Unix), cc(perl5-porters@perl.org) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x86005c8)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(>>>>> On Sat, 06 Oct 2001 22:01:38 -0600, "chromatic" <chromatic@rmci.net> said:

  > In ExtUtils::MM_Unix (scary), there's a bit of code that looks strangely like
  > code from File::Spec::Unix.

Historically it was the other way round, but yes, the code in MM was
considered to go away as soon as File::Spec was stable.

  > Is this copy and paste coding that could be cleaned up?

Yes, that would be a good step forward.

-- 
andreas) => ret: $VAR1 = {
          'opts' => '',
          'body' => '>>>>> On Sat, 06 Oct 2001 22:01:38 -0600, "chromatic" <chromatic@rmci.net> said:

  > In ExtUtils::MM_Unix (scary), there\'s a bit of code that looks strangely like
  > code from File::Spec::Unix.

Historically it was the other way round, but yes, the code in MM was
considered to go away as soon as File::Spec was stable.

  > Is this copy and paste coding that could be cleaned up?

Yes, that would be a good step forward.

-- 
andreas'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 11 wallclock secs ( 0.23 usr +  0.03 sys =  0.26 CPU)
	Alltook: 11 wallclock secs ( 0.23 usr +  0.03 sys =  0.26 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 

From - Sun Oct  7 14:31:08 2001
Return-Path: <perlbug@onion.perl.org>
Received: from mimer.null.dk ([130.228.230.9]) by mailin02.sul.t-online.de
	with smtp id 15qB8n-2L3qc4C; Sun, 7 Oct 2001 12:26:37 +0200
Received: (qmail 22666 invoked by uid 1038); 7 Oct 2001 10:26:32 -0000
Delivered-To: richard@mimer.null.dk
Received: (qmail 22654 invoked by uid 1038); 7 Oct 2001 10:26:32 -0000
Delivered-To: richard-rfi-rjsf-tron7@rfi.net
Received: (qmail 22651 invoked from network); 7 Oct 2001 10:26:31 -0000
Received: from onion.valueclick.com (HELO onion.perl.org) (209.85.157.220)
  by mimer.null.dk with SMTP; 7 Oct 2001 10:26:31 -0000
Received: (qmail 78655 invoked by uid 1007); 7 Oct 2001 10:26:30 -0000
Date: 7 Oct 2001 10:26:30 -0000
Message-ID: <20011007102630.78654.qmail@onion.perl.org>
From: perlbug@onion.perl.org
To: rjsf-tron7@rfi.net
X-Mozilla-Status: 8001
X-Mozilla-Status2: 00000000
X-UIDL: 2fb0f4a316f4de84

[0] INIT 2.86 (51468) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(rmoberly@mailandnews.com) 
			In-Reply-To()
			Message-Id(<000028c37a37$0000410a$0000032b@tat.de>) 
			Reply-To() 
			Subject(Pheromones 4 u                         811) 
			To(<Special.Customers@chthon.perl.com>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <000028c37a37$0000410a$0000032b@tat.de>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <000028c37a37$0000410a$0000032b@tat.de>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <000028c37a37$0000410a$0000032b@tat.de>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <000028c37a37$0000410a$0000032b@tat.de>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <000028c37a37$0000410a$0000032b@tat.de>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  8 wallclock secs ( 0.20 usr +  0.02 sys =  0.22 CPU)
	Alltook:  8 wallclock secs ( 0.21 usr +  0.02 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (55482) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From("InfoGrab.net" <infograb@mail.com>) 
			In-Reply-To()
			Message-Id(<200110070743.f977gv130950@chthon.perl.com>) 
			Reply-To() 
			Subject(RE:  .INFO is now live) 
			To(perlbug@mox.perl.com) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070743.f977gv130950@chthon.perl.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070743.f977gv130950@chthon.perl.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070743.f977gv130950@chthon.perl.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070743.f977gv130950@chthon.perl.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070743.f977gv130950@chthon.perl.com>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  8 wallclock secs ( 0.20 usr +  0.02 sys =  0.21 CPU)
	Alltook:  8 wallclock secs ( 0.20 usr +  0.02 sys =  0.22 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (62151) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(Perl 5 Porters <perl5-porters@perl.org>) 
			From(Stas Bekman <stas@stason.org>) 
			In-Reply-To()
			Message-Id(<3BC012B1.8030801@stason.org>) 
			Reply-To() 
			Subject(Re: ExtUtils::MakeMaker's PREOP vs distdir execution order) 
			To("Andreas J. Koenig" <andreas.koenig@anima.de>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BC012B1.8030801@stason.org>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BC012B1.8030801@stason.org>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BC012B1.8030801@stason.org>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BC012B1.8030801@stason.org>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BC012B1.8030801@stason.org>%') 
[14] domain(bugs\.perl\.org) ?-> to("Andreas J. Koenig" <andreas.koenig@anima.de>), subject(Re: ExtUtils::MakeMaker's PREOP vs distdir execution order), cc(Perl 5 Porters <perl5-porters@perl.org>) 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(Andreas J. Koenig wrote:

>>>>>>On Sun, 07 Oct 2001 14:16:04 +0800, Stas Bekman <stas@stason.org> said:
>>>>>>
> 
>   > README is in MANIFEST and manicopy fails, because
>   > PREOP wasn't run yet:
> 
> Rats, you're right. What if you create a dummy README in the working
> directory. It should be overwritten in the $(DISTVNAME)/ directory
> then.

Yup, as I've mentioned in the original post, that's the workaround I've 
been using for a long time.

That's why I've asked whether it'd be a good thing to do to make PRE- in 
PREOP to be pre, and not post- :) i.e. run PREOP before distdir target. 
Or is it wrong?

_____________________________________________________________________
Stas Bekman             JAm_pH      --   Just Another mod_perl Hacker
http://stason.org/      mod_perl Guide   http://perl.apache.org/guide
mailto:stas@stason.org  http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'Andreas J. Koenig wrote:

>>>>>>On Sun, 07 Oct 2001 14:16:04 +0800, Stas Bekman <stas@stason.org> said:
>>>>>>
> 
>   > README is in MANIFEST and manicopy fails, because
>   > PREOP wasn\'t run yet:
> 
> Rats, you\'re right. What if you create a dummy README in the working
> directory. It should be overwritten in the $(DISTVNAME)/ directory
> then.

Yup, as I\'ve mentioned in the original post, that\'s the workaround I\'ve 
been using for a long time.

That\'s why I\'ve asked whether it\'d be a good thing to do to make PRE- in 
PREOP to be pre, and not post- :) i.e. run PREOP before distdir target. 
Or is it wrong?

_____________________________________________________________________
Stas Bekman             JAm_pH      --   Just Another mod_perl Hacker
http://stason.org/      mod_perl Guide   http://perl.apache.org/guide
mailto:stas@stason.org  http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  8 wallclock secs ( 0.22 usr +  0.02 sys =  0.23 CPU)
	Alltook:  8 wallclock secs ( 0.22 usr +  0.02 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (64635) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Michael G Schwern <schwern@pobox.com>) 
			In-Reply-To(<20011007035850.A24485@alpha.hut.fi>)
			Message-Id(<20011007045637.A616@blackrider>) 
			Reply-To() 
			Subject(Re: A philosophical tainting issue) 
			To(Jarkko Hietaniemi <jhi@iki.fi>, perl5-porters@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045637.A616@blackrider>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045637.A616@blackrider>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045637.A616@blackrider>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045637.A616@blackrider>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045637.A616@blackrider>%') 
[14] domain(bugs\.perl\.org) ?-> to(Jarkko Hietaniemi <jhi@iki.fi>, perl5-porters@perl.org), subject(Re: A philosophical tainting issue), cc() 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x853cde0)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(On Sun, Oct 07, 2001 at 03:58:50AM +0300, Jarkko Hietaniemi wrote:
> #!/usr/bin/perl
> print "$^X foobar\n";
> ugli:~ ; ls -l x
> -rwxr-xr-x    1 jhi      users          38 loka????  7 03:49 x
> ugli:~ ; ./x
> perl foobar
> ugli:~ ; uname -a
> Linux ugli.hut.fi 2.2.19 #1 Thu Apr 5 14:00:15 EET DST 2001 i686 unknown
> ugli:~ ; 
> 
> The same happens in AIX, Tru64, and Mac OS X; Solaris, HP-UX, and IRIX
> seem to have the absolute path in $^X.

Weird.  I get an absolute path, Linux 2.4.  You're right about 2.2, though.

Hrumf.

-- 

Michael G. Schwern   <schwern@pobox.com>    http://www.pobox.com/~schwern/
Perl6 Quality Assurance     <perl-qa@perl.org>	     Kwalitee Is Job One
Maybe they hooked you up with one of those ass-making magazines.
	-- brian d. foy as misheard by Michael G Schwern) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'On Sun, Oct 07, 2001 at 03:58:50AM +0300, Jarkko Hietaniemi wrote:
> #!/usr/bin/perl
> print "$^X foobar\\n";
> ugli:~ ; ls -l x
> -rwxr-xr-x    1 jhi      users          38 loka????  7 03:49 x
> ugli:~ ; ./x
> perl foobar
> ugli:~ ; uname -a
> Linux ugli.hut.fi 2.2.19 #1 Thu Apr 5 14:00:15 EET DST 2001 i686 unknown
> ugli:~ ; 
> 
> The same happens in AIX, Tru64, and Mac OS X; Solaris, HP-UX, and IRIX
> seem to have the absolute path in $^X.

Weird.  I get an absolute path, Linux 2.4.  You\'re right about 2.2, though.

Hrumf.

-- 

Michael G. Schwern   <schwern@pobox.com>    http://www.pobox.com/~schwern/
Perl6 Quality Assurance     <perl-qa@perl.org>	     Kwalitee Is Job One
Maybe they hooked you up with one of those ass-making magazines.
	-- brian d. foy as misheard by Michael G Schwern'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 10 wallclock secs ( 0.23 usr +  0.04 sys =  0.27 CPU)
	Alltook: 10 wallclock secs ( 0.23 usr +  0.04 sys =  0.27 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (65545) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(perl5-porters@perl.org) 
			From(Michael G Schwern <schwern@pobox.com>) 
			In-Reply-To(<20011007040729.23872.qmail@onion.perl.org>)
			Message-Id(<20011007045959.B616@blackrider>) 
			Reply-To() 
			Subject(Re: Duplicated Code between ExtUtils::MM_Unix and File::Spec::Unix) 
			To(chromatic <chromatic@rmci.net>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045959.B616@blackrider>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045959.B616@blackrider>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045959.B616@blackrider>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045959.B616@blackrider>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007045959.B616@blackrider>%') 
[14] domain(bugs\.perl\.org) ?-> to(chromatic <chromatic@rmci.net>), subject(Re: Duplicated Code between ExtUtils::MM_Unix and File::Spec::Unix), cc(perl5-porters@perl.org) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x853ee34)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(On Sat, Oct 06, 2001 at 10:01:38PM -0600, chromatic wrote:
> In ExtUtils::MM_Unix (scary), there's a bit of code that looks strangely like
> code from File::Spec::Unix.  These functions are identical, down to the
> comments:
> 
> 	canonpath
> 	catdir
> 	curdir
> 	rootdir
> 
> This one is very close, only slightly more advanced in ExtUtils::MM_Unix:
> 	catfile
> 
> Is this copy and paste coding that could be cleaned up?  Is MM_Unix used in
> miniperl before File::Spec is available?  Would that help portability within
> MM_* overall?

I thought I did that.  I'm about to go to bed, have a look through the
makemaker@perl.org archives for the patch, or I'll find it in the morning.


-- 

Michael G. Schwern   <schwern@pobox.com>    http://www.pobox.com/~schwern/
Perl6 Quality Assurance     <perl-qa@perl.org>	     Kwalitee Is Job One
If you have to shoot, shoot!  Don't talk.
		-- Tuco, "The Good, The Bad And The Ugly") => ret: $VAR1 = {
          'opts' => '',
          'body' => 'On Sat, Oct 06, 2001 at 10:01:38PM -0600, chromatic wrote:
> In ExtUtils::MM_Unix (scary), there\'s a bit of code that looks strangely like
> code from File::Spec::Unix.  These functions are identical, down to the
> comments:
> 
> 	canonpath
> 	catdir
> 	curdir
> 	rootdir
> 
> This one is very close, only slightly more advanced in ExtUtils::MM_Unix:
> 	catfile
> 
> Is this copy and paste coding that could be cleaned up?  Is MM_Unix used in
> miniperl before File::Spec is available?  Would that help portability within
> MM_* overall?

I thought I did that.  I\'m about to go to bed, have a look through the
makemaker@perl.org archives for the patch, or I\'ll find it in the morning.


-- 

Michael G. Schwern   <schwern@pobox.com>    http://www.pobox.com/~schwern/
Perl6 Quality Assurance     <perl-qa@perl.org>	     Kwalitee Is Job One
If you have to shoot, shoot!  Don\'t talk.
		-- Tuco, "The Good, The Bad And The Ugly"'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  4 wallclock secs ( 0.23 usr +  0.04 sys =  0.27 CPU)
	Alltook:  4 wallclock secs ( 0.23 usr +  0.04 sys =  0.27 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (66063) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(Jarkko Hietaniemi <jhi@iki.fi>, perl5-porters@perl.org) 
			From(Nick Ing-Simmons <nick@ing-simmons.net>) 
			In-Reply-To(<20011006192852.A588@blackrider> from Michael G Schwern on
    Sat, 6 Oct 2001 19:28:53 -0400)
			Message-Id(<20011007090029.746.1@bactrian.ni-s.u-net.com>) 
			Reply-To(Nick Ing-Simmons <nick@ing-simmons.net>) 
			Subject(Re: A philosophical tainting issue) 
			To(schwern@pobox.com) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090029.746.1@bactrian.ni-s.u-net.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090029.746.1@bactrian.ni-s.u-net.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090029.746.1@bactrian.ni-s.u-net.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090029.746.1@bactrian.ni-s.u-net.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090029.746.1@bactrian.ni-s.u-net.com>%') 
[14] domain(bugs\.perl\.org) ?-> to(schwern@pobox.com), subject(Re: A philosophical tainting issue), cc(Jarkko Hietaniemi <jhi@iki.fi>, perl5-porters@perl.org) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x853fec4)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(Michael G Schwern <schwern@pobox.com> writes:
>On Sat, Oct 06, 2001 at 08:00:45AM +0300, Jarkko Hietaniemi wrote:
>> > So I'm pondering if using $^X + $ENV{PATH} (or it's moral equivalent
>> > on other operating systems) to locate the currently running perl
>> > executable is insecure, or if I can just trust it given that's exactly
>> > how I started running the currently running perl.  Most of what Kurt
>> 
>> At least #! completely bypasses $ENV{PATH}.
>
>That's ok.  If #! bypasses $ENV{PATH} by using an absolute path to
>Perl (ie. #!/usr/bin/perl) then $^X will be absolute and $ENV{PATH}
>never enters the picture.  

Not necessarily - on linux 2.2.* kernel at least $^X will just be "perl":

nick@bactrian 502$ /tmp/x
perl
nick@bactrian 502$ cat !$
cat /tmp/x
#!/usr/local/bin/perl -w
print "$^X\n";
nick@bactrian 503$
                                
-- 
Nick Ing-Simmons
http://www.ni-s.u-net.com/) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'Michael G Schwern <schwern@pobox.com> writes:
>On Sat, Oct 06, 2001 at 08:00:45AM +0300, Jarkko Hietaniemi wrote:
>> > So I\'m pondering if using $^X + $ENV{PATH} (or it\'s moral equivalent
>> > on other operating systems) to locate the currently running perl
>> > executable is insecure, or if I can just trust it given that\'s exactly
>> > how I started running the currently running perl.  Most of what Kurt
>> 
>> At least #! completely bypasses $ENV{PATH}.
>
>That\'s ok.  If #! bypasses $ENV{PATH} by using an absolute path to
>Perl (ie. #!/usr/bin/perl) then $^X will be absolute and $ENV{PATH}
>never enters the picture.  

Not necessarily - on linux 2.2.* kernel at least $^X will just be "perl":

nick@bactrian 502$ /tmp/x
perl
nick@bactrian 502$ cat !$
cat /tmp/x
#!/usr/local/bin/perl -w
print "$^X\\n";
nick@bactrian 503$
                                
-- 
Nick Ing-Simmons
http://www.ni-s.u-net.com/'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  6 wallclock secs ( 0.25 usr +  0.00 sys =  0.25 CPU)
	Alltook:  6 wallclock secs ( 0.25 usr +  0.00 sys =  0.25 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (66796) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(perl5-porters@perl.org) 
			From(Nick Ing-Simmons <nick@ing-simmons.net>) 
			In-Reply-To(<20011007040729.23872.qmail@onion.perl.org> from Chromatic on
    Sat, 06 Oct 2001 22:01:38 -0600)
			Message-Id(<20011007090129.746.2@bactrian.ni-s.u-net.com>) 
			Reply-To(Nick Ing-Simmons <nick@ing-simmons.net>) 
			Subject(Re: Duplicated Code between ExtUtils::MM_Unix and File::Spec::Unix) 
			To(chromatic@rmci.net) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090129.746.2@bactrian.ni-s.u-net.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090129.746.2@bactrian.ni-s.u-net.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090129.746.2@bactrian.ni-s.u-net.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090129.746.2@bactrian.ni-s.u-net.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007090129.746.2@bactrian.ni-s.u-net.com>%') 
[14] domain(bugs\.perl\.org) ?-> to(chromatic@rmci.net), subject(Re: Duplicated Code between ExtUtils::MM_Unix and File::Spec::Unix), cc(perl5-porters@perl.org) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x853eec4)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(Chromatic <chromatic@rmci.net> writes:
>In ExtUtils::MM_Unix (scary), there's a bit of code that looks strangely like
>code from File::Spec::Unix.  These functions are identical, down to the
>comments:
>
>	canonpath
>	catdir
>	curdir
>	rootdir
>
>This one is very close, only slightly more advanced in ExtUtils::MM_Unix:
>	catfile
>
>Is this copy and paste coding that could be cleaned up?  Is MM_Unix used in
>miniperl before File::Spec is available?  Would that help portability within
>MM_* overall?

Just history I think - original File::Spec was copied from MM.

>
>It'd be easier to test with less code, anyway....
>
>-- c
-- 
Nick Ing-Simmons
http://www.ni-s.u-net.com/) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'Chromatic <chromatic@rmci.net> writes:
>In ExtUtils::MM_Unix (scary), there\'s a bit of code that looks strangely like
>code from File::Spec::Unix.  These functions are identical, down to the
>comments:
>
>	canonpath
>	catdir
>	curdir
>	rootdir
>
>This one is very close, only slightly more advanced in ExtUtils::MM_Unix:
>	catfile
>
>Is this copy and paste coding that could be cleaned up?  Is MM_Unix used in
>miniperl before File::Spec is available?  Would that help portability within
>MM_* overall?

Just history I think - original File::Spec was copied from MM.

>
>It\'d be easier to test with less code, anyway....
>
>-- c
-- 
Nick Ing-Simmons
http://www.ni-s.u-net.com/'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.01 sys =  0.02 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  4 wallclock secs ( 0.27 usr +  0.00 sys =  0.27 CPU)
	Alltook:  4 wallclock secs ( 0.28 usr +  0.01 sys =  0.29 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (77193) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(oq5h3esm97v@hotmail.com) 
			In-Reply-To()
			Message-Id(<200110071015.OAA08676@mail.rgazu.ru>) 
			Reply-To() 
			Subject(75% off Life Insurance.  Free quotes in less than a minute, and
    there's no hassle!) 
			To(<fpwvek3djmsep@hotmail.com>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110071015.OAA08676@mail.rgazu.ru>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110071015.OAA08676@mail.rgazu.ru>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110071015.OAA08676@mail.rgazu.ru>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110071015.OAA08676@mail.rgazu.ru>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110071015.OAA08676@mail.rgazu.ru>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  1 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 23 wallclock secs ( 0.20 usr +  0.02 sys =  0.22 CPU)
	Alltook: 24 wallclock secs ( 0.20 usr +  0.02 sys =  0.22 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 

From - Sun Oct  7 14:31:13 2001
Return-Path: <perlbug@onion.perl.org>
Received: from mimer.null.dk ([130.228.230.9]) by mailin03.sul.t-online.de
	with smtp id 15qB8d-29nwUCC; Sun, 7 Oct 2001 12:26:27 +0200
Received: (qmail 22647 invoked by uid 1038); 7 Oct 2001 10:26:26 -0000
Delivered-To: richard@mimer.null.dk
Received: (qmail 22635 invoked by uid 1038); 7 Oct 2001 10:26:25 -0000
Delivered-To: richard-rfi-rjsf-tron6@rfi.net
Received: (qmail 22632 invoked from network); 7 Oct 2001 10:26:23 -0000
Received: from onion.valueclick.com (HELO onion.perl.org) (209.85.157.220)
  by mimer.null.dk with SMTP; 7 Oct 2001 10:26:23 -0000
Received: (qmail 78608 invoked by uid 1007); 7 Oct 2001 10:26:21 -0000
Date: 7 Oct 2001 10:26:21 -0000
Message-ID: <20011007102621.78607.qmail@onion.perl.org>
From: perlbug@onion.perl.org
To: rjsf-tron6@rfi.net
X-Mozilla-Status: 8001
X-Mozilla-Status2: 00000000
X-UIDL: 7b14c41ef462205b

[0] INIT 2.86 (40485) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(kitchip36@freemail.hu) 
			In-Reply-To()
			Message-Id(<200110060751.f967pj115452@chthon.perl.com>) 
			Reply-To() 
			Subject(Tired of Having Bad Credit?) 
			To(<Undisclosed.Recipients@chthon.perl.com>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110060751.f967pj115452@chthon.perl.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110060751.f967pj115452@chthon.perl.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110060751.f967pj115452@chthon.perl.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110060751.f967pj115452@chthon.perl.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110060751.f967pj115452@chthon.perl.com>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 18 wallclock secs ( 0.23 usr +  0.00 sys =  0.23 CPU)
	Alltook: 18 wallclock secs ( 0.23 usr +  0.00 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (41507) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(itsmeman2000@yahoo.com) 
			In-Reply-To()
			Message-Id(<aW50ZXJuYXRpb25hbEBwZW9wbGVwYy5jb20=$epem@yahoo.com>) 
			Reply-To() 
			Subject(Forget Video's This is Broadband !) 
			To(<international@peoplepc.com>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <aW50ZXJuYXRpb25hbEBwZW9wbGVwYy5jb20=$epem@yahoo.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <aW50ZXJuYXRpb25hbEBwZW9wbGVwYy5jb20=$epem@yahoo.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <aW50ZXJuYXRpb25hbEBwZW9wbGVwYy5jb20=$epem@yahoo.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <aW50ZXJuYXRpb25hbEBwZW9wbGVwYy5jb20=$epem@yahoo.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <aW50ZXJuYXRpb25hbEBwZW9wbGVwYy5jb20=$epem@yahoo.com>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.01 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  9 wallclock secs ( 0.21 usr +  0.01 sys =  0.22 CPU)
	Alltook:  9 wallclock secs ( 0.21 usr +  0.02 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (41537) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(<yousave2@sorocaba.net>) 
			In-Reply-To()
			Message-Id(<00001e485a06$000041b3$000027b3@sorocaba.net>) 
			Reply-To(usavemore2001@yahoo.com) 
			Subject(Early Holiday Special - Famous Name Brand Leather Jackets @
    Liquidation Prices!! .....................................................
    10163) 
			To(<yousave2@sorocaba.net>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <00001e485a06$000041b3$000027b3@sorocaba.net>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <00001e485a06$000041b3$000027b3@sorocaba.net>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <00001e485a06$000041b3$000027b3@sorocaba.net>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <00001e485a06$000041b3$000027b3@sorocaba.net>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <00001e485a06$000041b3$000027b3@sorocaba.net>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  1 wallclock secs ( 0.20 usr +  0.01 sys =  0.20 CPU)
	Alltook:  1 wallclock secs ( 0.20 usr +  0.01 sys =  0.21 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (54205) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(perl5-porters@perl.org) 
			From(Will Coleda <wcoleda@infomg.com>) 
			In-Reply-To()
			Message-Id(<3BBEEE96.28AE2DC9@infomg.com>) 
			Reply-To() 
			Subject(Re: [servergraph.com@verizon.net: Bug in timelocal?]) 
			To(Lindsay Morris <servergraph.com@verizon.net>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEE96.28AE2DC9@infomg.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEE96.28AE2DC9@infomg.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEE96.28AE2DC9@infomg.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEE96.28AE2DC9@infomg.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEE96.28AE2DC9@infomg.com>%') 
[14] domain(bugs\.perl\.org) ?-> to(Lindsay Morris <servergraph.com@verizon.net>), subject(Re: [servergraph.com@verizon.net: Bug in timelocal?]), cc(perl5-porters@perl.org) 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(--------------C33B34F9EE5B4ECBA9D17CE0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Those dates refer to about 1AM on Octoboer 28, 2001, which I believe is
when daylight savings time kicks in, if you're in a timezone that likes
to do that kind of thing.

So, you're asking for the time just before DST ends, then immediately
after. The wall clock has been turned back an hour and run through again
in  -`-.0
.0 those

I believe if you run those "missing" seconds back through localtime,
you'll see that they correspond to the same time frame on the "clock".
(or localtime()).



Jarkko Hietaniemi wrote:
> 
> ----- Forwarded message from Lindsay Morris <servergraph.com@verizon.net> -----
> 
> Subject: Bug in timelocal?
> From: "Lindsay Morris" <servergraph.com@verizon.net>
> Date: Fri, 5 Oct 2001 15:32:20 -0400
> Message-ID: <002501c14dd4$7372e680$4cb8f5c0@lmorris>
> To: <cpan@perl.org>
> Reply-To: <lmorris@servergraph.com>
> Importance: Normal
> 
> Add a minute, gain an hour?
> Run this:
> 
> #!/usr/bin/perl
> use Time::Local;
> print "timelocal(0,59,0,28,9,101) is:", timelocal(0,59,0,28,9,101),"\n";
> print "timelocal(0, 0,1,28,9,101) is:", timelocal(0, 0,1,28,9,101),"\n";
> # with perl 5.6.0.1 on AIX 4.3.2.0, I get:
> # timelocal(0,59,0,28,9,101) is:1004245140
> # timelocal(0, 0,1,28,9,101) is:1004248800
> # The difference is seconds is an hour and a minute, not just a minute.
> # Lindsay Morris / lmorris@servergraph.com / 859-253-8000
> 
> Same behavior w perl v 5.005.03.
> Any wisdom appreciated...
> ---------------------------------
> Mr. Lindsay Morris
> Principal
> Applied System Design
> lmorris@servergraph.com
> Office: 859-253-8000
>    Fax: 425-988-8478
> 
> ----- End forwarded message -----
> 
> --
> $jhi++; # http://www.iki.fi/jhi/
>         # There is this special biologist word we use for 'stable'.
>         # It is 'dead'. -- Jack Cohen
--------------C33B34F9EE5B4ECBA9D17CE0--) => ret: $VAR1 = {
          'opts' => '',
          'body' => '--------------C33B34F9EE5B4ECBA9D17CE0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Those dates refer to about 1AM on Octoboer 28, 2001, which I believe is
when daylight savings time kicks in, if you\'re in a timezone that likes
to do that kind of thing.

So, you\'re asking for the time just before DST ends, then immediately
after. The wall clock has been turned back an hour and run through again
in  -`-.0
.0 those

I believe if you run those "missing" seconds back through localtime,
you\'ll see that they correspond to the same time frame on the "clock".
(or localtime()).



Jarkko Hietaniemi wrote:
> 
> ----- Forwarded message from Lindsay Morris <servergraph.com@verizon.net> -----
> 
> Subject: Bug in timelocal?
> From: "Lindsay Morris" <servergraph.com@verizon.net>
> Date: Fri, 5 Oct 2001 15:32:20 -0400
> Message-ID: <002501c14dd4$7372e680$4cb8f5c0@lmorris>
> To: <cpan@perl.org>
> Reply-To: <lmorris@servergraph.com>
> Importance: Normal
> 
> Add a minute, gain an hour?
> Run this:
> 
> #!/usr/bin/perl
> use Time::Local;
> print "timelocal(0,59,0,28,9,101) is:", timelocal(0,59,0,28,9,101),"\\n";
> print "timelocal(0, 0,1,28,9,101) is:", timelocal(0, 0,1,28,9,101),"\\n";
> # with perl 5.6.0.1 on AIX 4.3.2.0, I get:
> # timelocal(0,59,0,28,9,101) is:1004245140
> # timelocal(0, 0,1,28,9,101) is:1004248800
> # The difference is seconds is an hour and a minute, not just a minute.
> # Lindsay Morris / lmorris@servergraph.com / 859-253-8000
> 
> Same behavior w perl v 5.005.03.
> Any wisdom appreciated...
> ---------------------------------
> Mr. Lindsay Morris
> Principal
> Applied System Design
> lmorris@servergraph.com
> Office: 859-253-8000
>    Fax: 425-988-8478
> 
> ----- End forwarded message -----
> 
> --
> $jhi++; # http://www.iki.fi/jhi/
>         # There is this special biologist word we use for \'stable\'.
>         # It is \'dead\'. -- Jack Cohen
--------------C33B34F9EE5B4ECBA9D17CE0--'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 15 wallclock secs ( 0.22 usr +  0.03 sys =  0.25 CPU)
	Alltook: 15 wallclock secs ( 0.23 usr +  0.03 sys =  0.26 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (55288) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Will Coleda <wcoleda@infomg.com>) 
			In-Reply-To()
			Message-Id(<3BBEEF33.6AAA70C4@infomg.com>) 
			Reply-To() 
			Subject(Re: [servergraph.com@verizon.net: Bug in timelocal?]) 
			To(Lindsay Morris <servergraph.com@verizon.net>, perl5-porters@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEF33.6AAA70C4@infomg.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEF33.6AAA70C4@infomg.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEF33.6AAA70C4@infomg.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEF33.6AAA70C4@infomg.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBEEF33.6AAA70C4@infomg.com>%') 
[14] domain(bugs\.perl\.org) ?-> to(Lindsay Morris <servergraph.com@verizon.net>, perl5-porters@perl.org), subject(Re: [servergraph.com@verizon.net: Bug in timelocal?]), cc() 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(--------------E1613CCD8B766AA110B693EA
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit



Will Coleda wrote:
> 
> Those dates refer to about 1AM on Octoboer 28, 2001, which I believe is
> when daylight savings time kicks in, if you're in a timezone that likes
> to do that kind of thing.
> 
> So, you're asking for the time just before DST ends, then immediately
> after. The wall clock has been turned back an hour and run through again
> in  -`-.0
> .0 those

Owch. At this point in my original send, my keyboard tray collapsed and
fell on my toe, causing me to run around screaming, and apparently click
"send". =-)

To sum up: I think it's working. Try running those other 60 minutes
through localtime to see if you agree.

Regards. (and, "ow!")

> I believe if you run those "missing" seconds back through localtime,
> you'll see that they correspond to the same time frame on the "clock".
> (or localtime()).
> 
> Jarkko Hietaniemi wrote:
> >
> > ----- Forwarded message from Lindsay Morris <servergraph.com@verizon.net> -----
> >
> > Subject: Bug in timelocal?
> > From: "Lindsay Morris" <servergraph.com@verizon.net>
> > Date: Fri, 5 Oct 2001 15:32:20 -0400
> > Message-ID: <002501c14dd4$7372e680$4cb8f5c0@lmorris>
> > To: <cpan@perl.org>
> > Reply-To: <lmorris@servergraph.com>
> > Importance: Normal
> >
> > Add a minute, gain an hour?
> > Run this:
> >
> > #!/usr/bin/perl
> > use Time::Local;
> > print "timelocal(0,59,0,28,9,101) is:", timelocal(0,59,0,28,9,101),"\n";
> > print "timelocal(0, 0,1,28,9,101) is:", timelocal(0, 0,1,28,9,101),"\n";
> > # with perl 5.6.0.1 on AIX 4.3.2.0, I get:
> > # timelocal(0,59,0,28,9,101) is:1004245140
> > # timelocal(0, 0,1,28,9,101) is:1004248800
> > # The difference is seconds is an hour and a minute, not just a minute.
> > # Lindsay Morris / lmorris@servergraph.com / 859-253-8000
> >
> > Same behavior w perl v 5.005.03.
> > Any wisdom appreciated...
> > ---------------------------------
> > Mr. Lindsay Morris
> > Principal
> > Applied System Design
> > lmorris@servergraph.com
> > Office: 859-253-8000
> >    Fax: 425-988-8478
> >
> > ----- End forwarded message -----
> >
> > --
> > $jhi++; # http://www.iki.fi/jhi/
> >         # There is this special biologist word we use for 'stable'.
> >         # It is 'dead'. -- Jack Cohen
--------------E1613CCD8B766AA110B693EA--) => ret: $VAR1 = {
          'opts' => '',
          'body' => '--------------E1613CCD8B766AA110B693EA
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit



Will Coleda wrote:
> 
> Those dates refer to about 1AM on Octoboer 28, 2001, which I believe is
> when daylight savings time kicks in, if you\'re in a timezone that likes
> to do that kind of thing.
> 
> So, you\'re asking for the time just before DST ends, then immediately
> after. The wall clock has been turned back an hour and run through again
> in  -`-.0
> .0 those

Owch. At this point in my original send, my keyboard tray collapsed and
fell on my toe, causing me to run around screaming, and apparently click
"send". =-)

To sum up: I think it\'s working. Try running those other 60 minutes
through localtime to see if you agree.

Regards. (and, "ow!")

> I believe if you run those "missing" seconds back through localtime,
> you\'ll see that they correspond to the same time frame on the "clock".
> (or localtime()).
> 
> Jarkko Hietaniemi wrote:
> >
> > ----- Forwarded message from Lindsay Morris <servergraph.com@verizon.net> -----
> >
> > Subject: Bug in timelocal?
> > From: "Lindsay Morris" <servergraph.com@verizon.net>
> > Date: Fri, 5 Oct 2001 15:32:20 -0400
> > Message-ID: <002501c14dd4$7372e680$4cb8f5c0@lmorris>
> > To: <cpan@perl.org>
> > Reply-To: <lmorris@servergraph.com>
> > Importance: Normal
> >
> > Add a minute, gain an hour?
> > Run this:
> >
> > #!/usr/bin/perl
> > use Time::Local;
> > print "timelocal(0,59,0,28,9,101) is:", timelocal(0,59,0,28,9,101),"\\n";
> > print "timelocal(0, 0,1,28,9,101) is:", timelocal(0, 0,1,28,9,101),"\\n";
> > # with perl 5.6.0.1 on AIX 4.3.2.0, I get:
> > # timelocal(0,59,0,28,9,101) is:1004245140
> > # timelocal(0, 0,1,28,9,101) is:1004248800
> > # The difference is seconds is an hour and a minute, not just a minute.
> > # Lindsay Morris / lmorris@servergraph.com / 859-253-8000
> >
> > Same behavior w perl v 5.005.03.
> > Any wisdom appreciated...
> > ---------------------------------
> > Mr. Lindsay Morris
> > Principal
> > Applied System Design
> > lmorris@servergraph.com
> > Office: 859-253-8000
> >    Fax: 425-988-8478
> >
> > ----- End forwarded message -----
> >
> > --
> > $jhi++; # http://www.iki.fi/jhi/
> >         # There is this special biologist word we use for \'stable\'.
> >         # It is \'dead\'. -- Jack Cohen
--------------E1613CCD8B766AA110B693EA--'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 13 wallclock secs ( 0.22 usr +  0.02 sys =  0.24 CPU)
	Alltook: 13 wallclock secs ( 0.22 usr +  0.02 sys =  0.24 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (57070) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Michael De La Rue <mikedlr@tardis.ed.ac.uk>) 
			In-Reply-To()
			Message-Id(<Pine.GS4.4.33.0110061258040.23616-100000@davros.tardis.ed.ac.uk>) 
			Reply-To() 
			Subject(20010914.001 (getcwd/perl build)update: reproduced in perl current) 
			To(<perlbug@perl.com>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.GS4.4.33.0110061258040.23616-100000@davros.tardis.ed.ac.uk>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.GS4.4.33.0110061258040.23616-100000@davros.tardis.ed.ac.uk>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.GS4.4.33.0110061258040.23616-100000@davros.tardis.ed.ac.uk>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.GS4.4.33.0110061258040.23616-100000@davros.tardis.ed.ac.uk>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.GS4.4.33.0110061258040.23616-100000@davros.tardis.ed.ac.uk>%') 
[14] domain(bugs\.perl\.org) ?-> to(<perlbug@perl.com>), subject(20010914.001 (getcwd/perl build)update: reproduced in perl current), cc() 
[15] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE bugid = '20010914.001' 
[16] REPLY reply(1) from subject: (20010914.001) :-) 
[17] Decision -> do_reply(1) REPLY reply(1) from subject: (20010914.001) :-) 
[18] cmd(M) arg(I was requested to try reproducing bug 20010914.001 in perl current and
have succeded.  That is to say that if you download perl into
$HOME/perl-current
~
then do

        su -
        chmod go-r $HOME/.. #stop users from seeing other homedirs
        cd $HOME/perl-current
        exit

        Configure
        make

You will find that the perl compliation process crashes out.

I haven't yet got perl-current to install, so I haven't verified that
20010913.006 is also reproducible, but I suspect that it is since it is
due to the same problem (use of getcwd where cwd would work better).

Hope this all helps.  I think that the patches included in my previous
reports help with this problem.

        Michael

P.S. URL

http://bugs.perl.org/perlbug.cgi?req=bug_id&bug_id=20010914.001&format=H&trim=25&range=3610&target=perbug) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'I was requested to try reproducing bug 20010914.001 in perl current and
have succeded.  That is to say that if you download perl into
$HOME/perl-current
~
then do

        su -
        chmod go-r $HOME/.. #stop users from seeing other homedirs
        cd $HOME/perl-current
        exit

        Configure
        make

You will find that the perl compliation process crashes out.

I haven\'t yet got perl-current to install, so I haven\'t verified that
20010913.006 is also reproducible, but I suspect that it is since it is
due to the same problem (use of getcwd where cwd would work better).

Hope this all helps.  I think that the patches included in my previous
reports help with this problem.

        Michael

P.S. URL

http://bugs.perl.org/perlbug.cgi?req=bug_id&bug_id=20010914.001&format=H&trim=25&range=3610&target=perbug'
        };
 
[19] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 24 wallclock secs ( 0.22 usr +  0.02 sys =  0.24 CPU)
	Alltook: 24 wallclock secs ( 0.22 usr +  0.02 sys =  0.24 CPU)
        including 13 SQL statements 
        using 1 database handle/s
	 
[20] SQL: SHOW fields FROM pb_range 
[21] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (59142) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(juiceplus01@aol.com) 
			In-Reply-To()
			Message-Id(<200110061230.f96CUP101232@chthon.perl.com>) 
			Reply-To(juiceplus01@aol.com) 
			Subject(Juice Plus: A Health Breakthrough) 
			To(william@bellsouth.com) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061230.f96CUP101232@chthon.perl.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061230.f96CUP101232@chthon.perl.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061230.f96CUP101232@chthon.perl.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061230.f96CUP101232@chthon.perl.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061230.f96CUP101232@chthon.perl.com>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 14 wallclock secs ( 0.20 usr +  0.02 sys =  0.22 CPU)
	Alltook: 14 wallclock secs ( 0.20 usr +  0.02 sys =  0.22 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (60335) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(<Accountinfo@bid4placement.com>) 
			In-Reply-To()
			Message-Id(<373.8566.753997@bid4placement.com>) 
			Reply-To() 
			Subject(Re: Your Bid 4 Placement Account) 
			To() 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <373.8566.753997@bid4placement.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <373.8566.753997@bid4placement.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <373.8566.753997@bid4placement.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <373.8566.753997@bid4placement.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <373.8566.753997@bid4placement.com>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 14 wallclock secs ( 0.21 usr +  0.02 sys =  0.23 CPU)
	Alltook: 14 wallclock secs ( 0.21 usr +  0.02 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (67130) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From("Colombia: \"zona..." <etrujillo@telesat.com.co>) 
			In-Reply-To()
			Message-Id(<00f601c14e14$9b69d000$0600a8c0@no>) 
			Reply-To() 
			Subject(=?iso-8859-1?Q?..._de_despeje=22=2C_vergonzoso_campo_de_concentra
    ci=F3n?=) 
			To(perlbug@perl.com) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <00f601c14e14$9b69d000$0600a8c0@no>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <00f601c14e14$9b69d000$0600a8c0@no>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <00f601c14e14$9b69d000$0600a8c0@no>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <00f601c14e14$9b69d000$0600a8c0@no>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <00f601c14e14$9b69d000$0600a8c0@no>%') 
[14] domain(bugs\.perl\.org) ?-> to(perlbug@perl.com), subject(=?iso-8859-1?Q?..._de_despeje=22=2C_vergonzoso_campo_de_concentra
    ci=F3n?=), cc() 
[15] Nope, bounce(1): addressed to one of us, but with no match in body(7270) :-|| 
[16] Decision -> do_bounce(1) Nope, bounce(1): addressed to one of us, but with no match in body(7270) :-|| 
[17] cmd(bounce) arg(Contacto de Prensa: Eugenio Trujillo V. ETrujillo@telesat.com.co

TRADICIN Y ACCIN RECHAZA PRRROGA
DE LA "ZONA DE DESPEJE" PARA LA GUERRILLA
SIGAMOS EL EJEMPLO DE ESTADOS UNIDOS!
(vea al final carta de Tradicin y Accin al presidente norteamericano
George W. Bush)

Los terribles acontecimientos de la ltima semana han conmocionado a
todo el Pas. El vil y cobarde asesinato de la Sra. Consuelo Arajo
Noguera, pocos das despus de secuestrada junto con numerosas personas
en una carretera del Departamento del Cesar, y otro secuestro, tambin
en el Csar, de 20 personas ms por parte de la guerrilla de las FARC el
mismo da del funeral de la ex ministra, ponen en evidencia lo que en
definitiva el Gobierno y un sector de la dirigencia poltica, religiosa
y empresarial de Colombia se niegan a ver.
Los acuerdos de paz se han transformado en una burla de la guerrilla al
pueblo colombiano. Sus incesantes crmenes y atropellos contra
ciudadanos inocentes e indefensos, aumentan el clamor de la opinin
pblica para que cese de una vez por todas la actitud complaciente del
Gobierno con estos grupos terroristas.
Nuestra Patria ha sufrido los embates del terrorismo marxista durante
dcadas, y los grupos guerrilleros son culpables anualmente por el
secuestro de ms de 3.000 personas,  por el asesinato de 15.000 o ms
compatriotas,  por la destruccin de ms de 100 poblaciones y muchos
otros crmenes que Colombia est harta de conocer y de rechazar con
indignacin. Sin embargo,  nuestros dirigentes consideran que claudicar
frente a estos grupos, y rodearlos de concesiones y privilegios es la
nica manera de conducirnos a la paz.
Qu terrible equivocacin! Y cmo contrasta esa actitud con la que ha
tomado el mundo entero, encabezada por el gobierno de Estados Unidos,
para enfrentar este flagelo de nuestra poca.  Las naciones del Primer
Mundo nunca pensaron que podan sucederles hechos tan graves como los
acaecidos en Nueva York y en Washington. Pero, para fortuna de la
humanidad, a nadie se le ocurri entregar a los terroristas un pedazo de
los Estados Unidos o de cualquier otra nacin del mundo, para dialogar
indefinida e intilmente con ellos para saber qu quieren, mientras
siguen matando y destruyendo a diestra y siniestra.
Cmo nos falta seguir ese ejemplo de valor y entereza que, en estas
circunstancias trgicas, es lo nico que nos puede conducir realmente a
la paz: que el Estado haga respetar los derechos de los ciudadanos, y
los proteja eficientemente de las minoras criminales que slo luchan
por la destruccin de nuestra civilizacin!
La Sociedad Colombiana Tradicin y Accin considera de fundamental
importancia tener en cuenta estas consideraciones, una vez que el
prximo 8 de octubre vence el plazo por el cual se entreg la Zona del
Cagun a la tirana de las FARC. Ese territorio se ha convertido en un
vergonzoso campo de concentracin, donde se esconde a los secuestrados,
se refugian los secuestradores, se organizan atentados y masacres contra
poblaciones indefensas, a donde son llevados centenas de vehculos
robados y miles de cabezas de ganado hurtadas a sus legtimos
propietarios. Muy extenso sera  enumerar todos los dems oprobios all
ocurridos en estos dos aos y medio, pero no es necesario, pues el Pas
y el mundo entero ya lo saben.
Es de esperar que, en esta hora trgica para Colombia y para el mundo,
el valor, el honor y la dignidad sean tenidos en cuenta por nuestros
gobernantes, reconsiderando la decisin de entregar una parte del
territorio a quienes estn haciendo tan mal uso de l, para prolongar
impunemente su dedicacin al crimen..
Santa Fe de Bogot, Octubre 2 de 2001

Eugenio Trujillo V.
Director Ejecutivo
Sociedad Colombiana Tradicin y Accin

ENVENOS SU OPININ:
Apoya esta iniciativa de Tradicin y Accin?
mailto:info@colombia-autentica.org?subject=SI
mailto:info@colombia-autentica.org?subject=NO
Si lo desea, aada su valiosa opinin.
Al votar, por favor, reglenos su nombre, cdula y ciudad. Pretendemos
presentar las estadsticas a las autoridades a manera de una especie  de
referndum informal. Agradecemos su gentil atencin.

IMPORTANTE:
Tiene Vd. a disposicin las siguientes opciones:
mailto:info@colombia-autentica.org?subject=MasInformacion
mailto:info@colombia-autentica.org?subject=Subscribir
mailto:info@colombia-autentica.org?subject=Desubscribir

Visite nuestro sitio web: http://www.colombia-autentica.org

CARTA AL PRESIDENTE DE LOS ESTADOS UNIDOS
Excmo.  Sr. Presidente
George Bush
Washington D.C.
E. U. A.
Apreciado Sr. Presidente:
Impactada por los recientes atentados terroristas que golpearon no slo
a los Estados Unidos, sino tambin a todos los pases libres y
civilizados de Occidente, la Sociedad Colombiana Tradicin y Accin hace
llegar a V. Excia. un mensaje de profunda solidaridad.
Colombia ha sido atacada durante dcadas por la guerrilla y el
terrorismo marxistas de modo tristemente comparable a lo sucedido ahora
a su nacin: el nmero de vctimas se cuenta por millares, los ms
vitales principios morales y jurdicos de la civilizacin occidental y
cristiana son violados sin cesar, la economa ha sido duramente
afectada, los ciudadanos son sometidos a la agresin e incertidumbre
constantes y las legtimas libertades estn en permanente entredicho,
con la amenaza de conducirnos a una completa anarqua o directamente al
imperio del terror.
En medio de esa inmensa agresin, al ver la gran nacin Americana herida
por esos ataques, volvemos los ojos hacia ustedes y les expresamos
nuestras esperanzas en la vigorosa reaccin que su gobierno y su
poblacin han tenido, como corresponde a su condicin de baluartes
contemporneos frente a las amenazas tanto del totalitarismo como del
anarquismo.
S, Seor Presidente,  Iberoamrica y en especial Colombia, vuelven su
mirada hacia los Estados Unidos, no slo para  lamentar esos criminales
atentados, expresarle su solidaridad  y hacer votos por la rpida y
completa recuperacin de esa Nacin, sino tambin para mostrar su
disposicin de luchar segn un mismo espritu en defensa de la ndole
cristiana de nuestros pases y en pro de  la grandeza espiritual y
material  de nuestro Continente.
Los colombianos de bien sufrimos a menudo impotentes los ataques de la
guerrilla y del terrorismo marxistas porque nuestros gobernantes creen
poder neutralizarlos, hacindoles concesiones y dndoles impunidad. Por
ello, encontramos en Ud. y en la determinacin de la gran nacin
norteamericana de luchar hasta el herosmo, en defensa del Derecho y de
la Civilizacin, un motivo de confianza de que, con el auxilio de Dios,
se abra una era de nuevas glorias y triunfos para quienes aman los
principios cristianos bajo cuya luz nuestros pases nacieron y
progresaron.
Reciba, Seor Presidente, junto a todo el pueblo de los EEUU, el mensaje
de apoyo, aprecio y adhesin de nuestra Entidad, con la seguridad de que
esto representa el pensar de la inmensa mayora de los colombianos, de
estar con ustedes en la gran y valerosa empresa a la cual su certera y
elocuente voz  ha convocado.
Haciendo votos de xito, lo saludan, cordial y sinceramente,
Julio E Hurtado
Presidente
Eugenio Trujillo V.
Director Ejecutivo
info@colombia-autentica.org
Santa Fe de Bogot, Septiembre 28 de 2001) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'Contacto de Prensa: Eugenio Trujillo V. ETrujillo@telesat.com.co

TRADICIN Y ACCIN RECHAZA PRRROGA
DE LA "ZONA DE DESPEJE" PARA LA GUERRILLA
SIGAMOS EL EJEMPLO DE ESTADOS UNIDOS!
(vea al final carta de Tradicin y Accin al presidente norteamericano
George W. Bush)

Los terribles acontecimientos de la ltima semana han conmocionado a
todo el Pas. El vil y cobarde asesinato de la Sra. Consuelo Arajo
Noguera, pocos das despus de secuestrada junto con numerosas personas
en una carretera del Departamento del Cesar, y otro secuestro, tambin
en el Csar, de 20 personas ms por parte de la guerrilla de las FARC el
mismo da del funeral de la ex ministra, ponen en evidencia lo que en
definitiva el Gobierno y un sector de la dirigencia poltica, religiosa
y empresarial de Colombia se niegan a ver.
Los acuerdos de paz se han transformado en una burla de la guerrilla al
pueblo colombiano. Sus incesantes crmenes y atropellos contra
ciudadanos inocentes e indefensos, aumentan el clamor de la opinin
pblica para que cese de una vez por todas la actitud complaciente del
Gobierno con estos grupos terroristas.
Nuestra Patria ha sufrido los embates del terrorismo marxista durante
dcadas, y los grupos guerrilleros son culpables anualmente por el
secuestro de ms de 3.000 personas,  por el asesinato de 15.000 o ms
compatriotas,  por la destruccin de ms de 100 poblaciones y muchos
otros crmenes que Colombia est harta de conocer y de rechazar con
indignacin. Sin embargo,  nuestros dirigentes consideran que claudicar
frente a estos grupos, y rodearlos de concesiones y privilegios es la
nica manera de conducirnos a la paz.
Qu terrible equivocacin! Y cmo contrasta esa actitud con la que ha
tomado el mundo entero, encabezada por el gobierno de Estados Unidos,
para enfrentar este flagelo de nuestra poca.  Las naciones del Primer
Mundo nunca pensaron que podan sucederles hechos tan graves como los
acaecidos en Nueva York y en Washington. Pero, para fortuna de la
humanidad, a nadie se le ocurri entregar a los terroristas un pedazo de
los Estados Unidos o de cualquier otra nacin del mundo, para dialogar
indefinida e intilmente con ellos para saber qu quieren, mientras
siguen matando y destruyendo a diestra y siniestra.
Cmo nos falta seguir ese ejemplo de valor y entereza que, en estas
circunstancias trgicas, es lo nico que nos puede conducir realmente a
la paz: que el Estado haga respetar los derechos de los ciudadanos, y
los proteja eficientemente de las minoras criminales que slo luchan
por la destruccin de nuestra civilizacin!
La Sociedad Colombiana Tradicin y Accin considera de fundamental
importancia tener en cuenta estas consideraciones, una vez que el
prximo 8 de octubre vence el plazo por el cual se entreg la Zona del
Cagun a la tirana de las FARC. Ese territorio se ha convertido en un
vergonzoso campo de concentracin, donde se esconde a los secuestrados,
se refugian los secuestradores, se organizan atentados y masacres contra
poblaciones indefensas, a donde son llevados centenas de vehculos
robados y miles de cabezas de ganado hurtadas a sus legtimos
propietarios. Muy extenso sera  enumerar todos los dems oprobios all
ocurridos en estos dos aos y medio, pero no es necesario, pues el Pas
y el mundo entero ya lo saben.
Es de esperar que, en esta hora trgica para Colombia y para el mundo,
el valor, el honor y la dignidad sean tenidos en cuenta por nuestros
gobernantes, reconsiderando la decisin de entregar una parte del
territorio a quienes estn haciendo tan mal uso de l, para prolongar
impunemente su dedicacin al crimen..
Santa Fe de Bogot, Octubre 2 de 2001

Eugenio Trujillo V.
Director Ejecutivo
Sociedad Colombiana Tradicin y Accin

ENVENOS SU OPININ:
Apoya esta iniciativa de Tradicin y Accin?
mailto:info@colombia-autentica.org?subject=SI
mailto:info@colombia-autentica.org?subject=NO
Si lo desea, aada su valiosa opinin.
Al votar, por favor, reglenos su nombre, cdula y ciudad. Pretendemos
presentar las estadsticas a las autoridades a manera de una especie  de
referndum informal. Agradecemos su gentil atencin.

IMPORTANTE:
Tiene Vd. a disposicin las siguientes opciones:
mailto:info@colombia-autentica.org?subject=MasInformacion
mailto:info@colombia-autentica.org?subject=Subscribir
mailto:info@colombia-autentica.org?subject=Desubscribir

Visite nuestro sitio web: http://www.colombia-autentica.org

CARTA AL PRESIDENTE DE LOS ESTADOS UNIDOS
Excmo.  Sr. Presidente
George Bush
Washington D.C.
E. U. A.
Apreciado Sr. Presidente:
Impactada por los recientes atentados terroristas que golpearon no slo
a los Estados Unidos, sino tambin a todos los pases libres y
civilizados de Occidente, la Sociedad Colombiana Tradicin y Accin hace
llegar a V. Excia. un mensaje de profunda solidaridad.
Colombia ha sido atacada durante dcadas por la guerrilla y el
terrorismo marxistas de modo tristemente comparable a lo sucedido ahora
a su nacin: el nmero de vctimas se cuenta por millares, los ms
vitales principios morales y jurdicos de la civilizacin occidental y
cristiana son violados sin cesar, la economa ha sido duramente
afectada, los ciudadanos son sometidos a la agresin e incertidumbre
constantes y las legtimas libertades estn en permanente entredicho,
con la amenaza de conducirnos a una completa anarqua o directamente al
imperio del terror.
En medio de esa inmensa agresin, al ver la gran nacin Americana herida
por esos ataques, volvemos los ojos hacia ustedes y les expresamos
nuestras esperanzas en la vigorosa reaccin que su gobierno y su
poblacin han tenido, como corresponde a su condicin de baluartes
contemporneos frente a las amenazas tanto del totalitarismo como del
anarquismo.
S, Seor Presidente,  Iberoamrica y en especial Colombia, vuelven su
mirada hacia los Estados Unidos, no slo para  lamentar esos criminales
atentados, expresarle su solidaridad  y hacer votos por la rpida y
completa recuperacin de esa Nacin, sino tambin para mostrar su
disposicin de luchar segn un mismo espritu en defensa de la ndole
cristiana de nuestros pases y en pro de  la grandeza espiritual y
material  de nuestro Continente.
Los colombianos de bien sufrimos a menudo impotentes los ataques de la
guerrilla y del terrorismo marxistas porque nuestros gobernantes creen
poder neutralizarlos, hacindoles concesiones y dndoles impunidad. Por
ello, encontramos en Ud. y en la determinacin de la gran nacin
norteamericana de luchar hasta el herosmo, en defensa del Derecho y de
la Civilizacin, un motivo de confianza de que, con el auxilio de Dios,
se abra una era de nuevas glorias y triunfos para quienes aman los
principios cristianos bajo cuya luz nuestros pases nacieron y
progresaron.
Reciba, Seor Presidente, junto a todo el pueblo de los EEUU, el mensaje
de apoyo, aprecio y adhesin de nuestra Entidad, con la seguridad de que
esto representa el pensar de la inmensa mayora de los colombianos, de
estar con ustedes en la gran y valerosa empresa a la cual su certera y
elocuente voz  ha convocado.
Haciendo votos de xito, lo saludan, cordial y sinceramente,
Julio E Hurtado
Presidente
Eugenio Trujillo V.
Director Ejecutivo
info@colombia-autentica.org
Santa Fe de Bogot, Septiembre 28 de 2001'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  6 wallclock secs ( 0.24 usr +  0.01 sys =  0.25 CPU)
	Alltook:  6 wallclock secs ( 0.24 usr +  0.01 sys =  0.25 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (72698) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Stas Bekman <stas@stason.org>) 
			In-Reply-To()
			Message-Id(<3BBF068C.9010101@stason.org>) 
			Reply-To() 
			Subject(ExtUtils::MakeMaker's PREOP vs distdir execution order) 
			To(Perl 5 Porters <perl5-porters@perl.org>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[14] domain(bugs\.perl\.org) ?-> to(Perl 5 Porters <perl5-porters@perl.org>), subject(ExtUtils::MakeMaker's PREOP vs distdir execution order), cc() 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(Hi,

Correct me if I'm wrong but to me it makes more sense if $(PREOP) is
executed before 'distdir' target in the Makefile created by
ExtUtils::MakeMaker.

Currently we have:

$(DISTVNAME).tar$(SUFFIX) : distdir
         $(PREOP)
         ...

distdir :
         $(RM_RF) $(DISTVNAME)
         $(PERLRUN) -MExtUtils::Manifest=manicopy,maniread \
                 -e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');"

So if I want to create a README file based on the pod in the module, 
using PREOP:

   WriteMakefile(
       dist         => {
                        PREOP => 'pod2text lib/Apache/Amazing.pm > README',
                       },
       ...
   );

I must at least touch the file, otherwise manicopy() will fail:

-e: README not found at -e line 1
Can't read README: No such file or directory
  at -e line 1

But doesn't it make more sense to run PREOP before running manicopy()? 
So some extra files could be created before MANIFEST is checked? It 
doesn't matter if the dist targets are overridable and I adjust these 
manually.

I've seen many CPAN modules using the README creating technique as 
above, so it'd be much nicer to have it as a default :)

Thanks!



_____________________________________________________________________
Stas Bekman             JAm_pH      --   Just Another mod_perl Hacker
http://stason.org/      mod_perl Guide   http://perl.apache.org/guide
mailto:stas@stason.org  http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'Hi,

Correct me if I\'m wrong but to me it makes more sense if $(PREOP) is
executed before \'distdir\' target in the Makefile created by
ExtUtils::MakeMaker.

Currently we have:

$(DISTVNAME).tar$(SUFFIX) : distdir
         $(PREOP)
         ...

distdir :
         $(RM_RF) $(DISTVNAME)
         $(PERLRUN) -MExtUtils::Manifest=manicopy,maniread \\
                 -e "manicopy(maniread(),\'$(DISTVNAME)\', \'$(DIST_CP)\');"

So if I want to create a README file based on the pod in the module, 
using PREOP:

   WriteMakefile(
       dist         => {
                        PREOP => \'pod2text lib/Apache/Amazing.pm > README\',
                       },
       ...
   );

I must at least touch the file, otherwise manicopy() will fail:

-e: README not found at -e line 1
Can\'t read README: No such file or directory
  at -e line 1

But doesn\'t it make more sense to run PREOP before running manicopy()? 
So some extra files could be created before MANIFEST is checked? It 
doesn\'t matter if the dist targets are overridable and I adjust these 
manually.

I\'ve seen many CPAN modules using the README creating technique as 
above, so it\'d be much nicer to have it as a default :)

Thanks!



_____________________________________________________________________
Stas Bekman             JAm_pH      --   Just Another mod_perl Hacker
http://stason.org/      mod_perl Guide   http://perl.apache.org/guide
mailto:stas@stason.org  http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 11 wallclock secs ( 0.23 usr +  0.02 sys =  0.24 CPU)
	Alltook: 11 wallclock secs ( 0.23 usr +  0.02 sys =  0.25 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (90057) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From("Pleasure Inc." <pleasure_inc@usa.com>) 
			In-Reply-To()
			Message-Id(<200110061536.f96FaH122062@chthon.perl.com>) 
			Reply-To() 
			Subject(DRIVE WOMEN WILD! GUARANTEED! SCIENCE HAS FINALLY DONE IT!) 
			To("Customer" <pleasure_inc@usa.com>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061536.f96FaH122062@chthon.perl.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061536.f96FaH122062@chthon.perl.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061536.f96FaH122062@chthon.perl.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061536.f96FaH122062@chthon.perl.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061536.f96FaH122062@chthon.perl.com>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  9 wallclock secs ( 0.22 usr +  0.01 sys =  0.23 CPU)
	Alltook:  9 wallclock secs ( 0.22 usr +  0.01 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (90980) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(perl5-porters@perl.org, hv@crypt0.demon.co.uk) 
			From(Hugo van der Sanden <hv@crypt.compulink.co.uk>) 
			In-Reply-To(<20011005164454.F38756@plum.flirble.org>)
			Message-Id(<200110061423.f96ENho20367@crypt.compulink.co.uk>) 
			Reply-To(hv@crypt0.demon.co.uk) 
			Subject(Re: values %hash docs) 
			To(Nicholas Clark <nick@ccl4.org>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061423.f96ENho20367@crypt.compulink.co.uk>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061423.f96ENho20367@crypt.compulink.co.uk>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061423.f96ENho20367@crypt.compulink.co.uk>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061423.f96ENho20367@crypt.compulink.co.uk>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061423.f96ENho20367@crypt.compulink.co.uk>%') 
[14] domain(bugs\.perl\.org) ?-> to(Nicholas Clark <nick@ccl4.org>), subject(Re: values %hash docs), cc(perl5-porters@perl.org, hv@crypt0.demon.co.uk) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x86023e4)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011005164454.F38756@plum.flirble.org>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011005164454.F38756@plum.flirble.org>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011005164454.F38756@plum.flirble.org>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011005164454.F38756@plum.flirble.org>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011005164454.F38756@plum.flirble.org>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(Nicholas Clark <nick@ccl4.org> wrote:
:Does that mean that this one always worked:
:    for (@hash{keys %hash}) { s/foo/bar/g }   # same
:
:and this one only worked since 5.6.0:
:    for (values %hash)      { s/foo/bar/g }   # modifies %hash values

Sounds correct.

:if so, shouldn't we document that in perlfunc for the benefit of anyone trying
:to write portable code.

Yes.

:I assume that
:
:  for (keys %hash)
:will be looping over a copy of the keys of the hash

Yes.

:  for (values %hash) 
:Is this a temporary array, but contains aliases to the real values?

Yes.

:[since 5.6.0? 5.005 and earlier have copies?]

Yes:
  crypt% /opt/perl5.005_03/bin/perl -wle '%a=1..6; ++$_ for values %a; print join " ", %a'
  1 2 3 4 5 6
  crypt% /opt/perl-5.6.0/bin/perl -wle '%a=1..6; ++$_ for values %a; print join " ", %a'
  1 3 3 5 5 7
  crypt% 

:(So it won't get messed up if midway through one starts adding/deleting
:elements from the hash? [all perl versions])

Ish. Note:
  crypt% /opt/perl-5.6.0/bin/perl -wle '%a=1..6; ($a{5}=4),++$_ for values %a; print join " ", %a'
  1 3 3 5 5 5
  crypt% 
.. since the $a{5}=4 modifies the SV we have an alias to, I'm guessing.
Not sure whether this is intended behaviour: I suspect not, since if you
replace ($a{5}=4) with (delete $a{5}) you get:
  Modification of a read-only value attempted at -e line 1.
  Attempt to free unreferenced scalar.
.. even in perl@12163. Hmm:
  crypt% perl -MDevel::Peek -wle '%a=1..6; Dump($_),(delete $a{5}),++$_ for values %a; print join " ", %a'
  SV = IV(0x811b1ec) at 0x811c0d0
    REFCNT = 2
    FLAGS = (IOK,pIOK)
    IV = 2
  SV = IV(0x811b1bc) at 0x811be60
    REFCNT = 2
    FLAGS = (IOK,pIOK)
    IV = 4
  SV = UNKNOWN(0xff) (0x8111a8c) at 0x811187c
    REFCNT = 1
    FLAGS = ()
  Modification of a read-only value attempted at -e line 1.
  Attempt to free unreferenced scalar.
  crypt% 

:  each %hash
:using the hash iterator. Adding/removing keys will mess up the iterator,
:except for deleting the most recently returned key (docs say this)
:
:How much behaviour do we want to guarantee, considering that perl6 will
:(probably) have lazy lists, and values & keys seem like candidates 
:becoming lazy lists.

I can't see any reason to remove the existing guarantees at this stage
of perl5's life. What changes in perl6 will be down to Larry, and will
if necessary become an issue for the p5 => p6 translator. My guess is
that we'll have pluggable hash implementations, so that if necessary
we can always plug in p5 semantics where necessary.

Hugo) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'Nicholas Clark <nick@ccl4.org> wrote:
:Does that mean that this one always worked:
:    for (@hash{keys %hash}) { s/foo/bar/g }   # same
:
:and this one only worked since 5.6.0:
:    for (values %hash)      { s/foo/bar/g }   # modifies %hash values

Sounds correct.

:if so, shouldn\'t we document that in perlfunc for the benefit of anyone trying
:to write portable code.

Yes.

:I assume that
:
:  for (keys %hash)
:will be looping over a copy of the keys of the hash

Yes.

:  for (values %hash) 
:Is this a temporary array, but contains aliases to the real values?

Yes.

:[since 5.6.0? 5.005 and earlier have copies?]

Yes:
  crypt% /opt/perl5.005_03/bin/perl -wle \'%a=1..6; ++$_ for values %a; print join " ", %a\'
  1 2 3 4 5 6
  crypt% /opt/perl-5.6.0/bin/perl -wle \'%a=1..6; ++$_ for values %a; print join " ", %a\'
  1 3 3 5 5 7
  crypt% 

:(So it won\'t get messed up if midway through one starts adding/deleting
:elements from the hash? [all perl versions])

Ish. Note:
  crypt% /opt/perl-5.6.0/bin/perl -wle \'%a=1..6; ($a{5}=4),++$_ for values %a; print join " ", %a\'
  1 3 3 5 5 5
  crypt% 
.. since the $a{5}=4 modifies the SV we have an alias to, I\'m guessing.
Not sure whether this is intended behaviour: I suspect not, since if you
replace ($a{5}=4) with (delete $a{5}) you get:
  Modification of a read-only value attempted at -e line 1.
  Attempt to free unreferenced scalar.
.. even in perl@12163. Hmm:
  crypt% perl -MDevel::Peek -wle \'%a=1..6; Dump($_),(delete $a{5}),++$_ for values %a; print join " ", %a\'
  SV = IV(0x811b1ec) at 0x811c0d0
    REFCNT = 2
    FLAGS = (IOK,pIOK)
    IV = 2
  SV = IV(0x811b1bc) at 0x811be60
    REFCNT = 2
    FLAGS = (IOK,pIOK)
    IV = 4
  SV = UNKNOWN(0xff) (0x8111a8c) at 0x811187c
    REFCNT = 1
    FLAGS = ()
  Modification of a read-only value attempted at -e line 1.
  Attempt to free unreferenced scalar.
  crypt% 

:  each %hash
:using the hash iterator. Adding/removing keys will mess up the iterator,
:except for deleting the most recently returned key (docs say this)
:
:How much behaviour do we want to guarantee, considering that perl6 will
:(probably) have lazy lists, and values & keys seem like candidates 
:becoming lazy lists.

I can\'t see any reason to remove the existing guarantees at this stage
of perl5\'s life. What changes in perl6 will be down to Larry, and will
if necessary become an issue for the p5 => p6 translator. My guess is
that we\'ll have pluggable hash implementations, so that if necessary
we can always plug in p5 semantics where necessary.

Hugo'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  4 wallclock secs ( 0.25 usr +  0.02 sys =  0.27 CPU)
	Alltook:  4 wallclock secs ( 0.25 usr +  0.02 sys =  0.27 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (91508) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Alexander Bergolth <bergolth@ollie.wu-wien.ac.at>) 
			In-Reply-To()
			Message-Id(<200110061543.RAA64214@ollie.wu-wien.ac.at>) 
			Reply-To(leo@strike.wu-wien.ac.at) 
			Subject(signal handlers and waitpid) 
			To(perlbug@perl.com) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061543.RAA64214@ollie.wu-wien.ac.at>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061543.RAA64214@ollie.wu-wien.ac.at>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061543.RAA64214@ollie.wu-wien.ac.at>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061543.RAA64214@ollie.wu-wien.ac.at>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110061543.RAA64214@ollie.wu-wien.ac.at>%') 
[14] domain(bugs\.perl\.org) ?-> to(perlbug@perl.com), subject(signal handlers and waitpid), cc() 
[15] NEW BUG new(1): Yup! perl(\bperl|perl\b) subject(signal handlers and waitpid) :-)) 
[16] Decision -> do_new(1) NEW BUG new(1): Yup! perl(\bperl|perl\b) subject(signal handlers and waitpid) :-)) 
[17] cmd(B) arg(This is a bug report for perl from leo@strike.wu-wien.ac.at,
generated with the help of perlbug 1.28 running under perl v5.6.0.


-----------------------------------------------------------------
[Please enter your report here]

I've written a small test-script (see below) that dumps core
because of a segmentation violation on many systems when the signal
handler is called while there is memory is allocated in the main
program. The signal handler doesn't use or modify any variable,
it's only:

  $SIG{'CHLD'} = sub {
    while (waitpid(-1,&WNOHANG) > 0) { }
  };

I've tested this with perl-5.6.0 on AIX-4.2.1 and AIX-4.3.3 and
with perl-5.005_03 on linux-2.2.19.

The test-script and the stack backtrace is attached below...
(The random- and delay-parameters are optimised for a crash on
slower machines.)

---------- snipp! ----------
#!/usr/local/bin/perl

use strict;
use POSIX ":sys_wait_h";

my $RAND1= 2000;
my $RAND2= 2000;
my $DELAY_MAIN = 0.1;
my $DELAY_CHILD = 2;

$SIG{'CHLD'} = sub {
  while (waitpid(-1,&WNOHANG) > 0) { }
};

my $CHILD_PID   = 0;

srand();
$|= 1;

my $i;
for ($i = 1; $i < 200; $i++) {
  print "fork $i\n";
  # allocate some memory
  my ($i, $r1, $r2, @buf);
  $r1= rand($RAND1);
  for ($i= 1; $i <= $r1; $i++) {
    $r2= rand($RAND2);
    $buf[$i] = "x" x $r2;
  }

  my $pid;
  if ($pid = fork) {
    # parent
    select(undef, undef, undef, $DELAY_MAIN);
    print "          Child $pid ready\n";
    next;
  } elsif (defined $pid) {
    # child
    $SIG{'CHLD'} = 'DEFAULT';
    print "          Child $$ ready\n";
    select (undef, undef, undef, rand($DELAY_CHILD));
    print "          Child $$ exit\n";
    exit(0);
  }
  else {
    print "Fork error: $!\n";
    return;
  }
}

print "Done\n";

---------- snipp! ----------

perl-5.6.0 on Linux-2.2.19:
---------------------------
#0  chunk_alloc (ar_ptr=0x40141d40, nb=16) at malloc.c:2814
#1  0x400ac5ae in malloc () at malloc.c:2181
#2  0x807bbe5 in Perl_safemalloc ()
#3  0x808abb6 in Perl_sv_grow ()
#4  0x808cb10 in Perl_sv_setsv ()
#5  0x808ebf5 in Perl_sv_mortalcopy ()
#6  0x8087d8a in Perl_pp_leave ()
#7  0x80b49ad in Perl_runops_standard ()
#8  0x8059a01 in perl_call_sv ()
#9  0x8081cb8 in Perl_sighandler ()
#10 0x40071c48 in __restore () at
../sysdeps/unix/sysv/linux/i386/sigaction.c:127
#11 0x400ac5ae in malloc () at malloc.c:2181
#12 0x807bbe5 in Perl_safemalloc ()
#13 0x808abb6 in Perl_sv_grow ()
#14 0x808cb10 in Perl_sv_setsv ()
#15 0x808533b in Perl_pp_sassign ()
#16 0x80b49ad in Perl_runops_standard ()
#17 0x8059338 in perl_run ()
#18 0x80577e1 in main ()
#19 0x4006b9cb in __libc_start_main () at
../sysdeps/generic/libc-start.c:122


perl-5.6.0 on AIX-4.2.1:
------------------------
malloc_y.malloc_y(??) at 0xd02656c8
malloc.malloc(??) at 0xd0262f10
Perl_safesysmalloc() at 0x100313e4
Perl_sv_grow() at 0x10027550
Perl_sv_setsv() at 0x10024e08
Perl_pp_sassign() at 0x1007d1b8
Perl_runops_standard() at 0x1006340c
S_run_body() at 0x100007c4
perl_run() at 0x100068d0
main() at 0x100003cc


[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
    category=core
    severity=medium
---
Site configuration information for perl v5.6.0:

Configured by bergolth at Fri Oct 20 19:23:46 MES 2000.

Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration:
  Platform:
    osname=aix, osvers=4.2.1.0, archname=aix42
    uname='aix ollie 2 4 0045781a4c00 '
    config_args='-d'
    hint=previous, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=undef d_sfio=undef uselargefiles=define 
    use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef
  Compiler:
    cc='/usr/vac/bin/cc_r', optimize='-O', gccversion=
    cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -I/usr/local/include -I/usr/local/BerkeleyDB.3.1/include'
    ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -I/usr/local/include -I/usr/local/BerkeleyDB.3.1/include'
    stdchar='unsigned char', d_stdstdio=define, usevfork=false
    intsize=4, longsize=4, ptrsize=4, doublesize=8
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=4
    alignbytes=8, usemymalloc=n, prototype=define
  Linker and Libraries:
    ld='ld', ldflags ='-L/usr/local/lib -L/usr/local/BerkeleyDB.3.1/lib'
    libpth=/usr/local/lib /usr/local/BerkeleyDB.3.1/lib /lib /usr/lib /usr/ccs/lib
    libs=-lbind -lnsl -ldbm -ldl -lld -lm -lC -lc -lbsd -lPW -liconv -ldb
    libc=, so=a, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags='  -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE/perl.exp -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE/perl.exp -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE/perl.exp -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE
/perl.exp -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE/perl.exp'
    cccdlflags=' ', lddlflags='-bhalt:4 -bM:SRE -bI:$(PERL_INC)/perl.exp -bE:$(BASEEXT).exp -b noentry -lC -lc -L/usr/local/lib -L/usr/local/BerkeleyDB.3.1/lib'

Locally applied patches:
    

---
@INC for perl v5.6.0:
    /usr/local/lib/perl5/5.6.0/aix42
    /usr/local/lib/perl5/5.6.0
    /usr/local/lib/perl5/site_perl/5.6.0/aix42
    /usr/local/lib/perl5/site_perl/5.6.0
    /usr/local/lib/perl5/site_perl
    .

---
Environment for perl v5.6.0:
    HOME=/afs/wu-wien.ac.at/home/edvz/bergolth
    LANG=C
    LANGUAGE (unset)
    LC_ALL=C
    LC_CTYPE=C
    LC__FASTMSG=true
    LD_LIBRARY_PATH (unset)
    LIBPATH (unset)
    LOGDIR (unset)
    PATH=/afs/wu-wien.ac.at/home/edvz/bergolth/bin:/afs/wu-wien.ac.at/home/edvz/bergolth/work/bin:/usr/ucb:/bin:/usr/bin:/usr/bin/X11:/usr/sbin:/usr/local/bin:/usr/afsws/local/bin:/usr/afsws/bin:/afs/wu/common/infoserv/hotline:/db/app/oracle/product/7.3.2
/bin/:/afs/wu/home/edvz/bergolth/notes
    PERL_BADLANG (unset)
    SHELL=/usr/bin/tcsh) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'This is a bug report for perl from leo@strike.wu-wien.ac.at,
generated with the help of perlbug 1.28 running under perl v5.6.0.


-----------------------------------------------------------------
[Please enter your report here]

I\'ve written a small test-script (see below) that dumps core
because of a segmentation violation on many systems when the signal
handler is called while there is memory is allocated in the main
program. The signal handler doesn\'t use or modify any variable,
it\'s only:

  $SIG{\'CHLD\'} = sub {
    while (waitpid(-1,&WNOHANG) > 0) { }
  };

I\'ve tested this with perl-5.6.0 on AIX-4.2.1 and AIX-4.3.3 and
with perl-5.005_03 on linux-2.2.19.

The test-script and the stack backtrace is attached below...
(The random- and delay-parameters are optimised for a crash on
slower machines.)

---------- snipp! ----------
#!/usr/local/bin/perl

use strict;
use POSIX ":sys_wait_h";

my $RAND1= 2000;
my $RAND2= 2000;
my $DELAY_MAIN = 0.1;
my $DELAY_CHILD = 2;

$SIG{\'CHLD\'} = sub {
  while (waitpid(-1,&WNOHANG) > 0) { }
};

my $CHILD_PID   = 0;

srand();
$|= 1;

my $i;
for ($i = 1; $i < 200; $i++) {
  print "fork $i\\n";
  # allocate some memory
  my ($i, $r1, $r2, @buf);
  $r1= rand($RAND1);
  for ($i= 1; $i <= $r1; $i++) {
    $r2= rand($RAND2);
    $buf[$i] = "x" x $r2;
  }

  my $pid;
  if ($pid = fork) {
    # parent
    select(undef, undef, undef, $DELAY_MAIN);
    print "          Child $pid ready\\n";
    next;
  } elsif (defined $pid) {
    # child
    $SIG{\'CHLD\'} = \'DEFAULT\';
    print "          Child $$ ready\\n";
    select (undef, undef, undef, rand($DELAY_CHILD));
    print "          Child $$ exit\\n";
    exit(0);
  }
  else {
    print "Fork error: $!\\n";
    return;
  }
}

print "Done\\n";

---------- snipp! ----------

perl-5.6.0 on Linux-2.2.19:
---------------------------
#0  chunk_alloc (ar_ptr=0x40141d40, nb=16) at malloc.c:2814
#1  0x400ac5ae in malloc () at malloc.c:2181
#2  0x807bbe5 in Perl_safemalloc ()
#3  0x808abb6 in Perl_sv_grow ()
#4  0x808cb10 in Perl_sv_setsv ()
#5  0x808ebf5 in Perl_sv_mortalcopy ()
#6  0x8087d8a in Perl_pp_leave ()
#7  0x80b49ad in Perl_runops_standard ()
#8  0x8059a01 in perl_call_sv ()
#9  0x8081cb8 in Perl_sighandler ()
#10 0x40071c48 in __restore () at
../sysdeps/unix/sysv/linux/i386/sigaction.c:127
#11 0x400ac5ae in malloc () at malloc.c:2181
#12 0x807bbe5 in Perl_safemalloc ()
#13 0x808abb6 in Perl_sv_grow ()
#14 0x808cb10 in Perl_sv_setsv ()
#15 0x808533b in Perl_pp_sassign ()
#16 0x80b49ad in Perl_runops_standard ()
#17 0x8059338 in perl_run ()
#18 0x80577e1 in main ()
#19 0x4006b9cb in __libc_start_main () at
../sysdeps/generic/libc-start.c:122


perl-5.6.0 on AIX-4.2.1:
------------------------
malloc_y.malloc_y(??) at 0xd02656c8
malloc.malloc(??) at 0xd0262f10
Perl_safesysmalloc() at 0x100313e4
Perl_sv_grow() at 0x10027550
Perl_sv_setsv() at 0x10024e08
Perl_pp_sassign() at 0x1007d1b8
Perl_runops_standard() at 0x1006340c
S_run_body() at 0x100007c4
perl_run() at 0x100068d0
main() at 0x100003cc


[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
    category=core
    severity=medium
---
Site configuration information for perl v5.6.0:

Configured by bergolth at Fri Oct 20 19:23:46 MES 2000.

Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration:
  Platform:
    osname=aix, osvers=4.2.1.0, archname=aix42
    uname=\'aix ollie 2 4 0045781a4c00 \'
    config_args=\'-d\'
    hint=previous, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=undef d_sfio=undef uselargefiles=define 
    use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef
  Compiler:
    cc=\'/usr/vac/bin/cc_r\', optimize=\'-O\', gccversion=
    cppflags=\'-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -I/usr/local/include -I/usr/local/BerkeleyDB.3.1/include\'
    ccflags =\'-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -I/usr/local/include -I/usr/local/BerkeleyDB.3.1/include\'
    stdchar=\'unsigned char\', d_stdstdio=define, usevfork=false
    intsize=4, longsize=4, ptrsize=4, doublesize=8
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype=\'long\', ivsize=4, nvtype=\'double\', nvsize=8, Off_t=\'off_t\', lseeksize=4
    alignbytes=8, usemymalloc=n, prototype=define
  Linker and Libraries:
    ld=\'ld\', ldflags =\'-L/usr/local/lib -L/usr/local/BerkeleyDB.3.1/lib\'
    libpth=/usr/local/lib /usr/local/BerkeleyDB.3.1/lib /lib /usr/lib /usr/ccs/lib
    libs=-lbind -lnsl -ldbm -ldl -lld -lm -lC -lc -lbsd -lPW -liconv -ldb
    libc=, so=a, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags=\'  -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE/perl.exp -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE/perl.exp -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE/perl.exp -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE
/perl.exp -bE:/usr/local/lib/perl5/5.6.0/aix42/CORE/perl.exp\'
    cccdlflags=\' \', lddlflags=\'-bhalt:4 -bM:SRE -bI:$(PERL_INC)/perl.exp -bE:$(BASEEXT).exp -b noentry -lC -lc -L/usr/local/lib -L/usr/local/BerkeleyDB.3.1/lib\'

Locally applied patches:
    

---
@INC for perl v5.6.0:
    /usr/local/lib/perl5/5.6.0/aix42
    /usr/local/lib/perl5/5.6.0
    /usr/local/lib/perl5/site_perl/5.6.0/aix42
    /usr/local/lib/perl5/site_perl/5.6.0
    /usr/local/lib/perl5/site_perl
    .

---
Environment for perl v5.6.0:
    HOME=/afs/wu-wien.ac.at/home/edvz/bergolth
    LANG=C
    LANGUAGE (unset)
    LC_ALL=C
    LC_CTYPE=C
    LC__FASTMSG=true
    LD_LIBRARY_PATH (unset)
    LIBPATH (unset)
    LOGDIR (unset)
    PATH=/afs/wu-wien.ac.at/home/edvz/bergolth/bin:/afs/wu-wien.ac.at/home/edvz/bergolth/work/bin:/usr/ucb:/bin:/usr/bin:/usr/bin/X11:/usr/sbin:/usr/local/bin:/usr/afsws/local/bin:/usr/afsws/bin:/afs/wu/common/infoserv/hotline:/db/app/oracle/product/7.3.2
/bin/:/afs/wu/home/edvz/bergolth/notes
    PERL_BADLANG (unset)
    SHELL=/usr/bin/tcsh'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  2 wallclock secs ( 0.22 usr +  0.02 sys =  0.24 CPU)
	Alltook:  2 wallclock secs ( 0.22 usr +  0.02 sys =  0.24 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (268) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Andreas Marcel Riechert <riechert@pobox.com>) 
			In-Reply-To()
			Message-Id(<m3hetcvg5b.fsf@tairou.japanologie.kultur.uni-tuebingen.de>) 
			Reply-To() 
			Subject([MacPerl-Porters] Built-report for beta1 with MrC/SC) 
			To(macperl-porters@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3hetcvg5b.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3hetcvg5b.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3hetcvg5b.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3hetcvg5b.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3hetcvg5b.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 13 wallclock secs ( 0.20 usr +  0.02 sys =  0.23 CPU)
	Alltook: 13 wallclock secs ( 0.21 usr +  0.02 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (1985) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Nicholas Clark <nick@ccl4.org>) 
			In-Reply-To()
			Message-Id(<20011006180421.J38756@plum.flirble.org>) 
			Reply-To() 
			Subject([PATCH] Memoize tests) 
			To(perl5-porters@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006180421.J38756@plum.flirble.org>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006180421.J38756@plum.flirble.org>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006180421.J38756@plum.flirble.org>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006180421.J38756@plum.flirble.org>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006180421.J38756@plum.flirble.org>%') 
[14] domain(bugs\.perl\.org) ?-> to(perl5-porters@perl.org), subject([PATCH] Memoize tests), cc() 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(Should I be able to run the Memoize tests from the perl build directory.
At the moment:

$ for file in lib/Memoize/t/*.t; do ./perl $file; done
Can't locate lib.pm in @INC (@INC contains: /usr/local/lib/perl5/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/5.7.2 /usr/local/lib/perl5/site_perl/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/site_perl/5.7.2 /usr/local/lib/perl5/site_perl .) at lib/Memoize/t/array.t line 3.
BEGIN failed--compilation aborted at lib/Memoize/t/array.t line 3.
Can't locate lib.pm in @INC (@INC contains: /usr/local/lib/perl5/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/5.7.2 /usr/local/lib/perl5/site_perl/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/site_perl/5.7.2 /usr/local/lib/perl5/site_perl .) at lib/Memoize/t/array_confusion.t line 3.
BEGIN failed--compilation aborted at lib/Memoize/t/array_confusion.t line 3.
Can't locate lib.pm in @INC (@INC contains: /usr/local/lib/perl5/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/5.7.2 /usr/local/lib/perl5/site_perl/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/site_perl/5.7.2 /usr/local/lib/perl5/site_perl .) at lib/Memoize/t/correctness.t line 3.

etc.

Patch appended also makes all tests only use the build's lib directory, so that
installed libraries aren't accidentally found. Is this what is wanted?

Nicholas Clark

--- lib/Memoize/t/array.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/array.t	Sat Oct  6 14:04:08 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize;
 
 
--- lib/Memoize/t/array_confusion.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/array_confusion.t	Sat Oct  6 14:11:08 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize 'memoize', 'unmemoize';
 
 sub reff {
--- lib/Memoize/t/correctness.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/correctness.t	Sat Oct  6 14:10:55 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize;
 
 print "1..25\n";
--- lib/Memoize/t/errors.t.orig	Sun Aug  5 18:51:38 2001
+++ lib/Memoize/t/errors.t	Sat Oct  6 14:10:48 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize;
 use Config;
 
--- lib/Memoize/t/expire.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/expire.t	Sat Oct  6 14:10:42 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize;
 use Memoize::ExpireTest;
 
--- lib/Memoize/t/expire_file.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/expire_file.t	Sat Oct  6 14:10:33 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize;
 
 my $n = 0;
--- lib/Memoize/t/expire_module_n.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/expire_module_n.t	Sat Oct  6 14:10:27 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize;
 
 my $n = 0;
--- lib/Memoize/t/expire_module_t.t.orig	Wed Sep 12 19:48:48 2001
+++ lib/Memoize/t/expire_module_t.t	Sat Oct  6 14:10:21 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize;
 BEGIN {
   eval {require Time::HiRes};
--- lib/Memoize/t/flush.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/flush.t	Sat Oct  6 14:10:12 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize 'flush_cache', 'memoize';
 print "1..8\n";
 print "ok 1\n";
--- lib/Memoize/t/normalize.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/normalize.t	Sat Oct  6 14:10:05 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize;
 
 print "1..7\n";
--- lib/Memoize/t/prototype.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/prototype.t	Sat Oct  6 14:09:59 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
+#use lib '..';
 use Memoize;
 $EXPECTED_WARNING = '(no warning expected)';
 
--- lib/Memoize/t/speed.t.orig	Wed Sep 12 19:48:48 2001
+++ lib/Memoize/t/speed.t	Sat Oct  6 14:07:49 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize;
 
 if (-e '.fast') {
--- lib/Memoize/t/tie.t.orig	Tue Jun 26 18:50:19 2001
+++ lib/Memoize/t/tie.t	Sat Oct  6 14:09:56 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib qw(. ..);
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
+#use lib qw(. ..);
 use Memoize 0.52 qw(memoize unmemoize);
 use Fcntl;
 eval {require Memoize::AnyDBM_File};
--- lib/Memoize/t/tie_gdbm.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/tie_gdbm.t	Sat Oct  6 14:09:52 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib qw(. ..);
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
+#use lib qw(. ..);
 use Memoize 0.45 qw(memoize unmemoize);
 use Fcntl;
 
--- lib/Memoize/t/tie_ndbm.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/tie_ndbm.t	Sat Oct  6 14:09:44 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib qw(. ..);
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
+#use lib qw(. ..);
 use Memoize 0.45 qw(memoize unmemoize);
 use Fcntl;
 # use Memoize::NDBM_File;
--- lib/Memoize/t/tie_sdbm.t.orig	Tue Jun 26 22:00:29 2001
+++ lib/Memoize/t/tie_sdbm.t	Sat Oct  6 14:09:29 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib qw(. ..);
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
+#use lib qw(. ..);
 use Memoize 0.45 qw(memoize unmemoize);
 use Fcntl;
 # use Memoize::SDBM_File;
--- lib/Memoize/t/tie_storable.t.orig	Sun Jun 24 18:36:56 2001
+++ lib/Memoize/t/tie_storable.t	Sat Oct  6 14:09:18 2001
@@ -1,7 +1,10 @@
 #!/usr/bin/perl
 # -*- mode: perl; perl-indent-level: 2 -*-
 
-use lib qw(. ..);
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize 0.45 qw(memoize unmemoize);
 # $Memoize::Storable::Verbose = 0;
 
--- lib/Memoize/t/tiefeatures.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/tiefeatures.t	Sat Oct  6 14:08:27 2001
@@ -1,5 +1,9 @@
 #!/usr/bin/perl
 
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use lib 'blib/lib';
 use Memoize 0.45 qw(memoize unmemoize);
 use Fcntl;
--- lib/Memoize/t/unmemoize.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/unmemoize.t	Sat Oct  6 14:07:32 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib '..';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+}
 use Memoize qw(memoize unmemoize);
 
 print "1..5\n";) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'Should I be able to run the Memoize tests from the perl build directory.
At the moment:

$ for file in lib/Memoize/t/*.t; do ./perl $file; done
Can\'t locate lib.pm in @INC (@INC contains: /usr/local/lib/perl5/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/5.7.2 /usr/local/lib/perl5/site_perl/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/site_perl/5.7.2 /usr/local/lib/perl5/site_perl .) at lib/Memoize/t/array.t line 3.
BEGIN failed--compilation aborted at lib/Memoize/t/array.t line 3.
Can\'t locate lib.pm in @INC (@INC contains: /usr/local/lib/perl5/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/5.7.2 /usr/local/lib/perl5/site_perl/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/site_perl/5.7.2 /usr/local/lib/perl5/site_perl .) at lib/Memoize/t/array_confusion.t line 3.
BEGIN failed--compilation aborted at lib/Memoize/t/array_confusion.t line 3.
Can\'t locate lib.pm in @INC (@INC contains: /usr/local/lib/perl5/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/5.7.2 /usr/local/lib/perl5/site_perl/5.7.2/armv4l-linux-multi /usr/local/lib/perl5/site_perl/5.7.2 /usr/local/lib/perl5/site_perl .) at lib/Memoize/t/correctness.t line 3.

etc.

Patch appended also makes all tests only use the build\'s lib directory, so that
installed libraries aren\'t accidentally found. Is this what is wanted?

Nicholas Clark

--- lib/Memoize/t/array.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/array.t	Sat Oct  6 14:04:08 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize;
 
 
--- lib/Memoize/t/array_confusion.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/array_confusion.t	Sat Oct  6 14:11:08 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize \'memoize\', \'unmemoize\';
 
 sub reff {
--- lib/Memoize/t/correctness.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/correctness.t	Sat Oct  6 14:10:55 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize;
 
 print "1..25\\n";
--- lib/Memoize/t/errors.t.orig	Sun Aug  5 18:51:38 2001
+++ lib/Memoize/t/errors.t	Sat Oct  6 14:10:48 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize;
 use Config;
 
--- lib/Memoize/t/expire.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/expire.t	Sat Oct  6 14:10:42 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize;
 use Memoize::ExpireTest;
 
--- lib/Memoize/t/expire_file.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/expire_file.t	Sat Oct  6 14:10:33 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize;
 
 my $n = 0;
--- lib/Memoize/t/expire_module_n.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/expire_module_n.t	Sat Oct  6 14:10:27 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize;
 
 my $n = 0;
--- lib/Memoize/t/expire_module_t.t.orig	Wed Sep 12 19:48:48 2001
+++ lib/Memoize/t/expire_module_t.t	Sat Oct  6 14:10:21 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize;
 BEGIN {
   eval {require Time::HiRes};
--- lib/Memoize/t/flush.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/flush.t	Sat Oct  6 14:10:12 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize \'flush_cache\', \'memoize\';
 print "1..8\\n";
 print "ok 1\\n";
--- lib/Memoize/t/normalize.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/normalize.t	Sat Oct  6 14:10:05 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize;
 
 print "1..7\\n";
--- lib/Memoize/t/prototype.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/prototype.t	Sat Oct  6 14:09:59 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
+#use lib \'..\';
 use Memoize;
 $EXPECTED_WARNING = \'(no warning expected)\';
 
--- lib/Memoize/t/speed.t.orig	Wed Sep 12 19:48:48 2001
+++ lib/Memoize/t/speed.t	Sat Oct  6 14:07:49 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize;
 
 if (-e \'.fast\') {
--- lib/Memoize/t/tie.t.orig	Tue Jun 26 18:50:19 2001
+++ lib/Memoize/t/tie.t	Sat Oct  6 14:09:56 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib qw(. ..);
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
+#use lib qw(. ..);
 use Memoize 0.52 qw(memoize unmemoize);
 use Fcntl;
 eval {require Memoize::AnyDBM_File};
--- lib/Memoize/t/tie_gdbm.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/tie_gdbm.t	Sat Oct  6 14:09:52 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib qw(. ..);
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
+#use lib qw(. ..);
 use Memoize 0.45 qw(memoize unmemoize);
 use Fcntl;
 
--- lib/Memoize/t/tie_ndbm.t.orig	Sun Jun 24 16:46:52 2001
+++ lib/Memoize/t/tie_ndbm.t	Sat Oct  6 14:09:44 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib qw(. ..);
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
+#use lib qw(. ..);
 use Memoize 0.45 qw(memoize unmemoize);
 use Fcntl;
 # use Memoize::NDBM_File;
--- lib/Memoize/t/tie_sdbm.t.orig	Tue Jun 26 22:00:29 2001
+++ lib/Memoize/t/tie_sdbm.t	Sat Oct  6 14:09:29 2001
@@ -1,6 +1,10 @@
 #!/usr/bin/perl
 
-use lib qw(. ..);
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
+#use lib qw(. ..);
 use Memoize 0.45 qw(memoize unmemoize);
 use Fcntl;
 # use Memoize::SDBM_File;
--- lib/Memoize/t/tie_storable.t.orig	Sun Jun 24 18:36:56 2001
+++ lib/Memoize/t/tie_storable.t	Sat Oct  6 14:09:18 2001
@@ -1,7 +1,10 @@
 #!/usr/bin/perl
 # -*- mode: perl; perl-indent-level: 2 -*-
 
-use lib qw(. ..);
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize 0.45 qw(memoize unmemoize);
 # $Memoize::Storable::Verbose = 0;
 
--- lib/Memoize/t/tiefeatures.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/tiefeatures.t	Sat Oct  6 14:08:27 2001
@@ -1,5 +1,9 @@
 #!/usr/bin/perl
 
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use lib \'blib/lib\';
 use Memoize 0.45 qw(memoize unmemoize);
 use Fcntl;
--- lib/Memoize/t/unmemoize.t.orig	Sat Jun 16 23:49:40 2001
+++ lib/Memoize/t/unmemoize.t	Sat Oct  6 14:07:32 2001
@@ -1,6 +1,9 @@
 #!/usr/bin/perl
 
-use lib \'..\';
+BEGIN {
+    chdir \'t\' if -d \'t\';
+    @INC = \'../lib\';
+}
 use Memoize qw(memoize unmemoize);
 
 print "1..5\\n";'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 14 wallclock secs ( 0.24 usr +  0.02 sys =  0.26 CPU)
	Alltook: 14 wallclock secs ( 0.24 usr +  0.02 sys =  0.26 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (7476) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(macperl-porters@perl.org) 
			From(Chris Nandor <pudge@pobox.com>) 
			In-Reply-To(<m3hetcvg5b.fsf@tairou.japanologie.kultur.uni-tuebingen.de>)
			Message-Id(<p05100300b7e4f2c324b4@[10.0.1.177]>) 
			Reply-To() 
			Subject(Re: [MacPerl-Porters] Built-report for beta1 with MrC/SC) 
			To(Andreas Marcel Riechert <riechert@pobox.com>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100300b7e4f2c324b4@[10.0.1.177]>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100300b7e4f2c324b4@[10.0.1.177]>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100300b7e4f2c324b4@[10.0.1.177]>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100300b7e4f2c324b4@[10.0.1.177]>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100300b7e4f2c324b4@[10.0.1.177]>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  9 wallclock secs ( 0.21 usr +  0.00 sys =  0.21 CPU)
	Alltook:  9 wallclock secs ( 0.21 usr +  0.00 sys =  0.21 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (13851) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(perl5-porters@perl.org) 
			From(Nick Ing-Simmons <nick@ing-simmons.net>) 
			In-Reply-To(<200110041645.RAA17742@tempest.npl.co.uk> from Robin Barker
    on Thu, 4 Oct 2001 17:45:12 +0100 (BST))
			Message-Id(<20011006182547.666.6@bactrian.ni-s.u-net.com>) 
			Reply-To(Nick Ing-Simmons <nick@ing-simmons.net>) 
			Subject(Re: build with g++) 
			To(rmb1@cise.npl.co.uk) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[14] domain(bugs\.perl\.org) ?-> to(rmb1@cise.npl.co.uk), subject(Re: build with g++), cc(perl5-porters@perl.org) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x8601354)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110041645.RAA17742@tempest.npl.co.uk>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110041645.RAA17742@tempest.npl.co.uk>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110041645.RAA17742@tempest.npl.co.uk>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110041645.RAA17742@tempest.npl.co.uk>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110041645.RAA17742@tempest.npl.co.uk>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(Robin Barker <rmb1@cise.npl.co.uk> writes:
>Should perl build with the GNU C++ compiler (g++) ?
>The documentation suggest it may not Configure but should build!

It did once back in 5.005 vintage (getting it to build with g++ was 
a step to getting re-integrated code to build with vc++)

>
>I have fixed Configure to run under g++ 
>but building is difficult due to (lack of) explicit casts: 
>(const char *) -> (char *) and  (void *) -> anything.

May be worth adding those???

>There are also lots of comparison unsigned v. signed warnings.

Same with many C compilers. 

>
>I have fixed the casts on the core and the libraries alphabetically
>through to DProf; but Enocde/EBCDIC.c fails with alot of
>"initializer-string for array of chars is too long".

Sigh - I assume it is winging about the trailing '\0' 
Does anyone know if this is an ANSI C vs C++ difference of spec' or is 
it a feature of g++ (which g++ by the way?)

>
>The patched core files do get past C<make minitest> with two failures.
>
>Can anyone tell me what they expect from a GNU C++ build before 
>I battle on any further.   This is not a serious problem (I can
>build from gcc) but a new source of warnings may be useful.
>
>Robin 
-- 
Nick Ing-Simmons
http://www.ni-s.u-net.com/) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'Robin Barker <rmb1@cise.npl.co.uk> writes:
>Should perl build with the GNU C++ compiler (g++) ?
>The documentation suggest it may not Configure but should build!

It did once back in 5.005 vintage (getting it to build with g++ was 
a step to getting re-integrated code to build with vc++)

>
>I have fixed Configure to run under g++ 
>but building is difficult due to (lack of) explicit casts: 
>(const char *) -> (char *) and  (void *) -> anything.

May be worth adding those???

>There are also lots of comparison unsigned v. signed warnings.

Same with many C compilers. 

>
>I have fixed the casts on the core and the libraries alphabetically
>through to DProf; but Enocde/EBCDIC.c fails with alot of
>"initializer-string for array of chars is too long".

Sigh - I assume it is winging about the trailing \'\\0\' 
Does anyone know if this is an ANSI C vs C++ difference of spec\' or is 
it a feature of g++ (which g++ by the way?)

>
>The patched core files do get past C<make minitest> with two failures.
>
>Can anyone tell me what they expect from a GNU C++ build before 
>I battle on any further.   This is not a serious problem (I can
>build from gcc) but a new source of warnings may be useful.
>
>Robin 
-- 
Nick Ing-Simmons
http://www.ni-s.u-net.com/'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 15 wallclock secs ( 0.26 usr +  0.02 sys =  0.27 CPU)
	Alltook: 15 wallclock secs ( 0.26 usr +  0.02 sys =  0.27 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (28090) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(rmb1@cise.npl.co.uk, perl5-porters@perl.org) 
			From(Nicholas Clark <nick@ccl4.org>) 
			In-Reply-To(<20011006182547.666.6@bactrian.ni-s.u-net.com>;
    from nick@ing-simmons.net on Sat, Oct 06, 2001 at 07:15:36PM +0100)
			Message-Id(<20011006205948.K38756@plum.flirble.org>) 
			Reply-To() 
			Subject(Re: build with g++) 
			To(Nick Ing-Simmons <nick@ing-simmons.net>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006205948.K38756@plum.flirble.org>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006205948.K38756@plum.flirble.org>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006205948.K38756@plum.flirble.org>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006205948.K38756@plum.flirble.org>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006205948.K38756@plum.flirble.org>%') 
[14] domain(bugs\.perl\.org) ?-> to(Nick Ing-Simmons <nick@ing-simmons.net>), subject(Re: build with g++), cc(rmb1@cise.npl.co.uk, perl5-porters@perl.org) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x853fe10)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006182547.666.6@bactrian.ni-s.u-net.com>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(On Sat, Oct 06, 2001 at 07:15:36PM +0100, Nick Ing-Simmons wrote:
> Robin Barker <rmb1@cise.npl.co.uk> writes:
> >I have fixed the casts on the core and the libraries alphabetically
> >through to DProf; but Enocde/EBCDIC.c fails with alot of
> >"initializer-string for array of chars is too long".
> 
> Sigh - I assume it is winging about the trailing '\0' 
> Does anyone know if this is an ANSI C vs C++ difference of spec' or is 
> it a feature of g++ (which g++ by the way?)

I think it's official C++, not just g++, but I can't remember where I read
that. [possibly Strousop's (sp?) book]
I guess one need a {} constructor for the case of the trailing '\0' not being
wanted for an array of char

Nicholas Clark) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'On Sat, Oct 06, 2001 at 07:15:36PM +0100, Nick Ing-Simmons wrote:
> Robin Barker <rmb1@cise.npl.co.uk> writes:
> >I have fixed the casts on the core and the libraries alphabetically
> >through to DProf; but Enocde/EBCDIC.c fails with alot of
> >"initializer-string for array of chars is too long".
> 
> Sigh - I assume it is winging about the trailing \'\\0\' 
> Does anyone know if this is an ANSI C vs C++ difference of spec\' or is 
> it a feature of g++ (which g++ by the way?)

I think it\'s official C++, not just g++, but I can\'t remember where I read
that. [possibly Strousop\'s (sp?) book]
I guess one need a {} constructor for the case of the trailing \'\\0\' not being
wanted for an array of char

Nicholas Clark'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 35 wallclock secs ( 0.25 usr +  0.02 sys =  0.27 CPU)
	Alltook: 35 wallclock secs ( 0.26 usr +  0.02 sys =  0.28 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (31395) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Andreas Marcel Riechert <riechert@pobox.com>) 
			In-Reply-To()
			Message-Id(<m3bsjklce9.fsf@tairou.japanologie.kultur.uni-tuebingen.de>) 
			Reply-To() 
			Subject([MacPerl-Porters] Config.pm) 
			To(macperl-porters@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3bsjklce9.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3bsjklce9.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3bsjklce9.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3bsjklce9.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3bsjklce9.fsf@tairou.japanologie.kultur.uni-tuebingen.de>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Runtime:  9 wallclock secs ( 0.20 usr +  0.01 sys =  0.21 CPU)
	Alltook:  9 wallclock secs ( 0.21 usr +  0.01 sys =  0.22 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (34331) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(david@davidfavor.com) 
			In-Reply-To()
			Message-Id(<200110051047.FAA30212@aasc24.austin.ibm.com>) 
			Reply-To() 
			Subject(libgdbm.so for perl on FreeBSD) 
			To(perl5-porters@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110051047.FAA30212@aasc24.austin.ibm.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110051047.FAA30212@aasc24.austin.ibm.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110051047.FAA30212@aasc24.austin.ibm.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110051047.FAA30212@aasc24.austin.ibm.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110051047.FAA30212@aasc24.austin.ibm.com>%') 
[14] domain(bugs\.perl\.org) ?-> to(perl5-porters@perl.org), subject(libgdbm.so for perl on FreeBSD), cc() 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(I'm trying to build a shared version of libgdbm for perl
on FreeBSD 4.2-RELEASE and am unable to determine how to
do this. The maintainer address listed in the README
bounces email and the original author gives no response.

If anyone knows the proper incantation for 'configure'
and 'make' to create libgdbm.so on FreeBSD, pass it along.

Thanks.) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'I\'m trying to build a shared version of libgdbm for perl
on FreeBSD 4.2-RELEASE and am unable to determine how to
do this. The maintainer address listed in the README
bounces email and the original author gives no response.

If anyone knows the proper incantation for \'configure\'
and \'make\' to create libgdbm.so on FreeBSD, pass it along.

Thanks.'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 14 wallclock secs ( 0.21 usr +  0.03 sys =  0.24 CPU)
	Alltook: 14 wallclock secs ( 0.21 usr +  0.03 sys =  0.24 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (41202) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Nicholas Clark <nick@ccl4.org>) 
			In-Reply-To(<20010924022139.A20415@alpha.hut.fi>; from jhi@iki.fi on Mon,
    Sep 24, 2001 at 02:21:39AM +0300)
			Message-Id(<20011006214643.L38756@plum.flirble.org>) 
			Reply-To() 
			Subject([PATCH] (was Re: [PATCH] Re: What sort of Makefile.PL should h2xs
    write?)) 
			To('Perl Porters' <perl5-porters@perl.org>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006214643.L38756@plum.flirble.org>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006214643.L38756@plum.flirble.org>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006214643.L38756@plum.flirble.org>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006214643.L38756@plum.flirble.org>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006214643.L38756@plum.flirble.org>%') 
[14] domain(bugs\.perl\.org) ?-> to('Perl Porters' <perl5-porters@perl.org>), subject([PATCH] (was Re: [PATCH] Re: What sort of Makefile.PL should h2xs
    write?)), cc() 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x853edf8)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20010924022139.A20415@alpha.hut.fi>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20010924022139.A20415@alpha.hut.fi>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20010924022139.A20415@alpha.hut.fi>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20010924022139.A20415@alpha.hut.fi>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20010924022139.A20415@alpha.hut.fi>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(The $! substitution is meant to happen at Makefile.PL run time, not when it's
written by h2xs (D'oh. careless me)

Nicholas Clark

--- utils/h2xs.PL.orig	Mon Sep 24 14:05:46 2001
+++ utils/h2xs.PL	Sat Oct  6 21:36:45 2001
@@ -1730,9 +1730,9 @@
 else {
   use File::Copy;
   copy ('fallback.c', '$constsfname.c')
-    or die "Can't copy fallback.c to $constsfname.c: $!";
+    or die "Can't copy fallback.c to $constsfname.c: \$!";
   copy ('fallback.xs', '$constsfname.xs')
-    or die "Can't copy fallback.xs to $constsfname.xs: $!";
+    or die "Can't copy fallback.xs to $constsfname.xs: \$!";
 }
 END) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'The $! substitution is meant to happen at Makefile.PL run time, not when it\'s
written by h2xs (D\'oh. careless me)

Nicholas Clark

--- utils/h2xs.PL.orig	Mon Sep 24 14:05:46 2001
+++ utils/h2xs.PL	Sat Oct  6 21:36:45 2001
@@ -1730,9 +1730,9 @@
 else {
   use File::Copy;
   copy (\'fallback.c\', \'$constsfname.c\')
-    or die "Can\'t copy fallback.c to $constsfname.c: $!";
+    or die "Can\'t copy fallback.c to $constsfname.c: \\$!";
   copy (\'fallback.xs\', \'$constsfname.xs\')
-    or die "Can\'t copy fallback.xs to $constsfname.xs: $!";
+    or die "Can\'t copy fallback.xs to $constsfname.xs: \\$!";
 }
 END'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 21 wallclock secs ( 0.27 usr +  0.01 sys =  0.27 CPU)
	Alltook: 21 wallclock secs ( 0.27 usr +  0.01 sys =  0.27 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (53580) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(macperl-porters@perl.org) 
			From(Chris Nandor <pudge@pobox.com>) 
			In-Reply-To(<m3bsjklce9.fsf@tairou.japanologie.kultur.uni-tuebingen.de>)
			Message-Id(<p05100302b7e52058b8a2@[10.0.1.177]>) 
			Reply-To() 
			Subject(Re: [MacPerl-Porters] Config.pm) 
			To(Andreas Marcel Riechert <riechert@pobox.com>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100302b7e52058b8a2@[10.0.1.177]>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100302b7e52058b8a2@[10.0.1.177]>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100302b7e52058b8a2@[10.0.1.177]>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100302b7e52058b8a2@[10.0.1.177]>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <p05100302b7e52058b8a2@[10.0.1.177]>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 10 wallclock secs ( 0.22 usr +  0.00 sys =  0.22 CPU)
	Alltook: 10 wallclock secs ( 0.23 usr +  0.00 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (55065) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(Perl 5 Porters <perl5-porters@perl.org>) 
			From(andreas.koenig@anima.de (Andreas J. Koenig)) 
			In-Reply-To(<3BBF068C.9010101@stason.org>)
			Message-Id(<m37ku8iifr.fsf@anima.de>) 
			Reply-To() 
			Subject(Re: ExtUtils::MakeMaker's PREOP vs distdir execution order) 
			To(Stas Bekman <stas@stason.org>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <m37ku8iifr.fsf@anima.de>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <m37ku8iifr.fsf@anima.de>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <m37ku8iifr.fsf@anima.de>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <m37ku8iifr.fsf@anima.de>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <m37ku8iifr.fsf@anima.de>%') 
[14] domain(bugs\.perl\.org) ?-> to(Stas Bekman <stas@stason.org>), subject(Re: ExtUtils::MakeMaker's PREOP vs distdir execution order), cc(Perl 5 Porters <perl5-porters@perl.org>) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x86005e0)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBF068C.9010101@stason.org>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(>>>>> On Sat, 06 Oct 2001 21:26:36 +0800, Stas Bekman <stas@stason.org> said:

  >    WriteMakefile(
  >        dist         => {
  >                         PREOP => 'pod2text lib/Apache/Amazing.pm > README',
  >                        },
  >        ...
  >    );

I think I recommended this trick to Doug, so I'm probably to blame for
this bug. I corrected my Makefile.PL to:

	       PREOP => 'pod2text lib/CPAN.pm > $(DISTVNAME)/README',

-- 
andreas) => ret: $VAR1 = {
          'opts' => '',
          'body' => '>>>>> On Sat, 06 Oct 2001 21:26:36 +0800, Stas Bekman <stas@stason.org> said:

  >    WriteMakefile(
  >        dist         => {
  >                         PREOP => \'pod2text lib/Apache/Amazing.pm > README\',
  >                        },
  >        ...
  >    );

I think I recommended this trick to Doug, so I\'m probably to blame for
this bug. I corrected my Makefile.PL to:

	       PREOP => \'pod2text lib/CPAN.pm > $(DISTVNAME)/README\',

-- 
andreas'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 13 wallclock secs ( 0.22 usr +  0.02 sys =  0.24 CPU)
	Alltook: 13 wallclock secs ( 0.22 usr +  0.02 sys =  0.24 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (85654) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(Michael G Schwern <schwern@pobox.com>) 
			In-Reply-To(<20011006080045.B13905@alpha.hut.fi>)
			Message-Id(<20011006192852.A588@blackrider>) 
			Reply-To() 
			Subject(Re: A philosophical tainting issue) 
			To(Jarkko Hietaniemi <jhi@iki.fi>, perl5-porters@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[14] domain(bugs\.perl\.org) ?-> to(Jarkko Hietaniemi <jhi@iki.fi>, perl5-porters@perl.org), subject(Re: A philosophical tainting issue), cc() 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x8543318)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006080045.B13905@alpha.hut.fi>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006080045.B13905@alpha.hut.fi>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006080045.B13905@alpha.hut.fi>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006080045.B13905@alpha.hut.fi>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006080045.B13905@alpha.hut.fi>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(On Sat, Oct 06, 2001 at 08:00:45AM +0300, Jarkko Hietaniemi wrote:
> > So I'm pondering if using $^X + $ENV{PATH} (or it's moral equivalent
> > on other operating systems) to locate the currently running perl
> > executable is insecure, or if I can just trust it given that's exactly
> > how I started running the currently running perl.  Most of what Kurt
> 
> At least #! completely bypasses $ENV{PATH}.

That's ok.  If #! bypasses $ENV{PATH} by using an absolute path to
Perl (ie. #!/usr/bin/perl) then $^X will be absolute and $ENV{PATH}
never enters the picture.  I'm only worried about when the program is
called with a non-absolute path.


> > When run under taint mode, should that code simply explode because
> > it's inherently insecure to run a perl program?  Or should it only
> 
> Well, it *is*, if you are trusting the original $ENV{PATH}.

But the program is called as 'perl', can't we do this (mod
cross-platform considerations):

    my $perl;
    foreach my $path (split /:/, $ENV{PATH}) {
        do { $perl = "$path/$^X"; last } if -x "$path/$^X";
    }

and be guaranteed to arrive at the same binary as the one currently
running?

The only risk I can see there is if a perl binary is slipped in to an
earlier location in the PATH between the time the time the program is
started and the time we do our search.

The bigger problem is taking into account all the various pecularities
of getting it right on non-Unixen.


If nothing else, I should be able to safely get away with detainting
the value of $^X if it's absolute.  If it's relative, I might have to
just punt.


-- 

Michael G. Schwern   <schwern@pobox.com>    http://www.pobox.com/~schwern/
Perl6 Quality Assurance     <perl-qa@perl.org>	     Kwalitee Is Job One
Your average appeasement engineer is about as clued-up on computers as
the average computer "hacker" is about B.O.
	-- BOFH) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'On Sat, Oct 06, 2001 at 08:00:45AM +0300, Jarkko Hietaniemi wrote:
> > So I\'m pondering if using $^X + $ENV{PATH} (or it\'s moral equivalent
> > on other operating systems) to locate the currently running perl
> > executable is insecure, or if I can just trust it given that\'s exactly
> > how I started running the currently running perl.  Most of what Kurt
> 
> At least #! completely bypasses $ENV{PATH}.

That\'s ok.  If #! bypasses $ENV{PATH} by using an absolute path to
Perl (ie. #!/usr/bin/perl) then $^X will be absolute and $ENV{PATH}
never enters the picture.  I\'m only worried about when the program is
called with a non-absolute path.


> > When run under taint mode, should that code simply explode because
> > it\'s inherently insecure to run a perl program?  Or should it only
> 
> Well, it *is*, if you are trusting the original $ENV{PATH}.

But the program is called as \'perl\', can\'t we do this (mod
cross-platform considerations):

    my $perl;
    foreach my $path (split /:/, $ENV{PATH}) {
        do { $perl = "$path/$^X"; last } if -x "$path/$^X";
    }

and be guaranteed to arrive at the same binary as the one currently
running?

The only risk I can see there is if a perl binary is slipped in to an
earlier location in the PATH between the time the time the program is
started and the time we do our search.

The bigger problem is taking into account all the various pecularities
of getting it right on non-Unixen.


If nothing else, I should be able to safely get away with detainting
the value of $^X if it\'s absolute.  If it\'s relative, I might have to
just punt.


-- 

Michael G. Schwern   <schwern@pobox.com>    http://www.pobox.com/~schwern/
Perl6 Quality Assurance     <perl-qa@perl.org>	     Kwalitee Is Job One
Your average appeasement engineer is about as clued-up on computers as
the average computer "hacker" is about B.O.
	-- BOFH'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  1 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 13 wallclock secs ( 0.23 usr +  0.02 sys =  0.26 CPU)
	Alltook: 14 wallclock secs ( 0.23 usr +  0.02 sys =  0.26 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (91117) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From("Francis Stellase" <rttmk@eurosport.com>) 
			In-Reply-To()
			Message-Id(<200110070001.f9701X116169@chthon.perl.com>) 
			Reply-To() 
			Subject(Your Membership #226B) 
			To(list@chthon.perl.com) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070001.f9701X116169@chthon.perl.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070001.f9701X116169@chthon.perl.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070001.f9701X116169@chthon.perl.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070001.f9701X116169@chthon.perl.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070001.f9701X116169@chthon.perl.com>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Runtime: 15 wallclock secs ( 0.20 usr +  0.02 sys =  0.21 CPU)
	Alltook: 15 wallclock secs ( 0.20 usr +  0.02 sys =  0.22 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (94608) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From(<lnhxdb@online.ln.cn>) 
			In-Reply-To()
			Message-Id(<200110070031.f970Vi104463@chthon.perl.com>) 
			Reply-To(lnhxdb@online.ln.cn) 
			Subject(ȫ˹ܶһɻԪ) 
			To() 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070031.f970Vi104463@chthon.perl.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070031.f970Vi104463@chthon.perl.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070031.f970Vi104463@chthon.perl.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070031.f970Vi104463@chthon.perl.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <200110070031.f970Vi104463@chthon.perl.com>%') 
[14] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 10 wallclock secs ( 0.22 usr +  0.01 sys =  0.23 CPU)
	Alltook: 10 wallclock secs ( 0.22 usr +  0.01 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[15] SQL: SHOW fields FROM pb_range 
[16] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (98518) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From("chromatic" <chromatic@rmci.net>) 
			In-Reply-To()
			Message-Id(<20011007005801.98381.qmail@onion.perl.org>) 
			Reply-To() 
			Subject([PATCH MANIFEST lib/sigtrap.t] Add Tests for sigtrap.pm) 
			To(perl5-porters@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007005801.98381.qmail@onion.perl.org>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007005801.98381.qmail@onion.perl.org>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007005801.98381.qmail@onion.perl.org>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007005801.98381.qmail@onion.perl.org>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007005801.98381.qmail@onion.perl.org>%') 
[14] domain(bugs\.perl\.org) ?-> to(perl5-porters@perl.org), subject([PATCH MANIFEST lib/sigtrap.t] Add Tests for sigtrap.pm), cc() 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(This patch adds tests for sigtrap.  There are some skipped tests at the end --
not only is 'kill' apparently not implemented on a couple of platforms, but
sigtrap::handler_traceback() sends an 'ABRT'.

Overriding kill would help, but I'm not sure that's possible.  For now, they're
skipped.

-- c

--- ~MANIFEST	Sat Oct  6 18:15:26 2001
+++ MANIFEST	Sat Oct  6 18:15:38 2001
@@ -1135,6 +1135,7 @@
 lib/Shell.t			Tests for above
 lib/shellwords.pl		Perl library to split into words with shell quoting
 lib/sigtrap.pm			For trapping an abort and giving traceback
+lib/sigtrap.t			See if sigtrap works
 lib/stat.pl			Perl library supporting stat function
 lib/strict.pm			For "use strict"
 lib/strict.t			See if strictures work

--- /dev/null	Thu Aug 30 03:54:37 2001
+++ lib/sigtrap.t	Sat Oct  6 18:14:54 2001
@@ -0,0 +1,104 @@
+#!./perl
+
+BEGIN {
+	chdir 't' if -d 't';
+	@INC = '../lib';
+}
+
+use strict;
+use Config;
+
+my $can_catch_kill = 0;
+
+use Test::More tests => 18;
+
+use_ok( 'sigtrap' );
+
+package main;
+local %SIG;
+
+# use a version of sigtrap.pm somewhat too high
+eval{ sigtrap->import(99999) };
+like( $@, qr/version 99999 required,/, 'import excessive version number' );
+
+# use an invalid signal name
+eval{ sigtrap->import('abadsignal') };
+like( $@, qr/^Unrecognized argument abadsignal/, 'send bad signame to import' );
+
+eval{ sigtrap->import('handler') };
+like( $@, qr/^No argument specified/, 'send handler without subref' );
+
+sigtrap->import('AFAKE');
+is( $SIG{AFAKE}, \&sigtrap::handler_traceback, 'install normal handler' );
+
+sigtrap->import('die', 'AFAKE', 'stack-trace', 'FAKE2');
+is( $SIG{AFAKE}, \&sigtrap::handler_die, 'install the die handler' );
+is( $SIG{FAKE2}, \&sigtrap::handler_traceback, 'install traceback handler' );
+
+my @normal = qw( HUP INT PIPE TERM );
+@SIG{@normal} = 1 x @normal;
+sigtrap->import('normal-signals');
+is( (grep { ref $_ } @SIG{@normal}), @normal, 'check normal-signals set' );
+
+my @error = qw( ABRT BUS EMT FPE ILL QUIT SEGV SYS TRAP );
+@SIG{@error} = 1 x @error;
+sigtrap->import('error-signals');
+is( (grep { ref $_ } @SIG{@error}), @error, 'check error-signals set' );
+
+my @old = qw( ABRT BUS EMT FPE ILL PIPE QUIT SEGV SYS TERM TRAP );
+@SIG{@old} = 1 x @old;
+sigtrap->import('old-interface-signals');
+is( (grep { ref $_ } @SIG{@old}), @old, 'check old-interface-signals set' );
+
+my $handler = sub {};
+sigtrap->import(handler => $handler, 'FAKE3');
+is( $SIG{FAKE3}, $handler, 'install custom handler' );
+
+$SIG{FAKE} = 'IGNORE';
+sigtrap->import('untrapped', 'FAKE');
+is( $SIG{FAKE}, 'IGNORE', 'respect existing handler set to IGNORE' );
+
+my $out = tie *STDOUT, 'TieOut';
+$SIG{FAKE} = 'DEFAULT';
+$sigtrap::Verbose = 1;
+sigtrap->import('any', 'FAKE');
+is( $SIG{FAKE}, \&sigtrap::handler_traceback, 'should set default handler' );
+like( $out->read, qr/^Installing handler/, 'does it talk with $Verbose set?' );
+
+# handler_die croaks with first argument
+eval { sigtrap::handler_die('FAKE') };
+like( $@, qr/^Caught a SIGFAKE/, 'does handler_die() croak?' );
+ 
+SKIP: {
+	skip( 'kill not implemented', 3) unless $can_catch_kill and
+		$Config{sig_name} =~ 'ABRT';
+
+	$out = tie *STDERR, 'TieOut';
+	my $line = __LINE__ + 1;
+	eval { sigtrap::handler_traceback('kudra') };
+	is( $@, '', 'handler_traceback() should not die' );
+	my $trace = $out->read();
+	like( $trace, qr/^Caught a SIGkudra/, 'check traceback message' );
+	like( $trace, qr/eval.+sigtrap.t.+$line/, 'check trace in traceback' );
+} # end of SKIP
+
+package TieOut;
+
+sub TIEHANDLE {
+	bless(\(my $scalar), $_[0]);
+}
+
+sub PRINT {
+	my $self = shift;
+	$$self .= join '', @_;
+}
+
+sub WRITE {
+	my ($self, $msg, $length) = @_;
+	$$self .= $msg;
+}
+
+sub read {
+	my $self = shift;
+	substr($$self, 0, length($$self), '');
+}) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'This patch adds tests for sigtrap.  There are some skipped tests at the end --
not only is \'kill\' apparently not implemented on a couple of platforms, but
sigtrap::handler_traceback() sends an \'ABRT\'.

Overriding kill would help, but I\'m not sure that\'s possible.  For now, they\'re
skipped.

-- c

--- ~MANIFEST	Sat Oct  6 18:15:26 2001
+++ MANIFEST	Sat Oct  6 18:15:38 2001
@@ -1135,6 +1135,7 @@
 lib/Shell.t			Tests for above
 lib/shellwords.pl		Perl library to split into words with shell quoting
 lib/sigtrap.pm			For trapping an abort and giving traceback
+lib/sigtrap.t			See if sigtrap works
 lib/stat.pl			Perl library supporting stat function
 lib/strict.pm			For "use strict"
 lib/strict.t			See if strictures work

--- /dev/null	Thu Aug 30 03:54:37 2001
+++ lib/sigtrap.t	Sat Oct  6 18:14:54 2001
@@ -0,0 +1,104 @@
+#!./perl
+
+BEGIN {
+	chdir \'t\' if -d \'t\';
+	@INC = \'../lib\';
+}
+
+use strict;
+use Config;
+
+my $can_catch_kill = 0;
+
+use Test::More tests => 18;
+
+use_ok( \'sigtrap\' );
+
+package main;
+local %SIG;
+
+# use a version of sigtrap.pm somewhat too high
+eval{ sigtrap->import(99999) };
+like( $@, qr/version 99999 required,/, \'import excessive version number\' );
+
+# use an invalid signal name
+eval{ sigtrap->import(\'abadsignal\') };
+like( $@, qr/^Unrecognized argument abadsignal/, \'send bad signame to import\' );
+
+eval{ sigtrap->import(\'handler\') };
+like( $@, qr/^No argument specified/, \'send handler without subref\' );
+
+sigtrap->import(\'AFAKE\');
+is( $SIG{AFAKE}, \\&sigtrap::handler_traceback, \'install normal handler\' );
+
+sigtrap->import(\'die\', \'AFAKE\', \'stack-trace\', \'FAKE2\');
+is( $SIG{AFAKE}, \\&sigtrap::handler_die, \'install the die handler\' );
+is( $SIG{FAKE2}, \\&sigtrap::handler_traceback, \'install traceback handler\' );
+
+my @normal = qw( HUP INT PIPE TERM );
+@SIG{@normal} = 1 x @normal;
+sigtrap->import(\'normal-signals\');
+is( (grep { ref $_ } @SIG{@normal}), @normal, \'check normal-signals set\' );
+
+my @error = qw( ABRT BUS EMT FPE ILL QUIT SEGV SYS TRAP );
+@SIG{@error} = 1 x @error;
+sigtrap->import(\'error-signals\');
+is( (grep { ref $_ } @SIG{@error}), @error, \'check error-signals set\' );
+
+my @old = qw( ABRT BUS EMT FPE ILL PIPE QUIT SEGV SYS TERM TRAP );
+@SIG{@old} = 1 x @old;
+sigtrap->import(\'old-interface-signals\');
+is( (grep { ref $_ } @SIG{@old}), @old, \'check old-interface-signals set\' );
+
+my $handler = sub {};
+sigtrap->import(handler => $handler, \'FAKE3\');
+is( $SIG{FAKE3}, $handler, \'install custom handler\' );
+
+$SIG{FAKE} = \'IGNORE\';
+sigtrap->import(\'untrapped\', \'FAKE\');
+is( $SIG{FAKE}, \'IGNORE\', \'respect existing handler set to IGNORE\' );
+
+my $out = tie *STDOUT, \'TieOut\';
+$SIG{FAKE} = \'DEFAULT\';
+$sigtrap::Verbose = 1;
+sigtrap->import(\'any\', \'FAKE\');
+is( $SIG{FAKE}, \\&sigtrap::handler_traceback, \'should set default handler\' );
+like( $out->read, qr/^Installing handler/, \'does it talk with $Verbose set?\' );
+
+# handler_die croaks with first argument
+eval { sigtrap::handler_die(\'FAKE\') };
+like( $@, qr/^Caught a SIGFAKE/, \'does handler_die() croak?\' );
+ 
+SKIP: {
+	skip( \'kill not implemented\', 3) unless $can_catch_kill and
+		$Config{sig_name} =~ \'ABRT\';
+
+	$out = tie *STDERR, \'TieOut\';
+	my $line = __LINE__ + 1;
+	eval { sigtrap::handler_traceback(\'kudra\') };
+	is( $@, \'\', \'handler_traceback() should not die\' );
+	my $trace = $out->read();
+	like( $trace, qr/^Caught a SIGkudra/, \'check traceback message\' );
+	like( $trace, qr/eval.+sigtrap.t.+$line/, \'check trace in traceback\' );
+} # end of SKIP
+
+package TieOut;
+
+sub TIEHANDLE {
+	bless(\\(my $scalar), $_[0]);
+}
+
+sub PRINT {
+	my $self = shift;
+	$$self .= join \'\', @_;
+}
+
+sub WRITE {
+	my ($self, $msg, $length) = @_;
+	$$self .= $msg;
+}
+
+sub read {
+	my $self = shift;
+	substr($$self, 0, length($$self), \'\');
+}'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  9 wallclock secs ( 0.22 usr +  0.01 sys =  0.23 CPU)
	Alltook:  9 wallclock secs ( 0.22 usr +  0.01 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (99387) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(perl5-porters@perl.org) 
			From(Jarkko Hietaniemi <jhi@iki.fi>) 
			In-Reply-To(<20011006192852.A588@blackrider>; from schwern@pobox.com on
    Sat, Oct 06, 2001 at 07:28:53PM -0400)
			Message-Id(<20011007035850.A24485@alpha.hut.fi>) 
			Reply-To() 
			Subject(Re: A philosophical tainting issue) 
			To(Michael G Schwern <schwern@pobox.com>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007035850.A24485@alpha.hut.fi>%') 
[14] domain(bugs\.perl\.org) ?-> to(Michael G Schwern <schwern@pobox.com>), subject(Re: A philosophical tainting issue), cc(perl5-porters@perl.org) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x85ff6f4)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011006192852.A588@blackrider>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(On Sat, Oct 06, 2001 at 07:28:53PM -0400, Michael G Schwern wrote:
> On Sat, Oct 06, 2001 at 08:00:45AM +0300, Jarkko Hietaniemi wrote:
> > > So I'm pondering if using $^X + $ENV{PATH} (or it's moral equivalent
> > > on other operating systems) to locate the currently running perl
> > > executable is insecure, or if I can just trust it given that's exactly
> > > how I started running the currently running perl.  Most of what Kurt
> > 
> > At least #! completely bypasses $ENV{PATH}.
> 
> That's ok.  If #! bypasses $ENV{PATH} by using an absolute path to
> Perl (ie. #!/usr/bin/perl) then $^X will be absolute and $ENV{PATH}

ugli:~ ; cat x
#!/usr/bin/perl
print "$^X foobar\n";
ugli:~ ; ls -l x
-rwxr-xr-x    1 jhi      users          38 loka    7 03:49 x
ugli:~ ; ./x
perl foobar
ugli:~ ; uname -a
Linux ugli.hut.fi 2.2.19 #1 Thu Apr 5 14:00:15 EET DST 2001 i686 unknown
ugli:~ ; 

The same happens in AIX, Tru64, and Mac OS X; Solaris, HP-UX, and IRIX
seem to have the absolute path in $^X.

> never enters the picture.  I'm only worried about when the program is
> called with a non-absolute path.

-- 
$jhi++; # http://www.iki.fi/jhi/
        # There is this special biologist word we use for 'stable'.
        # It is 'dead'. -- Jack Cohen) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'On Sat, Oct 06, 2001 at 07:28:53PM -0400, Michael G Schwern wrote:
> On Sat, Oct 06, 2001 at 08:00:45AM +0300, Jarkko Hietaniemi wrote:
> > > So I\'m pondering if using $^X + $ENV{PATH} (or it\'s moral equivalent
> > > on other operating systems) to locate the currently running perl
> > > executable is insecure, or if I can just trust it given that\'s exactly
> > > how I started running the currently running perl.  Most of what Kurt
> > 
> > At least #! completely bypasses $ENV{PATH}.
> 
> That\'s ok.  If #! bypasses $ENV{PATH} by using an absolute path to
> Perl (ie. #!/usr/bin/perl) then $^X will be absolute and $ENV{PATH}

ugli:~ ; cat x
#!/usr/bin/perl
print "$^X foobar\\n";
ugli:~ ; ls -l x
-rwxr-xr-x    1 jhi      users          38 loka    7 03:49 x
ugli:~ ; ./x
perl foobar
ugli:~ ; uname -a
Linux ugli.hut.fi 2.2.19 #1 Thu Apr 5 14:00:15 EET DST 2001 i686 unknown
ugli:~ ; 

The same happens in AIX, Tru64, and Mac OS X; Solaris, HP-UX, and IRIX
seem to have the absolute path in $^X.

> never enters the picture.  I\'m only worried about when the program is
> called with a non-absolute path.

-- 
$jhi++; # http://www.iki.fi/jhi/
        # There is this special biologist word we use for \'stable\'.
        # It is \'dead\'. -- Jack Cohen'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  5 wallclock secs ( 0.25 usr +  0.02 sys =  0.27 CPU)
	Alltook:  5 wallclock secs ( 0.26 usr +  0.02 sys =  0.27 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (5250) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(<perl5-porters@perl.org>) 
			From(David Dyck <dcd@tc.fluke.com>) 
			In-Reply-To(<3BBEA53B.8AB73D4@earthlink.net>)
			Message-Id(<Pine.LNX.4.33.0110061114450.14920-100000@dd.tc.fluke.com>) 
			Reply-To() 
			Subject(Re: patch to ext/IO/lib/IO/Socket/INET.pm fixes Bug ID (20010803.022)) 
			To(Benjamin Goldberg <goldbb2@earthlink.net>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.LNX.4.33.0110061114450.14920-100000@dd.tc.fluke.com>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.LNX.4.33.0110061114450.14920-100000@dd.tc.fluke.com>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.LNX.4.33.0110061114450.14920-100000@dd.tc.fluke.com>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.LNX.4.33.0110061114450.14920-100000@dd.tc.fluke.com>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <Pine.LNX.4.33.0110061114450.14920-100000@dd.tc.fluke.com>%') 
[14] domain(bugs\.perl\.org) ?-> to(Benjamin Goldberg <goldbb2@earthlink.net>), subject(Re: patch to ext/IO/lib/IO/Socket/INET.pm fixes Bug ID (20010803.022)), cc(<perl5-porters@perl.org>) 
[15] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE bugid = '20010803.022' 
[16] REPLY reply(1) from subject: (20010803.022) :-) 
[17] Decision -> do_reply(1) REPLY reply(1) from subject: (20010803.022) :-) 
[18] cmd(M) arg(On Sat, 6 Oct 2001, Benjamin Goldberg wrote:

> > We aren't talking about substitute, but rather the match operator.

> *I* was talking about your use of:
> +    my $defport = ($port =~ s,\((\d+)\)$,,)[0];

oops, I did say that :-)

> This is talking about m// in list context, which is what enables:
>      my $pnum = ($port =~ m,^(\d+)$,)[0];
> to work.  It is *not* talking about s/// ... so there's no reason
> whatsoever to believe that:
>
> +    my $defport = ($port =~ s,\((\d+)\)$,,)[0];
>
> Should work.

I'm glad that clearer minds prevailed on and prevented the
second patch from getting in --
(I did a make test on both patches, and also I used an external test
program, but the test cases did not exersize the code in question properly.
In fact, it turned out that $defport was set to the empty string '',
so the correct value was returned.  The second patch that
I asked to be considered would have broken the ability to specify the
symbolic service name with the number in parenthesis
when the service is not known by the system. (sort of hard to
test for in a general sense)

 David) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'On Sat, 6 Oct 2001, Benjamin Goldberg wrote:

> > We aren\'t talking about substitute, but rather the match operator.

> *I* was talking about your use of:
> +    my $defport = ($port =~ s,\\((\\d+)\\)$,,)[0];

oops, I did say that :-)

> This is talking about m// in list context, which is what enables:
>      my $pnum = ($port =~ m,^(\\d+)$,)[0];
> to work.  It is *not* talking about s/// ... so there\'s no reason
> whatsoever to believe that:
>
> +    my $defport = ($port =~ s,\\((\\d+)\\)$,,)[0];
>
> Should work.

I\'m glad that clearer minds prevailed on and prevented the
second patch from getting in --
(I did a make test on both patches, and also I used an external test
program, but the test cases did not exersize the code in question properly.
In fact, it turned out that $defport was set to the empty string \'\',
so the correct value was returned.  The second patch that
I asked to be considered would have broken the ability to specify the
symbolic service name with the number in parenthesis
when the service is not known by the system. (sort of hard to
test for in a general sense)

 David'
        };
 
[19] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.01 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime:  9 wallclock secs ( 0.23 usr +  0.03 sys =  0.27 CPU)
	Alltook:  9 wallclock secs ( 0.23 usr +  0.04 sys =  0.27 CPU)
        including 13 SQL statements 
        using 1 database handle/s
	 
[20] SQL: SHOW fields FROM pb_range 
[21] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (21627) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From("chromatic" <chromatic@rmci.net>) 
			In-Reply-To()
			Message-Id(<20011007034754.21057.qmail@onion.perl.org>) 
			Reply-To() 
			Subject([PATCH MANIFEST lib/CPAN/t/Nox.t] Add Tests for CPAN::Nox) 
			To(perl5-porters@perl.org, perl-qa@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007034754.21057.qmail@onion.perl.org>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007034754.21057.qmail@onion.perl.org>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007034754.21057.qmail@onion.perl.org>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007034754.21057.qmail@onion.perl.org>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007034754.21057.qmail@onion.perl.org>%') 
[14] domain(bugs\.perl\.org) ?-> to(perl5-porters@perl.org, perl-qa@perl.org), subject([PATCH MANIFEST lib/CPAN/t/Nox.t] Add Tests for CPAN::Nox), cc() 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(All tests pass.  Low-hanging fruit.

Should I send a copy to Andreas Knig as well?

-- c

--- ~MANIFEST	Sat Oct  6 21:17:21 2001
+++ MANIFEST	Sat Oct  6 21:29:34 2001
@@ -852,6 +852,7 @@
 lib/CPAN.pm			Interface to Comprehensive Perl Archive Network
 lib/CPAN/FirstTime.pm		Utility for creating CPAN config files
 lib/CPAN/Nox.pm			Runs CPAN while avoiding compiled extensions
+lib/CPAN/t/Nox.t		See if CPAN::Nox works
 lib/CPAN/t/loadme.t		See if CPAN the module works
 lib/CPAN/t/vcmp.t		See if CPAN the module works
 lib/ctime.pl			A ctime workalike
--- /dev/null	Thu Aug 30 03:54:37 2001
+++ lib/CPAN/t/Nox.t	Sat Oct  6 20:37:45 2001
@@ -0,0 +1,27 @@
+#!./perl
+
+BEGIN {
+	chdir 't' if -d 't';
+	@INC = '../lib';
+}
+
+use Test::More tests => 8;
+
+# use this first to $CPAN::term can be undefined
+use_ok( 'CPAN' );
+undef $CPAN::term;
+
+# this kicks off all the magic
+use_ok( 'CPAN::Nox' );
+
+# this will be set if $CPAN::term is undefined
+is( $CPAN::Suppress_readline, 1, 'should set suppress readline flag' );
+
+# all of these modules have XS components, should be marked unavailable
+for my $mod (qw( Digest::MD5 LWP Compress::Zlib )) {
+	is( $CPAN::META->has_inst($mod), 0, "$mod should be marked unavailable" );
+}
+
+# and these will be set to those in CPAN
+is( @CPAN::Nox::EXPORT, @CPAN::EXPORT, 'should export just what CPAN does' );
+is( \&CPAN::Nox::AUTOLOAD, \&CPAN::AUTOLOAD, 'AUTOLOAD should be aliased' );) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'All tests pass.  Low-hanging fruit.

Should I send a copy to Andreas Knig as well?

-- c

--- ~MANIFEST	Sat Oct  6 21:17:21 2001
+++ MANIFEST	Sat Oct  6 21:29:34 2001
@@ -852,6 +852,7 @@
 lib/CPAN.pm			Interface to Comprehensive Perl Archive Network
 lib/CPAN/FirstTime.pm		Utility for creating CPAN config files
 lib/CPAN/Nox.pm			Runs CPAN while avoiding compiled extensions
+lib/CPAN/t/Nox.t		See if CPAN::Nox works
 lib/CPAN/t/loadme.t		See if CPAN the module works
 lib/CPAN/t/vcmp.t		See if CPAN the module works
 lib/ctime.pl			A ctime workalike
--- /dev/null	Thu Aug 30 03:54:37 2001
+++ lib/CPAN/t/Nox.t	Sat Oct  6 20:37:45 2001
@@ -0,0 +1,27 @@
+#!./perl
+
+BEGIN {
+	chdir \'t\' if -d \'t\';
+	@INC = \'../lib\';
+}
+
+use Test::More tests => 8;
+
+# use this first to $CPAN::term can be undefined
+use_ok( \'CPAN\' );
+undef $CPAN::term;
+
+# this kicks off all the magic
+use_ok( \'CPAN::Nox\' );
+
+# this will be set if $CPAN::term is undefined
+is( $CPAN::Suppress_readline, 1, \'should set suppress readline flag\' );
+
+# all of these modules have XS components, should be marked unavailable
+for my $mod (qw( Digest::MD5 LWP Compress::Zlib )) {
+	is( $CPAN::META->has_inst($mod), 0, "$mod should be marked unavailable" );
+}
+
+# and these will be set to those in CPAN
+is( @CPAN::Nox::EXPORT, @CPAN::EXPORT, \'should export just what CPAN does\' );
+is( \\&CPAN::Nox::AUTOLOAD, \\&CPAN::AUTOLOAD, \'AUTOLOAD should be aliased\' );'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  1 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 15 wallclock secs ( 0.23 usr +  0.02 sys =  0.24 CPU)
	Alltook: 16 wallclock secs ( 0.23 usr +  0.02 sys =  0.24 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (24041) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc() 
			From("chromatic" <chromatic@rmci.net>) 
			In-Reply-To()
			Message-Id(<20011007040729.23872.qmail@onion.perl.org>) 
			Reply-To() 
			Subject(Duplicated Code between ExtUtils::MM_Unix and File::Spec::Unix) 
			To(perl5-porters@perl.org) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[14] domain(bugs\.perl\.org) ?-> to(perl5-porters@perl.org), subject(Duplicated Code between ExtUtils::MM_Unix and File::Spec::Unix), cc() 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(In ExtUtils::MM_Unix (scary), there's a bit of code that looks strangely like
code from File::Spec::Unix.  These functions are identical, down to the
comments:

	canonpath
	catdir
	curdir
	rootdir

This one is very close, only slightly more advanced in ExtUtils::MM_Unix:
	catfile

Is this copy and paste coding that could be cleaned up?  Is MM_Unix used in
miniperl before File::Spec is available?  Would that help portability within
MM_* overall?

It'd be easier to test with less code, anyway....

-- c) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'In ExtUtils::MM_Unix (scary), there\'s a bit of code that looks strangely like
code from File::Spec::Unix.  These functions are identical, down to the
comments:

	canonpath
	catdir
	curdir
	rootdir

This one is very close, only slightly more advanced in ExtUtils::MM_Unix:
	catfile

Is this copy and paste coding that could be cleaned up?  Is MM_Unix used in
miniperl before File::Spec is available?  Would that help portability within
MM_* overall?

It\'d be easier to test with less code, anyway....

-- c'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 12 wallclock secs ( 0.21 usr +  0.02 sys =  0.23 CPU)
	Alltook: 12 wallclock secs ( 0.21 usr +  0.02 sys =  0.23 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (45760) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(Perl 5 Porters <perl5-porters@perl.org>) 
			From(Stas Bekman <stas@stason.org>) 
			In-Reply-To()
			Message-Id(<3BBFF324.8080107@stason.org>) 
			Reply-To() 
			Subject(Re: ExtUtils::MakeMaker's PREOP vs distdir execution order) 
			To("Andreas J. Koenig" <andreas.koenig@anima.de>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[14] domain(bugs\.perl\.org) ?-> to("Andreas J. Koenig" <andreas.koenig@anima.de>), subject(Re: ExtUtils::MakeMaker's PREOP vs distdir execution order), cc(Perl 5 Porters <perl5-porters@perl.org>) 
[15] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[16] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[17] cmd(quiet) arg(Andreas J. Koenig wrote:

>>>>>>On Sat, 06 Oct 2001 21:26:36 +0800, Stas Bekman <stas@stason.org> said:
>>>>>>
> 
>   >    WriteMakefile(
>   >        dist         => {
>   >                         PREOP => 'pod2text lib/Apache/Amazing.pm > README',
>   >                        },
>   >        ...
>   >    );
> 
> I think I recommended this trick to Doug, so I'm probably to blame for
> this bug. I corrected my Makefile.PL to:
> 
> 	       PREOP => 'pod2text lib/CPAN.pm > $(DISTVNAME)/README',


Thanks Andreas, but it doesn't work :( 


I don't think it helps the execution order. README is in MANIFEST and manicopy fails, because PREOP wasn't run yet:

% make dist
rm -rf Apache-Benchmark-0.01
/home/stas/perl/ithread/bin/perl5.7.2 
-MExtUtils::Manifest=manicopy,maniread \
-e "manicopy(maniread(),'Apache-Benchmark-0.01', 'best');"
mkdir Apache-Benchmark-0.01
mkdir Apache-Benchmark-0.01/t
mkdir Apache-Benchmark-0.01/lib
mkdir Apache-Benchmark-0.01/lib/Apache
mkdir Apache-Benchmark-0.01/t/conf
-e: README not found at -e line 1
Can't read README: No such file or directory
  at -e line 1
make: *** [distdir] Error 2


-- 


_____________________________________________________________________
Stas Bekman             JAm_pH      --   Just Another mod_perl Hacker
http://stason.org/      mod_perl Guide   http://perl.apache.org/guide
mailto:stas@stason.org  http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/) => ret: $VAR1 = {
          'opts' => '',
          'body' => 'Andreas J. Koenig wrote:

>>>>>>On Sat, 06 Oct 2001 21:26:36 +0800, Stas Bekman <stas@stason.org> said:
>>>>>>
> 
>   >    WriteMakefile(
>   >        dist         => {
>   >                         PREOP => \'pod2text lib/Apache/Amazing.pm > README\',
>   >                        },
>   >        ...
>   >    );
> 
> I think I recommended this trick to Doug, so I\'m probably to blame for
> this bug. I corrected my Makefile.PL to:
> 
> 	       PREOP => \'pod2text lib/CPAN.pm > $(DISTVNAME)/README\',


Thanks Andreas, but it doesn\'t work :( 


I don\'t think it helps the execution order. README is in MANIFEST and manicopy fails, because PREOP wasn\'t run yet:

% make dist
rm -rf Apache-Benchmark-0.01
/home/stas/perl/ithread/bin/perl5.7.2 
-MExtUtils::Manifest=manicopy,maniread \\
-e "manicopy(maniread(),\'Apache-Benchmark-0.01\', \'best\');"
mkdir Apache-Benchmark-0.01
mkdir Apache-Benchmark-0.01/t
mkdir Apache-Benchmark-0.01/lib
mkdir Apache-Benchmark-0.01/lib/Apache
mkdir Apache-Benchmark-0.01/t/conf
-e: README not found at -e line 1
Can\'t read README: No such file or directory
  at -e line 1
make: *** [distdir] Error 2


-- 


_____________________________________________________________________
Stas Bekman             JAm_pH      --   Just Another mod_perl Hacker
http://stason.org/      mod_perl Guide   http://perl.apache.org/guide
mailto:stas@stason.org  http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/'
        };
 
[18] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Runtime:  9 wallclock secs ( 0.22 usr +  0.02 sys =  0.24 CPU)
	Alltook:  9 wallclock secs ( 0.23 usr +  0.02 sys =  0.25 CPU)
        including 12 SQL statements 
        using 1 database handle/s
	 
[19] SQL: SHOW fields FROM pb_range 
[20] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (48925) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc("Andreas J. Koenig"
    <andreas.koenig@anima.de>, Perl 5 Porters <perl5-porters@perl.org>) 
			From(andreas.koenig@anima.de (Andreas J. Koenig)) 
			In-Reply-To(<3BBFF324.8080107@stason.org>)
			Message-Id(<m33d4whrse.fsf@anima.de>) 
			Reply-To() 
			Subject(Re: ExtUtils::MakeMaker's PREOP vs distdir execution order) 
			To(Stas Bekman <stas@stason.org>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <m33d4whrse.fsf@anima.de>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <m33d4whrse.fsf@anima.de>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <m33d4whrse.fsf@anima.de>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <m33d4whrse.fsf@anima.de>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <m33d4whrse.fsf@anima.de>%') 
[14] domain(bugs\.perl\.org) ?-> to(Stas Bekman <stas@stason.org>), subject(Re: ExtUtils::MakeMaker's PREOP vs distdir execution order), cc("Andreas J. Koenig"
    <andreas.koenig@anima.de>, Perl 5 Porters <perl5-porters@perl.org>) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x853cfa8)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <3BBFF324.8080107@stason.org>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(>>>>> On Sun, 07 Oct 2001 14:16:04 +0800, Stas Bekman <stas@stason.org> said:

  > README is in MANIFEST and manicopy fails, because
  > PREOP wasn't run yet:

Rats, you're right. What if you create a dummy README in the working
directory. It should be overwritten in the $(DISTVNAME)/ directory
then.

-- 
andreas) => ret: $VAR1 = {
          'opts' => '',
          'body' => '>>>>> On Sun, 07 Oct 2001 14:16:04 +0800, Stas Bekman <stas@stason.org> said:

  > README is in MANIFEST and manicopy fails, because
  > PREOP wasn\'t run yet:

Rats, you\'re right. What if you create a dummy README in the working
directory. It should be overwritten in the $(DISTVNAME)/ directory
then.

-- 
andreas'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 10 wallclock secs ( 0.23 usr +  0.04 sys =  0.27 CPU)
	Alltook: 10 wallclock secs ( 0.24 usr +  0.04 sys =  0.28 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 
[0] INIT 2.86 (50043) debug(01sx) scr(/home/perlbug/Live/scripts/bugtron) 
[1] /home/perlbug/Live/scripts/bugtron: 
			Cc(perl5-porters@perl.org) 
			From(andreas.koenig@anima.de (Andreas J. Koenig)) 
			In-Reply-To(<20011007040729.23872.qmail@onion.perl.org>)
			Message-Id(<m3y9mogd2s.fsf@anima.de>) 
			Reply-To() 
			Subject(Re: Duplicated Code between ExtUtils::MM_Unix and File::Spec::Unix) 
			To("chromatic" <chromatic@rmci.net>) 
			X-Perlbug()
		 
[2] SQL: SHOW fields FROM pb_thing 
[3] SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail' 
[4] SQL: SHOW fields FROM pb_bug 
[5] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3y9mogd2s.fsf@anima.de>%') 
[6] SQL: SHOW fields FROM pb_note 
[7] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3y9mogd2s.fsf@anima.de>%') 
[8] SQL: SHOW fields FROM pb_patch 
[9] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3y9mogd2s.fsf@anima.de>%') 
[10] SQL: SHOW fields FROM pb_test 
[11] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3y9mogd2s.fsf@anima.de>%') 
[12] SQL: SHOW fields FROM pb_message 
[13] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <m3y9mogd2s.fsf@anima.de>%') 
[14] domain(bugs\.perl\.org) ?-> to("chromatic" <chromatic@rmci.net>), subject(Re: Duplicated Code between ExtUtils::MM_Unix and File::Spec::Unix), cc(perl5-porters@perl.org) 
[15] reusing CACHED SQL: SELECT DISTINCT name FROM pb_thing WHERE type LIKE 'mail'(ARRAY(0x86005c8)) 
[16] SQL: SELECT DISTINCT bugid FROM pb_bug WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[17] SQL: SELECT DISTINCT noteid FROM pb_note WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[18] SQL: SELECT DISTINCT patchid FROM pb_patch WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[19] SQL: SELECT DISTINCT testid FROM pb_test WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[20] SQL: SELECT DISTINCT messageid FROM pb_message WHERE UPPER(header) LIKE UPPER('%Message-Id: <20011007040729.23872.qmail@onion.perl.org>%') 
[21] IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[22] Decision -> do_quiet(0) IGNORE quiet(0): invalid perlbug data, potential p5p miscellanea or spam) :-|
 
[23] cmd(quiet) arg(>>>>> On Sat, 06 Oct 2001 22:01:38 -0600, "chromatic" <chromatic@rmci.net> said:

  > In ExtUtils::MM_Unix (scary), there's a bit of code that looks strangely like
  > code from File::Spec::Unix.

Historically it was the other way round, but yes, the code in MM was
considered to go away as soon as File::Spec was stable.

  > Is this copy and paste coding that could be cleaned up?

Yes, that would be a good step forward.

-- 
andreas) => ret: $VAR1 = {
          'opts' => '',
          'body' => '>>>>> On Sat, 06 Oct 2001 22:01:38 -0600, "chromatic" <chromatic@rmci.net> said:

  > In ExtUtils::MM_Unix (scary), there\'s a bit of code that looks strangely like
  > code from File::Spec::Unix.

Historically it was the other way round, but yes, the code in MM was
considered to go away as soon as File::Spec was stable.

  > Is this copy and paste coding that could be cleaned up?

Yes, that would be a good step forward.

-- 
andreas'
        };
 
[24] /home/perlbug/Live/scripts/bugtron debug(01sx)
	Startup:  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Loaded :  0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)
	Runtime: 11 wallclock secs ( 0.23 usr +  0.03 sys =  0.26 CPU)
	Alltook: 11 wallclock secs ( 0.23 usr +  0.03 sys =  0.26 CPU)
        including 17 SQL statements 
        using 1 database handle/s
	 
[25] SQL: SHOW fields FROM pb_range 
[26] SQL: SELECT DISTINCT rangeid FROM pb_range WHERE TO_DAYS(modified) < (TO_DAYS(SYSDATE()) -10) 

