Skip Menu |

This queue is for tickets about the Archive-Tar CPAN distribution.

Report information
The Basics
Id: 7937
Status: resolved
Priority: 0/
Queue: Archive-Tar

People
Owner: Nobody in particular
Requestors: SREZIC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: (no value)
Fixed in: (no value)



Subject: Multiple symlinks not stored correctly
If two symlinks point to the same physical file, then only one symlink is created by Archive::Tar. See the attached file for a test case. Regards, Slaven
use Archive::Tar; unlink $_ for qw(a1 l1 l2); system("echo bla > a1"); symlink "a1", $_ for qw(l1 l2); my $tar = Archive::Tar->new; $tar->add_files(qw(a1 l1 l2)); $tar->write("/tmp/foo.tar"); # compare result with that of: # tar cf foo.tar a1 l1 l2
Thanks for reporting. This is now fixed in version 1.21 of Archive::Tar, which is propagating to CPAN mirrors as we speak. Here's the relevant bit of the README: This release holds only bugfixes. - Make the size of symlinks be 0 in tar headers, so the next entry is not interpreted as contents of the symlink (bug #7937) - Strip high bits from the mode of the file, as they are stored differently in the tar header - Make Archive::Tar be kinder to archives that contain garbage, proceeding anyway as long as that's possible.