
FWIW, the tar format is a mess, which is part of why I chose to bind to libarchive (with all the difficulties) instead of writing my own library. There’s a nice post here: https://www.cyphar.com/blog/post/20190121-ociv2-images-i-tar https://www.cyphar.com/blog/post/20190121-ociv2-images-i-tar There’s also archive-sig (http://hackage.haskell.org/package/archive-sig http://hackage.haskell.org/package/archive-sig) which tries to be a “common interface” via backpack and has implementations such as archive-tar-bytestring (http://hackage.haskell.org/package/archive-tar-bytestring http://hackage.haskell.org/package/archive-tar-bytestring) that can be swapped out with libarchive/tar proper so you don’t need to commit to any one library. Cheers, Vanessa McHale
On Apr 7, 2020, at 11:50 AM, hasufell
wrote: Friends,
'tar' [0][1] is an excellent native haskell implementation of the tar format. However, there are currently a lot of unattended issues:
* unicode filepaths broken due to Char8 use [2] * executable bits handled improperly [3] * no support for long filepath extension [4][5] * doesn't handle hardlinks properly [6] * handles symbolic links too strictly [7]
Most of these issues are 2 to 4 years old, some of them have PRs that have never been reviewed.
'tar' fails to unpack our own ghc bindists even [4]. I consider it, in this state, too unreliable for production use. Since it is in the 'haskell' namespace on github and probably the first hit on hackage, this needs to be improved quickly, IMO.
Users currently can use tar-bytestring [8] (no windows support) or libarchive [9] (not a native implementation), but 'tar' should ultimately be fixed and maintained properly.
-- [0] https://hackage.haskell.org/package/tar [1] https://github.com/haskell/tar [2] https://github.com/haskell/tar/issues/6 [3] https://github.com/haskell/tar/issues/25 [4] https://github.com/haskell/tar/issues/49 [5] https://github.com/haskell/tar/issues/27 [6] https://github.com/haskell/tar/issues/51 [7] https://github.com/haskell/tar/issues/32 [8] https://github.com/hasufell/tar-bytestring [9] https://hackage.haskell.org/package/libarchive --
Cheers, Julian _______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries