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

Report information
The Basics
Id:
105977
Status:
resolved
Estimated:
10 minutes
Priority:
Low/Low
Queue:

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

BugTracker
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.


This service runs on Request Tracker, is sponsored by The Perl Foundation, and maintained by Best Practical Solutions.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.