Subject: | Hardlink creation called with relative path |
Date: | Tue, 20 Jan 2015 22:58:20 +0000 |
To: | "bug-Archive-Tar [...] rt.cpan.org" <bug-archive-tar [...] rt.cpan.org> |
From: | Robert Powers <buttafoo [...] hotmail.com> |
Archive::Tar version: 2.04
Perl version: v5.18.2 - built for darwin-thread-multi-2level (Mac OS 10.10)
When creating a hardlink and setting $tar->setcwd() but staying in the current
working directory, hardlinks fail to be created. I've attached a script to illustrate
(untar_bug2.pl)
I added a few print statements to Archive::Tar and it's calling link() like this (note the relative directory in the first argument):
link("untar_bug2/my/path/file.txt", "/tmp/untar_dir2/untar_bug2/my/path/OneMoreSub/file.txt")
in the invoking directory (~/src), not the tar directory (/tmp/untar_bug2)
if I print $! I get: No such file or directory.
ERROR: Making hard link from 'untar_bug2/my/path/file.txt' to '/tmp/untar_dir2/untar_bug2/my/path/OneMoreSub/file.txt' failed at /Library/Perl/5.18/Archive/Tar.pm line 953.
Archive::Tar::_make_special_file(Archive::Tar=HASH(0x7f94488060e8), Archive::Tar::File=HASH(0x7f9449a57498), "/tmp/untar_dir2/untar_bug2/my/path/OneMoreSub/file.txt") called at /Library/Perl/5.18/Archive/Tar.pm line 871
Archive::Tar::_extract_file(Archive::Tar=HASH(0x7f94488060e8), Archive::Tar::File=HASH(0x7f9449a57498)) called at /Library/Perl/5.18/Archive/Tar.pm line 535
Archive::Tar::_read_tar(Archive::Tar=HASH(0x7f94488060e8), IO::Zlib=GLOB(0x7f9449345b58), HASH(0x7f9449345690)) called at /Library/Perl/5.18/Archive/Tar.pm line 217
Archive::Tar::read(Archive::Tar=HASH(0x7f94488060e8), "/tmp/untar_bug2.tar.gz", 1, HASH(0x7f9449345690)) called at /Users/ropo/src/untar_bug2.pl line 28
main::untar_tar() called at /Users/ropo/src/untar_bug2.pl line 15
Message body is not shown because sender requested not to inline it.