Subject: Re: pkg/32812: Perl broken in 2005Q4: open with shell metas fails
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Anne Bennett <anne@porcupine.montreal.qc.ca>
List: pkgsrc-bugs
Date: 02/13/2006 23:45:02
The following reply was made to PR pkg/32812; it has been noted by GNATS.

From: Anne Bennett <anne@porcupine.montreal.qc.ca>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/32812: Perl broken in 2005Q4: open with shell metas fails
Date: Mon, 13 Feb 2006 18:40:56 -0500

 >>> Synopsis:       Perl broken in 2005Q4: open with shell metas fails
 > 
 > Here's some additional information.  [...] there seem to be quite a few
 > differences between the two, but the most striking ones are that
 > mine did not use threads, nor does it have the SPRINTF0 patch.  I
 > wonder if this is somehow thread-related.
 
 Further notes:
 
 I tried a "make test", and one test fails (results appended), but
 that seems to be a red herring.  That is, I can cause "make test"
 to succeed by commenting these three lines out of the Makefile:
 
     PATCHFILES=        sprintf-5.8.7.patch
     PATCH_SITES=       ${MASTER_SITE_PERL_CPAN:=../../authors/id/N/NW/NWCLARK/}
     PATCH_DIST_STRIP= -p1
 
 ... but this has no effect on my little test, so the vendor patch
  is not the cause of the shell metacharacter problem.
 
 I tried very hard to make a version without thread support, but I
 could not figure out how to do this (I tried setting PKG_OPTIONS.perl
 in /etc/mk.conf, but I can't find the right setting to turn threads
 off).  During the course of this, I sometimes got versions that
 passed my "minitest".  At the moment, it looks as though the
 newly-installed perl works until I do "make clean" in the source
 tree, and then it starts failing.  There must be some unexpected
 dependency, or I'm not testing properly.  I'll have to try to trace it.
 
 I'll keep you posted if I find anything useful.
 
 
 Anne.
 -- 
 Ms. Anne Bennett, as a private citizen:  anne@porcupine.montreal.qc.ca
 Also reachable more officially at work:  anne@encs.concordia.ca
 ----------------------------------------------------------------------
 
 lib/warnings..............................PROG: 
 # sv.c
 use warnings 'printf' ;
 open F, ">".($^O eq 'VMS'? 'NL:' : '/dev/null') ;
 printf F "%z\n" ;
 my $a = sprintf "%z" ;
 printf F "%" ;
 $a = sprintf "%" ;
 printf F "%\x02" ;
 $a = sprintf "%\x02" ;
 no warnings 'printf' ;
 printf F "%z\n" ;
 $a = sprintf "%z" ;
 printf F "%" ;
 $a = sprintf "%" ;
 printf F "%\x02" ;
 $a = sprintf "%\x02" ;
 EXPECTED:
 Invalid conversion in sprintf: "%z" at - line 5.
 Invalid conversion in sprintf: end of string at - line 7.
 Invalid conversion in sprintf: "%\002" at - line 9.
 Invalid conversion in printf: "%z" at - line 4.
 Invalid conversion in printf: end of string at - line 6.
 Invalid conversion in printf: "%\002" at - line 8.
 GOT:
 Invalid conversion in printf: "%z" at - line 4.
 Invalid conversion in sprintf: "%z" at - line 5.
 Invalid conversion in printf: end of string at - line 6.
 Invalid conversion in sprintf: end of string at - line 7.
 Invalid conversion in printf: "%\002" at - line 8.
 Invalid conversion in sprintf: "%\002" at - line 9.
 # Failed at ../lib/warnings.t line 186
 FAILED at test 443
 
 ----------------------------------------------------------------------