Skip Menu |

This queue is for tickets about the File-Path CPAN distribution.

Report information
The Basics
Id: 105977
Status: resolved
Estimated: 10 min
Priority: 0/
Queue: File-Path

People
Owner: RICHE [...] cpan.org
Requestors: KENTNL [...] cpan.org
Cc:
AdminCc:

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



Subject: Upgrade failure on Perl 5.6.2

The module builds and passes tests and installs, but post-installation the previous version still takes precedence.

 

grep 'VERSION' $( perl -e 'print qq[$_/File/Path.pm\n] for @INC' )
grep: /home/perl-smoke/perl5/perlbrew/perls/perl-5.6.2/lib/5.6.2/x86_64-linux/File/Path.pm: No such file or directory
/home/perl-smoke/perl5/perlbrew/perls/perl-5.6.2/lib/5.6.2/File/Path.pm:our $VERSION = "1.0404";
grep: /home/perl-smoke/perl5/perlbrew/perls/perl-5.6.2/lib/site_perl/5.6.2/x86_64-linux/File/Path.pm: No such file or directory
/home/perl-smoke/perl5/perlbrew/perls/perl-5.6.2/lib/site_perl/5.6.2/File/Path.pm:use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
/home/perl-smoke/perl5/perlbrew/perls/perl-5.6.2/lib/site_perl/5.6.2/File/Path.pm:$VERSION   = '2.11';
/home/perl-smoke/perl5/perlbrew/perls/perl-5.6.2/lib/site_perl/5.6.2/File/Path.pm:$VERSION   = eval $VERSION;
/home/perl-smoke/perl5/perlbrew/perls/perl-5.6.2/lib/site_perl/5.6.2/File/Path.pm:=head1 VERSION
 

On Mon Jul 20 08:32:52 2015, KENTNL wrote: Show quoted text
> The module builds and passes tests and installs, but post-installation > the > previous version still takes precedence. > > grep 'VERSION' $( perl -e 'print qq[$_/File/Path.pm\n] for @INC' ) > grep: > /home/perl-smoke/perl5/perlbrew/perls/perl-5.6.2/lib/5.6.2/x86_64- > linux/File/Path.pm: > No such file or directory > /home/perl-smoke/perl5/perlbrew/perls/perl- > 5.6.2/lib/5.6.2/File/Path.pm:our > $VERSION = "1.0404"; > grep: > /home/perl-smoke/perl5/perlbrew/perls/perl- > 5.6.2/lib/site_perl/5.6.2/x86_64-linux/File/Path.pm: > No such file or directory > /home/perl-smoke/perl5/perlbrew/perls/perl- > 5.6.2/lib/site_perl/5.6.2/File/Path.pm:use > vars qw($VERSION @ISA @EXPORT @EXPORT_OK); > /home/perl-smoke/perl5/perlbrew/perls/perl- > 5.6.2/lib/site_perl/5.6.2/File/Path.pm:$VERSION > = '2.11'; > /home/perl-smoke/perl5/perlbrew/perls/perl- > 5.6.2/lib/site_perl/5.6.2/File/Path.pm:$VERSION > = eval $VERSION; > /home/perl-smoke/perl5/perlbrew/perls/perl- > 5.6.2/lib/site_perl/5.6.2/File/Path.pm:=head1 > VERSION
This is clearly using the wrong INSTALLDIRS value. Instead of «$] >= 5.008001 ? 'perl' : 'site'» it should be «$] <= 5.011000 ? 'perl' : 'site'». Leon
On Mon Jul 20 09:25:23 2015, LEONT wrote: Show quoted text
> On Mon Jul 20 08:32:52 2015, KENTNL wrote:
> > The module builds and passes tests and installs, but post- > > installation > > the > > previous version still takes precedence. > > > > grep 'VERSION' $( perl -e 'print qq[$_/File/Path.pm\n] for @INC' ) > > grep: > > /home/perl-smoke/perl5/perlbrew/perls/perl-5.6.2/lib/5.6.2/x86_64- > > linux/File/Path.pm: > > No such file or directory > > /home/perl-smoke/perl5/perlbrew/perls/perl- > > 5.6.2/lib/5.6.2/File/Path.pm:our > > $VERSION = "1.0404"; > > grep: > > /home/perl-smoke/perl5/perlbrew/perls/perl- > > 5.6.2/lib/site_perl/5.6.2/x86_64-linux/File/Path.pm: > > No such file or directory > > /home/perl-smoke/perl5/perlbrew/perls/perl- > > 5.6.2/lib/site_perl/5.6.2/File/Path.pm:use > > vars qw($VERSION @ISA @EXPORT @EXPORT_OK); > > /home/perl-smoke/perl5/perlbrew/perls/perl- > > 5.6.2/lib/site_perl/5.6.2/File/Path.pm:$VERSION > > = '2.11'; > > /home/perl-smoke/perl5/perlbrew/perls/perl- > > 5.6.2/lib/site_perl/5.6.2/File/Path.pm:$VERSION > > = eval $VERSION; > > /home/perl-smoke/perl5/perlbrew/perls/perl- > > 5.6.2/lib/site_perl/5.6.2/File/Path.pm:=head1 > > VERSION
> > This is clearly using the wrong INSTALLDIRS value. Instead of «$] >= > 5.008001 ? 'perl' : 'site'» it should be «$] <= 5.011000 ? 'perl' : > 'site'». > > Leon
Well, that's messed up. I think it must have been an issue for quite some time, I don't think we changed it recently. I will pop out a dev release this evening with the fix.
On Mon Jul 20 10:37:41 2015, RICHE wrote: Show quoted text
> On Mon Jul 20 09:25:23 2015, LEONT wrote:
> > On Mon Jul 20 08:32:52 2015, KENTNL wrote:
> > > The module builds and passes tests and installs, but post- > > > installation > > > the > > > previous version still takes precedence. > > > > > > grep 'VERSION' $( perl -e 'print qq[$_/File/Path.pm\n] for @INC' ) > > > grep: > > > /home/perl-smoke/perl5/perlbrew/perls/perl-5.6.2/lib/5.6.2/x86_64- > > > linux/File/Path.pm: > > > No such file or directory > > > /home/perl-smoke/perl5/perlbrew/perls/perl- > > > 5.6.2/lib/5.6.2/File/Path.pm:our > > > $VERSION = "1.0404"; > > > grep: > > > /home/perl-smoke/perl5/perlbrew/perls/perl- > > > 5.6.2/lib/site_perl/5.6.2/x86_64-linux/File/Path.pm: > > > No such file or directory > > > /home/perl-smoke/perl5/perlbrew/perls/perl- > > > 5.6.2/lib/site_perl/5.6.2/File/Path.pm:use > > > vars qw($VERSION @ISA @EXPORT @EXPORT_OK); > > > /home/perl-smoke/perl5/perlbrew/perls/perl- > > > 5.6.2/lib/site_perl/5.6.2/File/Path.pm:$VERSION > > > = '2.11'; > > > /home/perl-smoke/perl5/perlbrew/perls/perl- > > > 5.6.2/lib/site_perl/5.6.2/File/Path.pm:$VERSION > > > = eval $VERSION; > > > /home/perl-smoke/perl5/perlbrew/perls/perl- > > > 5.6.2/lib/site_perl/5.6.2/File/Path.pm:=head1 > > > VERSION
> > > > This is clearly using the wrong INSTALLDIRS value. Instead of «$] >= > > 5.008001 ? 'perl' : 'site'» it should be «$] <= 5.011000 ? 'perl' : > > 'site'». > > > > Leon
> > > Well, that's messed up. I think it must have been an issue for quite > some time, I don't think we changed it recently. I will pop out a dev > release this evening with the fix.
Please see the discussion in https://rt.perl.org/Ticket/Display.html?id=116479. In that ticket, we had an ongoing project to correct the INSTALLDIRS value for packages distributed with the Perl 5 core. I was one of the contributors to that project. Based on the discussion in that ticket, I believe the correct invocation is: INSTALLDIRS => ($] < 5.011 ? 'perl' : 'site'), See this pull request: https://github.com/rpcme/File-Path/pull/28 Note: I used perlbrew to get to a 5.6.2 installation, then called 'perl Makefile.PL && make && make test'. All tests passed (albeit with some warnings now being thrown -- but that's an issue for another ticket). I then said: ##### $ make install Installing /home/jkeenan/perl5/perlbrew/perls/perl-5.6.2/lib/5.6.2/File/Path.pm Installing /home/jkeenan/perl5/perlbrew/perls/perl-5.6.2/man/man3/File::Path.3 Writing /home/jkeenan/perl5/perlbrew/perls/perl-5.6.2/lib/5.6.2/x86_64-linux/auto/File/Path/.packlist Appending installation info to /home/jkeenan/perl5/perlbrew/perls/perl-5.6.2/lib/5.6.2/x86_64-linux/perllocal.pod ##### After that I said: ##### $ perl -MFile::Path -e 'print $File::Path::VERSION, "\n";' 2.11 ##### But please double check this, as I have rarely said 'make install' against a perlbrew-installed perl of such age as 5.6.2. Thank you very much. Jim Keenan
This has been merged to HEAD https://github.com/rpcme/File-Path/commit/6cff3b8a10f0e61489f5d09e96257d6875c68ad3 I will need to build 5.6 to verify, but the change seems reasonable.
On Wed Jul 22 10:54:32 2015, RICHE wrote: Show quoted text
> This has been merged to HEAD > > https://github.com/rpcme/File- > Path/commit/6cff3b8a10f0e61489f5d09e96257d6875c68ad3 > > I will need to build 5.6 to verify, but the change seems reasonable.
Verified fixed on HEAD.