./archivers/hs-tar, Reading, writing, and manipulating .tar archive files

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.6.2.0nb1, Package name: hs-tar-0.6.2.0nb1, Maintainer: pho

This library is for working with ".tar" archive files. It can read and
write a range of common variations of archive format including V7,
POSIX USTAR and GNU formats.

It provides support for packing and unpacking portable archives. This
makes it suitable for distribution but not backup because details like
file ownership and exact permissions are not preserved.

It also provides features for random access to archive content using
an index.


Required to run:
[lang/ghc88]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 52.029 KB

Version history: (Expand)


CVS history: (Expand)


   2024-04-29 05:57:17 by Masatake Daimon | Files touched by this commit (4)
Log message:
archivers/hs-tar: Update to 0.6.2.0

0.6.2.0 Bodigrim andrew.lelechenko@gmail.com March 2024
  * Fix issues with Unicode support in filenames.

0.6.1.0 Bodigrim andrew.lelechenko@gmail.com January 2024
  * Support Unicode in filenames (encoded as UTF-8).
  * Reduce peak memory consumption when unpacking large files.

0.6.0.0 Bodigrim andrew.lelechenko@gmail.com December 2023
  This release features support for long file paths and symlinks (thanks to
  Julian Ospald) and variety of changes and improvements across entire
  package, fixing multiple causes of silent data corruption.

  Breaking changes:

  * Generalize Entries, Entry and EntryContent to GenEntries, GenEntry and
    GenEntryContent.
    - Functions working on entries have been generalized to more
      polymorphic types, where possible.
    - Modules which used to import Codec.Archive.Tar (Entry(..)) should now
      import Codec.Archive.Tar (Entry, pattern Entry) and similar for other
      Gen-types. Another option is to import the entire module qualified.
  * Redesign Codec.Archive.Tar.Check.
    - Change types of checkSecurity, checkTarbomb, checkPortability.
    - Add offending path as new field to TarBombError constructor.
    - Extend FileNameError with UnsafeLinkTarget constructor.
  * Drop deprecated emptyIndex and finaliseIndex.

  Examples of migration:

  * hackage-security: \ 
https://github.com/haskell/hackage-security/commit/24693ce115c9769fe3c6ec9ca1d137d14d0d27ff
  * archive-backpack: \ 
https://github.com/vmchale/archive-backpack/commit/4b3d1bdff15fcf044d6171ca649a930c775d491b
  * keter:            \ 
https://github.com/snoyberg/keter/commit/20a33d9276d5781ca6993b857d8d097085983ede
  * libarchive:       \ 
https://github.com/vmchale/libarchive/commit/c0e101fede924a6e12f1d726587626c48444e65d
  * cabal-install:    \ 
https://github.com/haskell/cabal/commit/51e6483f95ecb4f395dce36e47af296902a75143
  * ghcup:            \ 
https://github.com/haskell/ghcup-hs/commit/6ae312c1f9dd054546e4afe4c969c37cd54b09a9
  * hackage-server:   \ 
https://github.com/haskell/hackage-server/commit/6b71d1659500aba50b6a1e48aa53039046720af8

  Bug fixes:

  * Add support for over-long filepaths via GNU extension.
    - Now entryPath corresponds to an internal, low-level path, limited to
      255 characters. To list filenames properly use decodeLongNames,
      followed by entryTarPath.
  * Fix handling of hardlinks and symlinks.
  * Handle > 8 GB files insted of silent corruption.
  * Prohibit non-ASCII file names instead of silent corruption.
  * Set permissions on extracted files.
  * Ignore FAT32 errors when setting modification time.
  * Switch to trailer parsing mode only after a full block of NUL.

  New API:

  * Add Traversable Entries instance.
  * Add toTarPath', ToTarPathResult, longLinkEntry, longSymLinkEntry.
  * Add packSymlinkEntry and symbolicLinkPermission.
  * Add packAndCheck and unpackAndCheck.
  * Add checkEntrySecurity, checkEntryTarbomb and checkEntryPortability.
  * Add encodeLongNames, decodeLongNames, DecodeLongNamesError.

  Improvements:

  * Speed up fromTarPath, fromTarPathToPosixPath and
    fromTarPathToWindowsPath.
  * Alleviate leakage of file handles in packFileEntry.
  * Fix tests on 32-bit architectures.
   2023-11-02 07:37:49 by Masatake Daimon | Files touched by this commit (1141)
Log message:
Revbump all Haskell after updating lang/ghc96
   2023-10-27 10:19:43 by Masatake Daimon | Files touched by this commit (1)
Log message:
archivers/hs-tar: Fix build with GHC 9.6
   2023-10-09 06:55:01 by Masatake Daimon | Files touched by this commit (988)
Log message:
Bump Haskell packages after updating lang/ghc94
   2023-01-25 10:57:39 by Masatake Daimon | Files touched by this commit (4)
Log message:
archivers/hs-tar: Fix build with GHC 9.4
   2022-02-26 04:58:36 by Masatake Daimon | Files touched by this commit (872)
Log message:
Bump all Haskell packages after enabling "split sections" in mk/haskell.mk
   2022-02-12 09:51:00 by Masatake Daimon | Files touched by this commit (575)
Log message:
revbump after changing the default Haskell compiler
   2022-02-11 14:03:52 by Masatake Daimon | Files touched by this commit (2)
Log message:
Fix build with GHC 9.2