Hardlinks seem not to be handled correctly. See this bug report: https://code.google.com/p/libarchive/issues/detail?id=362 More information about hardlinks and libarchive: https://github.com/libarchive/libarchive/wiki/Hardlinks We have this problem also on gnome-boxes and Gnomes file-roller. I'll post the links to the appropriate bug reports once they exist; no need for double work. (This problem occurs also with nome-oxes and Gnome file-roller Reproducible: Always Steps to Reproduce: 1. Download http://download.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/x86_64/iso/Fedora-20-x86_64-DVD.iso 2. Open the ISO 3. Try to extract /isolinux/initrd.img (link to images/pxeboot/initrd.img) Actual Results: An error occurs. Expected Results: Should extract the linked file images/pxeboot/initrd.img
See also: https://bugzilla.gnome.org/show_bug.cgi?id=730818 https://bugzilla.gnome.org/show_bug.cgi?id=720741 as they have the same problem.
Please note that I solved the hardlink problem for GNOME Boxes in vala, see https://bug730640.bugzilla-attachments.gnome.org/attachment.cgi?id=282158 for my code. Would probably just need simple translation from vala to whateveryouuse for this to work in ark. (Just grep for hardlink in the source.)
Hi Lasse, Thanks for the report. By "an error occurs" I guess you mean Ark currently silently fails to extract anything in the steps you've described, right? I'm not sure I agree that the expected result should be that the destination file should be extracted though; I'm tending to just follow what both libarchive's bsdtar and GNU tar do and show an error message if one tries to extract a hard link without extracting the destination as well.
(In reply to Raphael Kubo da Costa from comment #3) > Hi Lasse, > > Thanks for the report. By "an error occurs" I guess you mean Ark currently > silently fails to extract anything in the steps you've described, right? Correct. > I'm not sure I agree that the expected result should be that the destination > file should be extracted though; I'm tending to just follow what both > libarchive's bsdtar and GNU tar do and show an error message if one tries to > extract a hard link without extracting the destination as well. Well IIRC essentially on the filesystem a hardlink shouldn't differ from the real file so from that perspective there is no difference between the "original" and the "hardling", this difference gets only introduced when packing it into the archive. So IMO that should mirrored back to the filesystem as it was originally.