develooper Front page | perl.perl5.porters | Postings from September 2000

[ID 20000925.002] MakeMaker stomps args in %Prepend_dot_dot

From:
Jason E. Stewart
Date:
September 25, 2000 09:44
Subject:
[ID 20000925.002] MakeMaker stomps args in %Prepend_dot_dot
Message ID:
20000925164346.22203.qmail@web5305.mail.yahoo.com
My original message was stopped, because my site was
listed as SPAM haven...

jas.

> This is a bug report for perl from jasons@localhost,
> generated with the help of perlbug 1.28 running
> under perl v5.6.0.
> 
> 
>
-----------------------------------------------------------------
> My Genex module defines a 'cgi' subdirectory with
> the following
> Makefile.PL:
> 
> WriteMakefile(
>     'EXE_FILES'     => ['cgi1.pl', 'cgi2.pl],
>     'INSTALLSCRIPT' => '/usr/lib/cgi/bin/genex',
>     'INST_SCRIPT'   => 'cgi',
>     'NAME'	    => 'cgi',
>     'VERSION_FROM'  => '../Genex.pm.in',
> );
> 
> However, in MakeMaker.pm INST_SCRIPT gets stomped at
> line 395:
> 
>     if (defined $Parent[-2]){
> 	$self->{PARENT} = $Parent[-2];
> 	my $key;
> 	for $key (keys %Prepend_dot_dot) {
> 	    next unless defined $self->{PARENT}{$key};
> STOMP ==>   $self->{$key} = $self->{PARENT}{$key};
> 	    ...
> 
> No check is made to see if $self->{$key} is
> redefined in the child,
> instead the parent key automatically overwrites it.
> Shouldn't this
> read:
> 
>     if (defined $Parent[-2]){
> 	$self->{PARENT} = $Parent[-2];
> 	my $key;
> 	for $key (keys %Prepend_dot_dot) {
> 	    next unless defined $self->{PARENT}{$key};
> NOSTOMP ==> $self->{$key} = $self->{PARENT}{$key}
> unless exists $self->{$key};
> 	    ...
> 
> Thanks,
> jason stewart
>
-----------------------------------------------------------------
> ---
> Flags:
>     category=library
>     severity=medium
> ---
> Site configuration information for perl v5.6.0:
> 
> Configured by jasons at Tue Aug 15 19:08:57 MST
> 2000.
> 
> Summary of my perl5 (revision 5.0 version 6
> subversion 0) configuration:
>   Platform:
>     osname=linux, osvers=2.2.17, archname=ppc-linux
>     uname='linux amadeus 2.2.17 #1 tue jul 18
> 17:51:27 pdt 2000 ppc unknown '
>     config_args=''
>     hint=recommended, 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='cc', optimize='-O2', gccversion=2.95.2
> 20000220 (Debian GNU/Linux)
>     cppflags='-fno-strict-aliasing
> -I/usr/local/include'
>     ccflags ='-fno-strict-aliasing
> -I/usr/local/include -D_LARGEFILE_SOURCE
> -D_FILE_OFFSET_BITS=64'
>     stdchar='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=8
>     alignbytes=8, usemymalloc=n, prototype=define
>   Linker and Libraries:
>     ld='cc', ldflags =' -L/usr/local/lib'
>     libpth=/usr/local/lib /lib /usr/lib
>     libs=-lnsl -lndbm -ldb -ldl -lm -lc -lposix
> -lcrypt
>     libc=/lib/libc-2.1.3.so, so=so,
> useshrplib=false, libperl=libperl.a
>   Dynamic Linking:
>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef,
> ccdlflags='-rdynamic'
>     cccdlflags='-fpic', lddlflags='-shared
> -L/usr/local/lib'
> 
> Locally applied patches:
>     
> 
> ---
> @INC for perl v5.6.0:
>     /usr/local/lib/perl5/5.6.0/ppc-linux
>     /usr/local/lib/perl5/5.6.0
>     /usr/local/lib/perl5/site_perl/5.6.0/ppc-linux
>     /usr/local/lib/perl5/site_perl/5.6.0
>     /usr/local/lib/perl5/site_perl
>     .
> 
> ---
> Environment for perl v5.6.0:
>     HOME=/home/jasons
>     LANG=C
>     LANGUAGE (unset)
>    
>
LD_LIBRARY_PATH=:/home/jasons/work/xml-xerces/c/lib:/home/jasons/work/xml-xerces/c/lib
>     LOGDIR (unset)
>    
>
PATH=/home/jasons/bin:/home/jasons/work/xml-xerces/c/bin:.:/usr/local/bin:/sbin:/usr/X11R6/bin:/usr/sbin:/bin:/usr/bin:
>     PERL_BADLANG (unset)
>     SHELL=/bin/bash
> 


__________________________________________________
Do You Yahoo!?
Send instant messages & get email alerts with Yahoo! Messenger.
http://im.yahoo.com/




nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About