Archive-Tar-Builder

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

Version 2.5006

    * Fix FreeBSD build errors (RT #116667)

    * Fix issue with truncated symlink destinations w/GNU extensions
      (RT #115370)

Version 2.5005

    * Fix issues with corrupted Perl call stack after handling a certain
      number of files with hard links enabled

Version 2.5004

    * Keep member name of hardlinks, not physical path

Version 2.5003

    * Implement 'preserve_hardlinks' flag in Archive::Tar::Builder->new() to
      trigger this new behavior

    * Implement Archive::Tar::Builder::HardlinkCache to keep track of device
      and inode numbers and the path which was originally seen when
      producing the tarball; only regular files with a link count greater
      than 1 are stored and looked up in the cache

    * In unit tests, change permissions of subdirectories of directories
      created by File::Temp created with 0000 permissions to 0600 to allow
      File::Temp to successfully delete them at the end of execution

    * Add missing POD for posix_extensions flag

    * Implement support for saving device inode major and minor numbers

Version 2.0000

    * Change to a versioning scheme more friendly to the mysterious
      black box known as PAUSE

    * Don't fail on EACCES when stat()ing file

Version 1.9

    * Fix a bug in b_find() wherein some error recovery code tried to destroy
      the same object twice, potentially

Version 1.8

    [redacted for secret government purposes]

Version 1.7

    * Fix a variety of unit tests which depended on GNU tar availability as
      indicated by CPANTS; make provisions for BSD tars as well

    * Make t/lib-Archive-Tar-Builder_bitfile.t only run when TEST_BIGFILE=1 is
      specified

    * Don't produce archives with mismatched file sizes

    * Implement 'gnu_extensions' flag to make support for arbitrarily long
      filenames an explicit feature to enable, so as to help end developers
      avoid producing archives that cannot be extracted by their native tar

    * Set $! to ENAMETOOLONG when long filenames are detected and the
      aforementioned 'gnu_extensions' flag is not specified

    * Set $! to EINVAL when truncated files are detected

    * Fix an issue in b_error_set() wherein the message actually got clobbered
      due to a missing 'return' statement

    * Retool $builder->archive_as() to display error names for archive members,
      rather than their original filenames, in appropriate circumstances

Version 1.6

    * Avoid stat() calls on files excluded from archive

Version 1.5

    * Correct handling of files between 4 GiB & 8 GiB, inclusive

Version 1.4

    * Do not croak() on a warning

Version 1.3

    * Remove 2 GB file limit

Version 1.2

    * Correct handling of member names in LongLink blocks

    * Correct handling of filenames between 100 and 156 characters

Version 1.1

    * Correct suffix length calculation for directories, so directory path
      is set to archive_as value instead of absolutely path.

Version 1.0

    * Implement a large shared buffer; alleviate the need to copy tar file
      headers and file contents from one place to another when reading and
      writing

    * Allow reading from the filesystem and writing to tar streams in large
      blocks, thanks to a large shared buffer; no more reading and writing in
      blocks of 512 bytes at a time, which becomes rather slow for very large
      files

    * Remove the need to memcpy() a new file header buffer for each file

    * Allow the caller to specify a blocking factor in the constructor
      Archive::Tar::Builder->new(), in multiples of 512 bytes

    * Introduce a new Archive::Tar::Builder usage pattern; instead of allowing
      caller to add "members" to the archive, new archive members are written
      on-the-fly with the archive() and archive_as() methods, which are much
      friendlier to making tarball streams from arbitrary parts of a filesystem

    * Add 'flush()' method to Archive::Tar::Builder; allow caller to flush
      buffers at the end of an archive

    * Add 'finish()' method to Archive::Tar::Builder; allow caller to flush
      buffers and die() if any errors are encountered at the end of an archive

    * Use breadth-first, not depth-first, recursion in src/b_find.c, to prevent
      loss of items upon extraction

    * Add a 'follow_symlinks' option to Archive::Tar::Builder->new()

    * Resolve an issue wherein certain long paths are split incorrectly

    * Strip any leading slashes from paths generated while archiving



( run in 2.364 seconds using v1.01-cache-2.11-cpan-8f98c5d2c55 )