Subject: | Fails finding modules when .packlist contains relative paths (patch included) |
--- FatPacker.pm 2013-11-27 23:25:58.000000000 +0200
+++ FatPacker.pm 2014-03-06 21:05:40.000000000 +0200
@@ -151,7 +151,7 @@
no_chdir => 1,
wanted => sub {
return unless /[\\\/]\.packlist$/ && -f $_;
- $pack_rev{$_} = $File::Find::name for lines_of $File::Find::name;
+ $pack_rev{Cwd::realpath($_)} = $File::Find::name for lines_of $File::Find::name;
},
}, @search);
my %found; @found{map +($pack_rev{Cwd::abs_path($INC{$_})}||()), @targets} = ();
@@ -181,6 +181,7 @@
}
die "Couldn't figure out base path of packlist ${pl}" unless $pack_base;
foreach my $source (lines_of $pl) {
+ $source = Cwd::realpath($source);
# there is presumably a better way to do "is this under this base?"
# but if so, it's not obvious to me in File::Spec
next unless substr($source,0,length $pack_base) eq $pack_base;