Subject: | deal with relative paths in @INC |
Date: | Wed, 3 Apr 2013 14:45:48 -0700 |
To: | bug-app-fatpacker <bug-app-fatpacker [...] rt.cpan.org> |
From: | Tatsuhiko Miyagawa <miyagawa [...] gmail.com> |
When there's a relative path in @INC (e.g. with
-Mlib=./local/lib/perl5), FatPacker died with `Can't open
local/lib/perl5/.../.packlist` even if the file exists, because of
File::Find's chdir, and $File::Find::name is yet relative.
This patch adds 'no_chdir' option to File::Find to stop chdir'ing to
the directories, and then expand the %INC entries to fullpath with
Cwd::abs_path, so that it will hopefully match with what you have in
.packlist content.
Reproduce:
cpanm -l local Plack
perl -Mlib=local/lib/perl5 -S fatpack packlists-for Plack.pm
Before this patch:
Can't open local/lib/perl5/darwin-2level/auto/Plack/.packlist: No
such file or directory at
/Users/miyagawa/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/App/FatPacker.pm
line 32.
BEGIN failed--compilation aborted at
/Users/miyagawa/perl5/perlbrew/perls/perl-5.16.2/bin/fatpack line 3.
After this patch:
local/lib/perl5/darwin-2level/auto/Plack/.packlist
Patch:
https://github.com/miyagawa/App-FatPacker/compare/master...packlist-abs
Merge:
git pull https://github.com/miyagawa/App-FatPacker packlist-abs
--
Tatsuhiko Miyagawa