Skip Menu |

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

Report information
The Basics
Id: 45816
Status: resolved
Worked: 1 hour (60 min)
Priority: 0/
Queue: ExtUtils-MakeMaker

People
Owner: ETJ [...] cpan.org
Requestors: dolmen [...] cpan.org
Cc:
AdminCc:

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



Subject: Can't install if existing .packlist is not readable
On posix systems, 'make install' fails if $Config{archlibexp}/auto/${module}/.packlist exists but is not readable. This blocks the installation of more recent version of a root-installed package in an non-root-owned location. Test case: - install Storable as root - install a newer version of Storable as a non root user in ~/perl : perl Makefile.PL INSTALL_BASE=~/perl INSTALLARCHLIB=~/perl/lib/perl5/IA64.ARCHREV_0-thread-multi-LP64 INSTALLSITEARCH=~/perl/lib/perl5/IA64.ARCHREV_0-thread-multi-LP64 VENDORARCHEXP=~/perl/lib/perl5/IA64.ARCHREV_0-thread-multi-LP64 VENDORLIBEXP=~/perl/lib/perl5 SITEARCHEXP=~/perl/lib/perl5/IA64.ARCHREV_0-thread-multi-LP64 SITELIBEXP=~/perl/lib/perl5 INSTALLPRIVLIB=~/perl/lib/perl5 INSTALLBIN=~/perl/bin INSTALLSCRIPT=~/perl/bin INSTALLMAN1DIR=~/perl/man/man1 INSTALLMAN3DIR=~/perl/man/man3 INSTALLHTMLDIR=~/perl/html INSTALLHTML1DIR=~/perl/html/bin INSTALLHTML3DIR=~/perl/html/lib 'make install' fails because $Config{archlibexp}/auto/Storable/.packlist is not readable (see bug RT45815)
When read access is given to all users (chmod a+r), 'make install' succeed. Here is how to fix all your .packlist: perl -MConfig -MFile::Find -e 'find(sub{$_ eq ".packlist" && print "$File::Find::name\n"}, $Config{archlibexp})' | xargs chmod a+r
Subject: Re: [rt.cpan.org #45816] Can't install if existing .packlist is not readable
Date: Thu, 07 May 2009 10:41:42 -0700
To: bug-ExtUtils-MakeMaker [...] rt.cpan.org
From: Michael G Schwern <schwern [...] pobox.com>
Olivier 'dolmen' Mengué via RT wrote: Show quoted text
> On posix systems, 'make install' fails if > $Config{archlibexp}/auto/${module}/.packlist exists but is not readable. > > This blocks the installation of more recent version of a root-installed > package in an non-root-owned location. > > > > Test case: > - install Storable as root > - install a newer version of Storable as a non root user in ~/perl : > perl Makefile.PL INSTALL_BASE=~/perl > INSTALLARCHLIB=~/perl/lib/perl5/IA64.ARCHREV_0-thread-multi-LP64 > INSTALLSITEARCH=~/perl/lib/perl5/IA64.ARCHREV_0-thread-multi-LP64 > VENDORARCHEXP=~/perl/lib/perl5/IA64.ARCHREV_0-thread-multi-LP64 > VENDORLIBEXP=~/perl/lib/perl5 > SITEARCHEXP=~/perl/lib/perl5/IA64.ARCHREV_0-thread-multi-LP64 > SITELIBEXP=~/perl/lib/perl5 INSTALLPRIVLIB=~/perl/lib/perl5 > INSTALLBIN=~/perl/bin INSTALLSCRIPT=~/perl/bin > INSTALLMAN1DIR=~/perl/man/man1 INSTALLMAN3DIR=~/perl/man/man3 > INSTALLHTMLDIR=~/perl/html INSTALLHTML1DIR=~/perl/html/bin > INSTALLHTML3DIR=~/perl/html/lib > > 'make install' fails because $Config{archlibexp}/auto/Storable/.packlist > is not readable (see bug RT45815)
45815 is not a bug. This is the bug. Installing into a different INSTALL_BASE or PREFIX shouldn't be having anything to do with the system installation. The stuff that looks for the packlists should be prefixified like everything else. -- On error resume stupid
Using EUMM 7.04. If I replace your "~/perl" with "/tmp/zanzibar", and try to reproduce the bug, using "make install NOECHO=", I get: [...] "/usr/bin/perl" "-Iblib/arch" "-Iblib/lib" -MExtUtils::Install -e 'install([ from_to => {@ARGV}, verbose => '\''0'\'', uninstall_shadows => '\''0'\'', dir_mode => '\''755'\'' ]);' -- \ read "/tmp/zanzibar/lib/perl5/IA64.ARCHREV_0-thread-multi-LP64/auto/ExtUtils/MakeMaker/.packlist" \ write "/tmp/zanzibar/lib/perl5/IA64.ARCHREV_0-thread-multi-LP64/auto/ExtUtils/MakeMaker/.packlist" \ [...] Looks like this one has been fixed along the line.