Skip Menu |

This queue is for tickets about the ExtUtils-MakeMaker CPAN distribution.

Report information
The Basics
Id: 33775
Status: resolved
Priority: 0/
Queue: ExtUtils-MakeMaker

People
Owner: Nobody in particular
Requestors: SMPETERS [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: MakeMaker doesn't play nice on MacOSX - case sensitivity of "core"
Here's a ticket from the Perl Core... MakeMaker generates Makefiles whose "make clean" function executes "rm -rf" indiscriminately on anything likely to be a temporary file. This includes the file "core". Unfortunately, MacOSX by default uses case-preserving-but-insensitive files, so entire module subtrees that match /^(.*::)?Core(::.*)?$/i are automatically removed by "make clean" under MacOSX. Ideally, MakeMaker should distinguish between things that are likely to be temporary directories and things that are likely to be temporary files. The former should be "rm -rf"ed and the latter should be merely "rm -f"ed. That would eliminate the problem while still eliminating temporary files. Well, OK, ideally MacOS would support case sensitivity by default, but in light of the fact it doesn't, MakeMaker ought to be a little more careful about trampling things called "Core". ----Perl -V output follows---- Summary of my perl5 (revision 5 version 8 subversion 6) configuration: Platform: osname=darwin, osvers=8.0, archname=darwin-thread-multi-2level uname='darwin b48.apple.com 8.0 darwin kernel version 8.3.0: mon oct 3 20:04 :04 pdt 2005; root:xnu-792.6.22.obj~2release_ppc power macintosh powerpc ' config_args='-ds -e -Dprefix=/usr -Dccflags=-g -pipe - Dldflags=-Dman3ext=3 pm -Duseithreads -Duseshrplib' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=de fine useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-g -pipe -fno-common -DPERL_DARWIN -no-cpp- precomp -fno-s trict-aliasing -I/usr/local/include', optimize='-O3', cppflags='-no-cpp-precomp -g -pipe -fno-common -DPERL_DARWIN -no- cpp-precomp -fno-strict-aliasing -I/usr/local/include' ccversion='', gccversion='4.0.1 (Apple Computer, Inc. build 5363) (+4864187) ', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize =8 alignbytes=8, prototype=define Linker and Libraries: ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags ='-L/usr/ local/lib' libpth=/usr/local/lib /usr/lib libs=-ldbm -ldl -lm -lc perllibs=-ldl -lm -lc libc=/usr/lib/libc.dylib, so=dylib, useshrplib=true, libperl=libperl.dylib gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-bundle -undefined dynamic_lookup -L/ usr/local/li b' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_ CONTEXT Locally applied patches: 23953 - fix for File::Path::rmtree CAN-2004-0452 security issue 33990 - fix for setuid perl security issues SPRINTF0 - fixes for sprintf formatting issues - CVE-2005-3962 Built under darwin Compiled at Dec 7 2006 09:01:25 %ENV: PERL5LIB="/sw/lib/perl5:/sw/lib/perl5/darwin" @INC: /sw/lib/perl5 /sw/lib/perl5/darwin /System/Library/Perl/5.8.6/darwin-thread-multi-2level /System/Library/Perl/5.8.6 /Library/Perl/5.8.6/darwin-thread-multi-2level /Library/Perl/5.8.6 /Library/Perl /Network/Library/Perl/5.8.6/darwin-thread-multi-2level /Network/Library/Perl/5.8.6 /Network/Library/Perl /System/Library/Perl/Extras/5.8.6/darwin-thread-multi-2level /System/Library/Perl/Extras/5.8.6 /Library/Perl/5.8.1 .
Looks like this was fixed back in 2004. commit ba84587281da0c6cfa03d3b6ccabb37f2a0bd1c8 Author: schwern <schwern@8151f2b9-fde8-0310-94fd-f048d12aab9e> Date: Sun Dec 19 01:25:44 2004 +0000 Have clean and realclean distinguish between directories and files. Only use $(RM_RF) on directories to avoid accidentally blowing away a dir that looks like a MakeMaker generated file (such as a directory called perl). Remove redundant $self->{PM} and INST_* cleanup from realclean. clean already blows away blib. Have clean blow away the actual INST_ directories rather than assuming they will be blib. This may have repercusions in the Perl core as instead of installing files they just set INST_LIB to ../../lib. git-svn-id: http://svn.schwern.org/repos/CPAN/ExtUtils-MakeMaker/trunk@2201 8151f2b9-fde8-0310-94fd-f048d12aab9e