ChangeLog from upstream:
* important changes in version 1.82 21/11/2011 (CDRAKE)
- Adjustments to handle files >8gb (>0777777777777 octal)
- Feature to return the MD5SUM of files in the archive
This package has a history of repacking the tarball, but checking the
same name. Apparently, it has happened twice before, and this a third
time. Regenerating the distinfo allows the package to build again,
whereas before the distinfo file was unretreivable.
DragonFly couldn't build GNU Sharutils. Upon inspection, it was seen
that the last version in pkgsrc was at least 11 years old. This commit
updates the GNU Sharutils to the latest version without patches.
Tested on DragonFly and NetBSD. The Linux condition dealing with the
glibc gettext workaround was removed with the assumption that this is
no longer needed, but somebody else should test and verify this.
Select changes since 4.2 (according to NEWS):
=============================================
4.3.50: new trans: cs da el es gl ru tr zh_TW
updated: de fr ja nl sv
4.3.51: Norwegian split to no/@nynorsk to nb and nn
Updated library files and m4 macros from fileutils-4.1.9
4.3.52: Fix Y2K bug (shar)
Fix temp file race (shar)
(N/A) allow spaces in file names (uudecode)
4.3.60: Better -Z option handling for systems without compress
4.3.61: Unspecified bugs fixes
4.3.70: Update de tr translations
(N/A) fix uudecode output handling
Turn off compress link default
4.3.71: Update da de translations
4.3.72: Update fr sv translations
4.3.73: Add support for large files (e.g. > 2 Gib on 32-bit hosts)
4.3.74: Updated fr translation
Unspecified portabilitity fixes
4.3.75: New translations: ca et hu
Updated translations: da de ja sv tr zh_TW.
Add bzip2 support
Fix unspecified compatiblity issues
4.3.76: Updated translations: de et fr sv tr
4.3.77: Fixed buffer overrun exploit
4.3.78: infrastructure updates
4.3.79: New temporary file handling to avoid buffer overrun exploit and
theoretical timing hole (unshar)
Unspecified new translations added + updates
4.3.80: Fix temporary file unlink bug
4.3.81: True64 compatibility fix
4.4: intmax_t checks added
4.5: Fix unspecified bug in unshar
Update usage examples
4.5.1: Fix memory usage bug in shar
4.5.2: Fix test and update some translations
4.5.3: Add unspecified translation, update another
Move to libtool 1.5.20
4.6: New Japanese translation
4.6.1: Translation cleanup, infrastructure changes
4.6.2: Better output diagnostics
4.6.3: Recognize "end\r\n" as equal to "end" and "end\n"
Fix readdir duplicate declaration
4.7.1: (N/A) uudecode no longer creates output file names with trailing
white space.
4.9: Fix shar script shell quoting issues with translations
4.10: Handle clobber option correctly in generated scripts
4.11: Remove mailshar because mail-files was broken
tar ball handling) from 1.76 to 1.80.
Upstream changes:
* important changes in version 1.80 13/10/2011
- patch from Rocky Bernstein to add file chown() method [rt#71221]
* important changes in version 1.78 08/09/2011
- patch from Rocky Bernstein to add chown() method [rt#70623]
- blead patch from Alexandr Ciornii to resolve [perl#78708]
Zutils is a collection of utilities able to deal with any combination
of compressed and non-compressed files transparently. If any given
file, including standard input, is compressed, its decompressed
content is used. Compressed files are decompressed on the fly; no
temporary files are created. These utilities are not wrapper scripts
but safer and more efficient C++ programs. In particular the
"--recursive" option is very efficient in those utilities supporting it.
The provided utilities are:
Zcat - Decompresses and copies files to standard output.
Zcmp - Decompresses and compares two files byte by byte.
Zdiff - Decompresses and compares two files line by line.
Zgrep - Decompresses and searches files for a regular expression.
Ztest - Tests integrity of compressed files.
* lzdiff and lzgrep are now separate package, zutils (not packaged yet).
Changelog:
2011-04-30 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.12 released.
* main.cc: Added new option `-F, --recompress'.
* encoder.h (update_prices): Update high length symbol prices
independently of the value of `pos_state'. This gives better
compression for large values of `--match-length' without being
slower.
* encoder.h encoder.cc: Optimize pair price calculations. This
reduces compression time for large values of `--match-length'
by up to 6%.
* Compression time of option `-0' has been reduced by 2%.
* main.cc (decompress): Print only one status line for each
multimember file when only one `-v' is specified.
* main.cc (decompress): Print up to 6 bytes of trailing garbage
when `-vvvv' is specified.
* main.cc (open_instream): Do not show the message
" and `--stdout' was not specified" for directories, etc.
* lziprecover.cc: If `-v' is not specified show errors only.
* testsuite/unzcrash.cc: Use Arg_parser.
* testsuite/unzcrash.cc: Added new options `-b', `-p' and `-s'.
2010-09-16 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.11 released.
* Added new option `-0' which produces a compression speed and
ratio comparable to those of `gzip -9'.
* fast_encoder.h fast_encoder.cc: New files.
* main.cc: Match length limit set by options -1 to -8 has been
reduced to extend range of use towards gzip. Lower numbers now
compress less but faster. (-1 now takes 43% less time for only
20% larger compressed size).
* encoder.cc: Compression of option -9 has been slightly increased.
* lziprecover.cc: Added new option `--merge' which tries to
produce a correct file merging the good parts of two or more
damaged copies.
* lziprecover.cc: Added new option `--repair' for repairing a
1-byte error in single-member files.
* decoder.cc (decode_member): Detect file errors earlier to
improve efficiency of lziprecover's new repair capability.
This change also prevents (harmless) access to uninitialized
memory when decompressing a corrupt file.
* lziprecover.cc: Added new option `--force'.
* lziprecover.cc: Added new option `--output'.
* lziprecover.cc: Added new option `--split' to select the until
now only operation of splitting multimember files.
* lziprecover.cc: If no operation is specified, warn the user
and do nothing.
* main.cc: Fixed warning about fchown's return value being ignored.
* decoder.cc: `-tvvvv' now also shows compression ratio.
* main.cc: Set stdin/stdout in binary mode on MSVC and OS2.
* New examples have been added to the manual.
* testsuite: `test1' renamed to `test.txt'. Added new tests.
* Matchfinder types HC4 (4 bytes hash-chain) and HT4 (4 bytes
hash-table) have been tested and found no better than the
current BT4.
2010-04-05 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.10 released.
* decoder.h: Input_buffer integrated in Range_decoder.
* main.cc: File specified with option `-o' is now created with
mode 0666 if umask allows it, deleted if interrupted by user.
* main.cc: New constant `o_binary'.
* main.cc: Dictionary size for options -2, -3, -4 and -8 has
been changed to improve linearity of compressed sizes.
* lzip.h: Fixed warnings produced by over-optimization (-O3).
* Makefile.in: Added quotes to directory names.
2010-01-17 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.9 released.
* main.cc (main): Return at least 1 if closing stdout fails.
* Makefile.in: Added `--name' option to help2man invocation.
* testsuite/check.sh: Use `test1' instead of `COPYING' for testing.
2009-09-02 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.8 released.
* Compression time has been reduced by 4%.
* Lzdiff and lzgrep have been moved to the new package zutils.
* Fixed warnings on sistems where uint32_t != unsigned int.
a new version number. New DIST_SUBDIR, bump PKGREVISION to 2.
------
Relase notes for SZIP 2.1
July 14, 2010
Bug fixes:
-- None.
New features:
-- CMake support added, which allows for shared or static builds.
ruby-xz is a basic binding for liblzma that allows you to create and
extract XZ-compressed archives. It can cope with big files as well as
small ones, but doesn't offer much of the possibilities liblzma itself
has.
Changes in 1.1.5 (Jul 16, 2011)
- Fixed excessive output permissions while compress/decompress
is in progress (bug #807536)
Changes in 1.1.4 (Apr 22, 2011)
- Fixed hang on decompress with --ignore-trailing-garbage=1 when
producer is interrupted on trailing garbage (bug #762464)
- Added example to help for decompression piped to tar (bug #746806)
- Fixed typo in Trailing Garbage printed message (bug #746799)
Changes in 1.1.3 (Mar 27, 2011)
- Print trailing garbage errors even when in quiet mode (bug #743635)
- Default extension on decompress of .tbz2 changed to .tar for
bzip2 compatibility (bug #743639)
- Fixed hang on decompress with --ignore-trailing-garbage=1 and higher
numCPU (e.g. > 2) (bug #740502)
Changes in 1.1.2 (Feb 19, 2011)
- Fix directdecompress segfault when destination file can't be
opened (e.g. read-only) (bug #717852)
- Implemented --ignore-trailing-garbage feature (bug #594868)
- Fixed hang on decompress of some truncated archives (bug #590225)
- Pulled an error check out of normal logic block for clarity
- Debug print added after BZ2_bzDecompress to track it's return code.
- A debug print fixed in queue::remove
- Increased max memory usage limit from 1GB to 2GB
- If no -m switch given on command line, default max memory limit
will now automatically increase from 100 MB to minimum amount
of memory required to support the number of CPUs requested
- Improved performance when output buffer is full
- Fixed bug which caused hang while decompressing prematurely
truncated bzip2 stream
- Consumer_decompress throttling modified to prevent potential
deadlock/infinite loop in certain situations (Thanks to Laszlo
Ersek for finding and helping track down the cause of this bug)
- Fixed deadlock bug and performance issue when consumer working
with long bzip2 sequences (Thanks to Tanguy Fautre for finding)
- Fixed error message for block size range (max size was wrong)
- Moved #include <pthread.h> from pbzip2.cpp to pbzip2.h to fix
OS/2 compiler issue
Changes in 1.1.1 (Apr 17, 2010)
- Modified decompression to use low-level libbz2 API to improve
performance of long bzip2 streams of large single-stream bzip2
blocks
- This release should now decompress files created with bzip2
at least as fast as bzip2 or slightly faster
- Handle decompression of long bzip2 streams incrementally
instead of loading whole stream in memory at once
- Fixed issue in safe_cond_timed_wait which caused segmentation
fault when compiled in DEBUG mode
- Fixed issue with Sun Studio compiler - required explicit
declaration of static const members in .cpp
Changes in 1.1.0 (Mar 13, 2010)
- Added support for multi-threaded decompression using STDIN/pipes
- Added code to support throttling compression to prevent memory
exhaustion with slow output pipe
- Added -m switch to specify max memory usage amount before
throttling starts (default 100MB)
- Fixed bug that did not allow command line parameters to be used
when compressing data from STDIN
- Added long options to man page and -h output
- Added --loadavg, --read long options
- Added support for CPU detection on Win32
- Major improvements to protection of shared variables, error and
signal handling, program termination
- Added -S switch for thread stack size customization
(needs USE_STACKSIZE_CUSTOMIZATION defined when compiling)
- Fixed command line parsing bug for -b, -p, -m switches
- Fixed infinite loop when fileWriter fails to create output
file at start
- Fixed bug that deleted input filename (with .bz2 extension for
compression and without .bz2 extension for decompression) when
a user interrupts process with CTRL-C while outputting to STDOUT
- Fixed bug where 0 byte files were not processed properly when
data input from STDIN
- Ignores fwrite return and passes chown errors in writeFileMetaData
if effective uid root
- OutputBuffer usage redesigned as fixed-size circular buffer
- Lots of minor bugs fixed (see AUTHORS or pbzip2.cpp for full details)
- Special thanks to Yavor Nikolov for providing the majority of
contributions to this release and a significant amount of testing
clang objects. Other half of last weekend's patch, which I apparently
erased by accident (or something) before committing.
While here also patch up some illegal type mixing in tr2.c that gcc
warns about.
* liblzma fixes:
- A memory leak was fixed.
- lzma_stream_buffer_encode() no longer creates an empty .xz
Block if encoding an empty buffer. Such an empty Block with
LZMA2 data would trigger a bug in 5.0.1 and older (see the
first bullet point in 5.0.2 notes). When releasing 5.0.2,
I thought that no encoder creates this kind of files but
I was wrong.
- Validate function arguments better in a few functions. Most
importantly, specifying an unsupported integrity check to
lzma_stream_buffer_encode() no longer creates a corrupt .xz
file. Probably no application tries to do that, so this
shouldn't be a big problem in practice.
- Document that lzma_block_buffer_encode(),
lzma_easy_buffer_encode(), lzma_stream_encoder(), and
lzma_stream_buffer_encode() may return LZMA_UNSUPPORTED_CHECK.
- The return values of the _memusage() functions are now
documented better.
* Fix command name detection in xzgrep. xzegrep and xzfgrep now
correctly use egrep and fgrep instead of grep.
* French translation was added.
* A bug in the LZX decompressor was fixed.
* cabextract is now more tolerant when processing cabinet sets.
* cabextract is now compatible with even more compilers, and
now supports 64-bit file I/O on platforms where it's completely
native, like Mac OS X 10.6 and Fedora x86_64.
* cabextract will no longer print "library not compiled to support
large files" while reading small files.
* The Windows CE installation format document was improved.
* Fix the --verify option, which broke in version 1.24.
* Fix storing long sparse file names in PAX archives.
* Fix correctness of --atime-preserve=replace.
* Work around POSIX incompatibilities on FreeBSD, NetBSD and Tru64.
* Fix bug with --one-file-system --listed-incremental.
* Converted the configure system to non-recursive Automake.
* Applied some overdue speed optimizations for modern x86/x64 architectures
and current compilers like gcc 4.6 and MSVC 2010.
* LZMA2 decompressor now correctly accepts LZMA2 streams with no
uncompressed data. Previously it considered them corrupt. The
bug can affect applications that use raw LZMA2 streams. It is
very unlikely to affect .xz files because no compressor creates
.xz files with empty LZMA2 streams. (Empty .xz files are a
different thing than empty LZMA2 streams.)
* "xz --suffix=.foo filename.foo" now refuses to compress the
file due to it already having the suffix .foo. It was already
documented on the man page, but the code lacked the test.
* "xzgrep -l foo bar.xz" works now.
* Polish translation was added.
0.10 [2010/03/18]
* Added zip_get_num_files(), deprecated zip_get_num_entries().
* Better windows support.
* Support for traditional PKWARE encryption added.
* Fix opening archives with more than 65535 entries.
* Fix some memory leaks.
* Fix cmake build and installation
* Fix memory leak in error case in zip_open()
* Fixed CVE-2011-0421 (no security implications though)
* More documentation.
* Assorted minor updates.
Changes in 1.02rc1:
* Made lzop compile with LZO v2.
* Under Windows files are now opened using the _O_SEQUENTIAL flag,
which results in a major speedup when (de)compressing large files.
* Under MacOS X, the configure script now will use the '-no-cpp-precomp'
compiler option in order to work around bugs in Apple's native
"smart" preprocessor.
* File sizes > 2GB are correctly displayed.
* 7-Zip now supports LZMA2 compression method.
* 7-Zip now can update solid .7z archives.
* 7-Zip now supports XZ archives.
* 7-Zip now supports PPMd compression in ZIP archives.
* 7-Zip now can unpack NTFS, FAT, VHD, MBR, APM, SquashFS, CramFS, MSLZ
archives.
* 7-Zip now can unpack GZip, BZip2, LZMA, XZ and TAR archives from stdin.
* 7-Zip now can unpack some TAR and ISO archives with incorrect headers.
* 7-Zip now supports files that are larger than 8 GB in TAR archives.
* NSIS and WIM support was improved.
* Partial parsing for EXE resources, SWF and FLV.
* The support for archives in installers was improved.
* 7-Zip now can stores NTFS file timestamps to ZIP archives.
* Speed optimizations in PPMd codec.
* Speed optimizations in CRC calculation code for Intel's Atom CPUs.
* New -scrc switch to calculate total CRC-32 during extracting / testing.
* 7-Zip File Manager now doesn't use temp files to open nested archives stored
without compression.
* Disk fragmentation problem for ZIP archives created by 7-Zip was fixed.
* Some bugs were fixed.
* New localizations: Hindi, Gujarati, Sanskrit, Tatar, Uyghur, Kazakh.
* Not in p7zip : Speed optimizations in AES code for Intel's 32nm CPUs.
* xz --force now (de)compresses files that have setuid, setgid,
The man page had it documented this way already, but the code
had a bug.
* gzip and bzip2 support in xzdiff was fixed.
* Portability fixes
* Minor fix to Czech translation
NetBSD-current and Solaris 10 (tested by tez@), the other one was
adding a --no-unlink-first option that was added because NetBSD's
version of tar had made --unlink-first default. Since this default
was changed quite some time ago and the option never was in upstream,
remove it.
Bump PKGREVISION.
version 1.25 - Sergey Poznyakoff, 2010-11-07
* Fix extraction of empty directories with the -C option in effect.
* Fix extraction of device nodes.
* Make sure name matching occurs before eventual name transformation.
Tar 1.24 changed the ordering of name matching and name transformation
so that the former saw already transformed file names. This made it
impossible to match file names in certain cases. It is fixed now.
* Fix the behavior of tar -x --overwrite on hosts lacking O_NOFOLLOW.
* Improve the testsuite.
* Alternative decompression programs.
If extraction from a compressed archive fails because the corresponding
compression program is not installed and the following two conditions
are met, tar retries extraction using an alternative decompressor:
1. Another compression program supported by tar is able to handle this
compression format.
2. The compression program was not explicitly requested in the command
line by the use of such options as -z, -j, etc.
For example, if `compress' is not available, tar will try `gzip'.
version 1.24 - Sergey Poznyakoff, 2010-10-24
* The --full-time option.
New command line option `--full-time' instructs tar to output file
time stamps to the full resolution.
* Bugfixes.
** More reliable directory traversal when creating archives
Tar now checks for inconsistencies caused when a file system is
modified while tar is creating an archive. In the new approach, tar
maintains a cache of file descriptors to directories, so it uses more
file descriptors than before, but it adjusts to system limits on
the number of file descriptors. Tar also takes more care when
a file system is modified while tar is extracting from an archive.
The new checks are implemented via the openat and related calls
standardized by POSIX.1-2008. On an older system where these calls do
not exist or do not return useful results, tar emulates the calls at
some cost in efficiency and reliability.
** Symbolic link attributes
When extracting symbolic links, tar now restores attributes such as
last-modified time and link permissions, if the operating system
supports this. For example, recent versions of the Linux kernel
support setting times on symlinks, and some BSD kernels also support
symlink permissions.
** --dereference consistency
The --dereference (-h) option now applies to files that are copied
into or out of archives, independently of other options. For example,
if F is a symbolic link and archive.tar contains a regular-file member
also named F, "tar --overwrite -x -f archive.tar F" now overwrites F
itself, rather than the file that F points to. (To overwrite the file
that F points to, add the --dereference (-h) option.) Formerly,
--dereference was intended to apply only when using the -c option, but
the implementation was not consistent.
Also, the --dereference option no longer affects accesses to other
files, such as archives and time stamp files. Symbolic links to these
files are always followed. Previously, the links were usually but not
always followed.
** Spurious error diagnostics on broken pipe.
When receiving SIGPIPE, tar would exit with error status and
"write error" diagnostics. In particular, this occurred if
invoked as in the example below:
tar tf archive.tar | head -n 1
** --remove-files
`Tar --remove-files' failed to remove a directory which contained
symlinks to another files within that directory.
** --test-label behavior
In case of a mismatch, `tar --test-label LABEL' exits with code 1,
not 2 as it did in previous versions.
The `--verbose' option used with `--test-label' provides additional
diagnostics.
Several volume labels may be specified in a command line, e.g.:
tar --test-label -f archive 'My volume' 'New volume' 'Test volume'
In this case, tar exits with code 0 if any one of the arguments
matches the actual volume label.
** --label used with --update
The `--label' option can be used with `--update' to prevent accidental
update of an archive:
tar -rf archive --label 'My volume' .
This did not work in previous versions, in spite of what the docs said.
** --record-size and --tape-length (-L) options
Usual size suffixes are allowed for these options. For example,
-L10k stands for a 10 kilobyte tape length.
** Fix dead loop on extracting existing symlinks with the -k option.
* important changes in version 1.72 18/11/2010
- Apply patch from Grant McLean to update docs for
ptargrep
* important changes in version 1.70 15/11/2010
- Add ptargrep utility courtesy of Grant McLean
* The memory usage limit is now disabled by default.
* Added support for XZ_DEFAULTS environment variable.
* The compression settings associated with the preset levels
-0 ... -9 have been changed. --extreme was changed a little too.
* If a preset level (-0 ... -9) is specified after a custom filter
chain options have been used (e.g. --lzma2), the custom filter
chain will be forgotten. Earlier the preset options were
completely ignored after custom filter chain options had been seen.
* xz will create sparse files when decompressing if the uncompressed
data contains long sequences of binary zeros.
* Support for "xz --list" was added. Combine with --verbose or
--verbose --verbose (-vv) for detailed output.
* I had hoped that liblzma API would have been stable after
4.999.9beta, but there have been a couple of changes in the
advanced features, which don't affect most applications:
- Index handling code was revised. If you were using the old
API, you will get a compiler error (so it's easy to notice).
- A subtle but important change was made to the Block handling
API. lzma_block.version has to be initialized even for
lzma_block_header_decode(). Code that doesn't do it will work
for now, but might break in the future, which makes this API
change easy to miss.
* The major soname has been bumped to 5.0.0. liblzma API and ABI
are now stable, so the need to recompile programs linking against
liblzma shouldn't arise soon.
Libarchive is a programming library that can create and read several
different streaming archive formats, including most popular tar
variants, several cpio formats, and both BSD and GNU ar variants.
* Use lang/ruby/gem.mk.
= Version 0.9.4
Changed ZipOutputStream.put_next_entry signature (API CHANGE!). Now
allows comment, extra field and compression method to be specified.
= Version 0.9.3
Fixed: Added ZipEntry::name_encoding which retrieves the character
encoding of the name and comment of the entry. Also added convenience
methods ZipEntry::name_in(enc) and ZipEntry::comment_in(enc) for
getting zip entry names and comments in a specified character
encoding.
= Version 0.9.2
Fixed: Renaming an entry failed if the entry's new name was a
different length than its old name. (Diego Barros)
Upstream changes:
* important changes in version 1.68 17/08/2010
- Apply a patch from Colin Newell that checks whether long files can be created or
not in 02_methods.t. Hopefully resolves RT #57312 and RT #56163
to trigger/signal a rebuild for the transition 5.10.1 -> 5.12.1.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=..."), minus the packages updated after
the perl package update.
sno@ was right after all, obache@ kindly asked and he@ led the
way. Thanks!
pkgsrc changes:
- mark package included in Perl5 CORE
Upstream changes:
* important changes in version 1.66 26/07/2010
- Applied a patch from Alexandr Ciornii [RT#59699] to Makefile.PL which
produces better META.yml
- Apply a patch from Alexandr Ciornii to ptar [RT#59700]:
Adds option -C to allow archives created with ptar to be uploaded to
PAUSE in case of Windows or world +w permissions on unix.
* important changes in version 1.64 09/07/2010
- Removed the PERL_CORE specific chdir from all the tests
- Apply a patch from David Muir Sharnoff RT #58916,
"skip files via a callback and limit memory use when skipping files"
- Apply a patch from Daphne Pfister RT #59150
"Assumes all references filename are IO::Handle's instead of trying
to stringify."
* important changes in version 1.62 28/06/2010
- Apply part of patch from
https://bugzilla.redhat.com/attachment.cgi?id=426194
reported by Martin Cermak in RT #58636 relating to a Redhat ticket
https://bugzilla.redhat.com/show_bug.cgi?id=606813
* important changes in version 1.60 23/04/2010
- Apply patch from Darrell K. [RT #54850] that makes write() and
create_archive() close only handles they opened.
When you pass a filehandle to Archive::Tar::write() or create_archive(),
it closes the filehandle after writing to it. I think it makes more
sense not to close a handle that A::T didn't open, since the application
may need to write additional data to it. (Consider sockets, package
files containing encapsulated tar archives, etc.)
Example:
$ perl -e 'use Archive::Tar; open(PKG, ">mypkg") or die "open: $!"; my
$tar = Archive::Tar->new; $tar->add_data("foo.txt","hello");
$tar->write(\*PKG); print PKG "more data" or die "print: $!";'
print: Bad file descriptor at -e line 1.
- Fool the installer into replacing our scripts that were installed by
core with versiononly set.
New in 1.3:
* Bugs in the MS-ZIP and Quantum decompressors have been fixed.
* MS-ZIP recovery has been improved.
* cabextract should now compile with MinGW
- From Windows version of 7-zip 9.12
- Some bugs were fixed.
- "Crash in Rar decoder on a corrupted file" fixed
- "Dereferencing a zero pointer in cab handler" fixed
- "Division by zero in cab decoder" fixed
Changes 9.12:
- From Windows version of 7-zip 9.12
- ZIP / PPMd compression ratio was improved in Maximum and Ultra modes.
- The BUG in 7-Zip 9.* beta was fixed: LZMA2 codec didn't work,
if more than 10 threads were used (or more than 20 threads in some modes).
- makefile.openbsd is now compatible with OpenBSD ports tree.
- cmake projects added.
- 7zFM and 7zG can be built on MacOSX but these ports are in very alpha stage.
make app to build p7zip.app (p7zip for MacOSX)
Changes 9.11:
- From Windows version of 7-zip 9.11
- 7-Zip now supports PPMd compression in .ZIP archives.
- Speed optimizations in PPMd codec.
- The support for archives in installers was improved.
- Some bugs were fixed.
Also:
# Improved record size autodetection
# Use of lseek on seekable archives
# New command line option --warning
# New command line option --level
# Improved behavior if some files were removed during incremental dumps
# Modification times of PAX extended headers
# Time references in the --pax-option argument
# Augmented environment of the --to-command script
# Bugfixes:
* Fix handling of hard link targets by -c --transform
* Fix hard links recognition with -c --remove-files
* Fix restoring files from backup (debian bug #508199)
* Correctly restore modes and permissions on existing directories
* The --remove-files option removes files only if they were succesfully stored in the archive
* Fix storing and listing of the volume labels in POSIX format
* Improve algorithm for splitting long file names (ustar format)
- Fix NULL deference for short self-extracting zip archives
- Don't dereference symlinks on Linux when reading ACLs
- Better detection of SHA2 support for old OpenSSL versions
- Fix parsing of input files for bsdtar -T
- Do not leak setup_xattr into the global namespace
- Fix build when an older libarchive is already installed
- Use O_BINARY opening files in bsdtar
- Include missing archive_crc32.h
- Correctly include iconv.h required by libxml2
New features in UnZip 6.0, released 20 April 2009:
* Support PKWARE ZIP64 extensions, allowing Zip archives and Zip
archive entries larger than 4 GiBytes and more than 65536 entries
within a single Zip archive. This support is currently only
available for Unix, OpenVMS and Win32/Win64.
* Support for bzip2 compression method.
* Support for UTF-8 encoded entry names, both through PKWARE's
"General Purpose Flags Bit 11" indicator and Info-ZIP's new "up"
unicode path extra field. (Currently, on Windows the UTF-8
handling is limited to the character subset contained in the
configured non-unicode "system code page".)
* Added "wrong implementation used" warning to error messages of
the MSDOS port when used under Win32, in an attempt to reduce
false bug reports.
* Fixed "Time of Creation/Time of Use" vulnerability when setting
attributes of extracted files, for Unix and Unix-like ports.
* Fixed memory leak when processing invalid deflated data.
* Fixed long-standing bug in unshrink (partial_clear), added
boundary checks against invalid compressed data.
* On Unix, keep inherited SGID attribute bit for extracted
directories unless restoration of owner/group id or SUID/SGID/Tacky
attributes was requested.
* On Unix, allow extracted filenames to contain embedded control
characters when explicitly requested by specifying the new command
line option "-^".
* On Unix, support restoration of symbolic link attributes.
* On Unix, support restoration of 32-bit UID/GID data using the
new "ux" IZUNIX3 extra field introduced with Zip 3.0.
* Support for ODS5 extended filename syntax on new OpenVMS systems.
* Support symbolic links zipped up on VMS.
* On VMS (only 8.x or better), support symbolic link creation.
* On VMS, support option to create converted text files in
Stream_LF format.
* New -D option to suppress restoration of timestamps for extracted
directory entries (on those ports that support setting of directory
timestamps). By specifying "-DD", this new option also allows
to suppress timestamp restoration for ALL extracted files on
all UnZip ports which support restoration of timestamps. On
VMS, the default behaviour is now to skip restoration of
directory timestamps; here, "--D" restores ALL timestamps,
"-D" restores none.
* On OS/2, Win32, and Unix, the (previously optional) feature
UNIXBACKUP to allow saving backup copies of overwritten files on
extraction is now enabled by default.
For the UnZip 6.0 release, we want to give special credit to Myles
Bennet, who started the job of supporting ZIP64 extensions and
Large-File (> 2GiB) and provided a first (alpha-state) port.
pkgsrc changes:
- "drop" explicit core dependency
Upstream changes:
* important changes in version 1.58 17/02/2010
- Apply a patch from toddr@null.net that addreses RT #54714
Subject: $@ not cleaned up after eval
This section of code seems to be trying to use future functionality
not yet present in IO::Zlib (tell). I was chasing another bug and
getting very confused by this population of $@. Could I request you
cleanup $@ if you expect and/or don't care about failure from this eval?
- Infrastructure:
- Allow command line tools as fallback for missing compression
libraries. If compiled without gzip for example, gunzip will
be used automatically.
- Improved support for a number of platforms like high-resolution
timestamps and Extended Attributes on various Unix systems
- New convience interface for creating archives based on disk content,
complement of the archive_write_disk interface.
- Frontends:
- bsdcpio ready for public consumption
- hand-written date parser replaces the yacc code
- Filter system:
- Simplified read filter chains
- Option support for filters
- LZMA, XZ, uudecode handled
- Format support:
- Write support for mtree files based on file system or archive
content
- Basic read support for Joliet
- Write support for zip files
- Write support for shar archives, both text-only and binary-safe
* important changes in version 1.56 03/02/2010
- Apply a patch from Mark Swayne that addresses RT #50471;
Archive::Tar generates file headers with space padded numbers for size,
mtime and checksum. This format is incompatible with some versions of
the busybox implementation of tar (I am using 1.13.2), which requires 0
padded numbers (despite comments in the source that say otherwise).
I've included a patch that adds a control flag that enables zero padded
numbers in the header. It passes all tests with ActiveState Perl 5.8.8
on WinXP.
The changes from 2.1.5 are:
- Added pigz.spec to distribution for RPM systems [Brown]
- Avoid some compiler warnings
- Process symbolic links if piping to stdout [Hoffst?tte]
- Decompress if executable named "gunzip" [Hoffst?tte]
- Allow ".tgz" suffix [Chernookiy]
- Fix adler32 comparison on .zz files
0.9.1 [2010/01/24]
* Fix infinite loop on reading some broken files.
* Optimization in time conversion (don't call localtime()).
* Clear data descriptor flag in central directory, fixing Open Office files.
* Allow more than 64k entries.
With gcc 3.3.3 (from NetBSD/i386 3.1) there are problems with
undefined references to LZMA_CRC32_TABLE and LZMA_CRC64_TABLE in crc32.S
and crc64_x86.S.
Upstream changes:
* important changes in version 1.54 10/09/2009
- Apply a patch from Niko Tyni (ntyni@debian.org) that resolves RT #48879;
As seen in [rt.cpan.org #48879], although the recommended way of
retrieving the last error is to use an instance method ($tar->error),
the returned value is effectively global: an error in one Archive::Tar
instance changes the error string of another instance.
This change separates the error strings from each other while keeping
the (deprecated) global value of $Archive::Tar::error pointing to the
last error regardless of its instance.
We also support calling error() as a class method (Archive::Tar->error).
In this case it returns the global value, which matches the old behaviour.
XZ Utils 4.999.9beta was released on 2009-08-27. Among many less
important changes, this release fixes a data corruption in the
compression code. (The bug was specific to XZ Utils and was not
present in 7-Zip or LZMA SDK.) Everyone using an older version of
XZ Utils should upgrade.
This is the last beta release before XZ Utils 5.0.0. No big changes
are planned before the first stable release.
- Large files. Support for files and archives greater than 2 GB using
large file I/O and the Zip64 extensions. Also can now have more
than 64K entries in an archive.
- Split archives. Zip now supports split archives, zip archives
split into a set of files that can then be stored on removable media
for instance.
- Unicode. If Unicode support is enabled and supported on the system
Zip is run on, Zip now can read paths not in the current character
set and store those paths in portable UTF-8 format. These Unicode
paths can then be used to partially or fully recreate the paths on
other systems depending on the character set support provided by
the unzip on the receiving system. In particular, this allows
portability of paths between Windows and Unix. Unicode comments
are also supported on systems where UTF-8 is the current character
set. Unicode comment support for other systems is expected in
Zip 3.1.
- New command line parser. This new parser allows for command line
permuting, where options can appear almost anywhere on the command
line. This allows adding options to the end of the command line,
for instance. It also supports long options, allowing for
more readable command lines, and also allows lists for the -x
exclude and -i include options to appear not just at the end of
the command line. And some bugs in command line processing in
Zip 2.32 have been fixed.
- Unix 32-bit UIDs/GIDs. Now UIDs/GIDs larger than 16 bits are
supported, but UnZip 6.0 is needed to restore these larger
UIDs/GIDs. If Zip detects that the current system does not use
16-bit UIDs/GIDs, the old 16-bit UID/GID storage is not used
as putting 32-bit UIDs/GIDs into 16-bit fields can cause
problems.
- New modes. Additional archive modes have been added, including a
difference mode for supporting incremental backups, a file sync
mode for synchronizing an existing archive with the current file
system (which can be much faster than creating a new archive), and
a copy mode that allows copying entries from one archive to another.
- Compression using bzip2. Now can add bzip2 compression as a
compression option in Zip. bzip2 compression can result in much
more compact entries in some cases, but the user should verify
that bzip2 is supported on the target unzip before using this new
compression choice.
- New Windows dll. The Windows dll has been updated to support the
new Zip64 large file and larger number of entries limits. This
new dll is not backward compatible with the Zip 2.32 dll, as the
arguments to the dll have been updated to support the added
capabilities, but modifying existing programs to use the new dll
should be simple. See the included Visual Basic example project
for details.
- Better streaming and piping. Zip now has better support of
streaming and piping and handles Unix FIFOs (named pipes) better.
- Gobs of new progress information. Zip can now output progress
information, such as how many entries processed and to go, how
many bytes processed and to go, and adjustable size progress
dots. If the initial file scan takes longer than about 5
seconds, Zip now outputs dots during the scan to avoid a long
period of quiet. Zip can also now generate log files.
- Updated archive fixing. The archive fixing capability is
slightly improved, and now can fix split archives.
- Windows Archive bit support. The Windows archive bit is now
supported, though the new difference mode is probably more
reliable than relying on the Windows archive bit for creating
incremental backups.
- File lists. Zip can list the files that would be added to an
archive as well as the files in an existing archive.
- Extended help. A new extended help option lists a very terse
summary of the major features of Zip and how to use them.
- Many bug fixes.
version 1.22 - Sergey Poznyakoff, 2009-03-05
* Support for xz compression
Tar uses xz for compression if one of the following conditions is met:
1. The option --xz or -J (see below) is used.
2. The xz binary is set as compressor using --use-compress-program option.
3. The file name of the archive being created ends in `.xz' and
auto-compress option (-a) is used.
Xz is used for decompression if one of the following conditions is met:
1. The option --xz or -J is used.
2. The xz binary is set as compressor using --use-compress-program option.
3. The file is recognized as xz compressed stream data.
* Short option -J reassigned as a short equivalent of --xz
* New option -I
The -I option is assigned as a short equivalent for
--use-compress-program.
* The --no-recursive option works in incremental mode.
version 1.21 - Sergey Poznyakoff, 2008-12-27
* New short option -J
A shortcut for --lzma.
* New option --lzop
* New option --no-auto-compress
Cancels the effect of previous --auto-compress (-a) option.
* New option --no-null
Cancels the effect of previous --null option.
* Compressed format recognition
If tar is unable to determine archive compression format, it falls
back to using archive suffix to determine it.
* VCS support.
Using --exclude-vcs handles also files used internally by Bazaar,
Mercurial and Darcs.
* Transformation scope flags
Name transformation expressions understand additional flags that
control type of archive members affected by them. The flags are:
- r
Apply transformation to regular archive members.
- s
Apply transformation to symbolic link targets.
- h
Apply transformation to hard link targets.
Corresponding upper-case letters negate the meaning, so that
`H' means ``do not apply transformation to hard link targets.''
The scope flags are listed in the third part of an `s' expression,
e.g.:
tar --transform 's|^|/usr/local/|S'
Default is `rsh', which means that transformations are applied to
both regular archive members and to the targets of symbolic and hard
links. If several transform expressions are used, the default flags
can be changed using `flags=' statement before the expressions, e.g.:
tar --transform 'flags=S;s|^|/usr/local/|S'
* Bugfixes
** The --null option disabled handling of tar options in list files. This
is fixed.
** Fixed record size autodetection. If detected record size differs from
the expected value (either default, or set on the command line), tar
always prints a warning if verbosity level is set to 1 or greater,
i.e. if either -t or -v option is given.
last version that can build under both www/php4 and lang/php5, since version
1.9.0 and 1.10.1 both require PCRE support in the PHP engine, which Pkgsrc
php4 seems to build without.
Changes since version 1.0:
1.8.10
- Fixed build, missing macro
1.8.9
- Fixed a possible crash in the event directory cannot be created, due to a
double free. (Ilia)
1.8.8
- PECL bug #10414, Fixed macros name in stream
- Fixed possible leak when open_basedir checks fail in extractTo (Ilia)
1.8.7
- Add missing openbasedir or safemode (php 5.x and 4.x) checks in zip://
stream or ZipArchive::open
- Fixed possible relative path issues in zip_open and TS mode (old API)
- rename SAFEMODE_CHECKFILE to OPENBASEDIR_CHECKPATH (no confusion when used
wiht php6)
1.8.6
- Fixed possible leaks in zip_read() and zip_entry_read (old API)
- Fixed leak when an entry is 0 bytes length in ZipArchive::getFrom*()
methods
- Use snprintf instead sprintf (Ilia, Marcus)
- Add examples images and odt in release
1.8.5
- Fixed leaks happening on error (Nuno Lopes)
- PHP bug #40228, extractTo does not create recursive empty path
(empty1/empty2/)
1.8.4
- Use phplibdir in config.m4 (for lib64 or other custom location)
- Add path length sanity checks (Ilia, Tony)
- Update year, happy new year
1.8.3
- Fixed threadsafe issue with localtime function, it uses now the php
php_localtime_r (Ron Korving, Ilia)
1.8.2
- restore compatibility with php 5.1.0 to 5.1.2 (other versions are not
affected)
1.8.1
- PECL #9278, Binary access issues on Windows in any SAPI but CGI, CLI and
embed (windows API does not respect "b" mode given to fopen)
- Fixed a possible leak in the entries managements (Nuno Lopes)
- createEmptyDir returns true one success
- Use static for each internal functions when possible (Nuno Lopes)
- Update protos in the sources
1.8.0
- Fixed a possible leak in statName and statIndex
- Added zipArchive::adEmptyDir() method, creates an empty directory
- Fixed setComment when used with a freshly added entry
- setComment now returns the expected value (boolean) (Hannes)
1.7.5
- PECL Bug #9082, wrong entry name like "a/b//file.txt" cannot be extracted
on windows A "bug" in php mkdir was the cause, a work around has been
introduced for php versions before 5.2.0
1.7.4
- PHP Bug #38943, properties in extended class cannot be set
- PHP Bug #38944, freshly created archive has no comment or cdir
1.7.3
- PECL Bug #8700, zipArchive::getFromIndex fails
- PECL Bug #8676, zipArchive::addFile was not updated and still used
VCWD_REALPATH, it now uses expand_filename
- Fixed wrong internal types for comment lenghts, does not affect userland
script (Nuno Lopes)
1.7.2
- Previous release was broken in non threaded environment. This release
works smoothly in threaded and non threaded. Thanks to "FamilleCollet dot
com" (Fedora-Extra maintainer for the head up)
1.7.1
- Fix issues with relative path in threaded environment, VCWD_REALPATH is
used in ZipArchive::open() and ::addFile
1.7.0
- Add ZIPARCHIVE::OVERWRITE mode for ::open(), creates a new archive and
write over an existing file
- locateName do not change anymore the state, it can now be used to test an
entry
- fix possilbe crashes when two entries with the same name have been added
- Enhanced safemode support
- fix builds against php 6.0 (HEAD)
- fix compiler warning (Ilia, Tony)
- cleanup phpinfo() output (Ilia)
1.6.0
- Rename Class Zip to ZipArchive, required to be bundled in php 5.2.0 (Zip
being a ZipCode in US), making the role of this class more obvious *Gah*
1.5.0
- bring consistency to the method names:
- rename zip::delete() to deleteIndex()
- add zip::deleteName()
- rename zip::statPath to zip::statName()
- rename zip::rename to zip::renameIndex()
- add zip::renameName();
- add zip::locateName(), returns the index of an entry, allows case
insensitive or directory free lookup (ZIP::FL_NOCASE, ZIP::FL_NODIR)
- add zip::unchangeName(), ::unchangeIndex(), unchangeAll() and
unchangeArchive() revert changes to an entry, to all entries or the
archive
- add zip::getNameIndex(), get the name of the entry at the given position
- Bug #7658, Modify zip archives causes corruption if the data descriptor is
used (bit 3 of the general flags)
- fix a bug when in the delete and rename methods when the index is lower
than 1
- zip::addFile() must return true on success
- zip::open() returns now the error code on error and true on success
1.4.1
- Add missing files in the package release
1.4.0
- Add write mode to the archive comment (zip::comment property)
- Add zip::setCommentName and ::setCommentIndex, add or remove entrie comment
- Add zip::getCommentName and ::getCommentIndex, get an entrie comment
- Add zip::setArchiveComment
- Full sync with zip-0.7.1
- #8009, modify archives on windows cannot be closed
1.3.1
- #7500, Fix build with php 5.1.0, 5.1.1 and 5.1.2
1.3.0
- Fix possible leak with __set/__get in classes extending the Zip intern
object (tony2001[at]php.net)
- Added getFromName(), return the contents of an entry using its name
- Added getFromIndex(), return the contents of an entry using its index
1.2.3
- #7214, use binary safe string as return value, 0x00 was considered as the
end of the content, affected only the procedural API
1.2.2
- fix a bug in internal zip_close, new archives were not written
- ::open returns now false on error
- update the "create.php" example, status and returned codes are now checked
- fix a leak when the ::open method is called twice or more with the same
object
1.2.1
- fixed a possible build problem (mkstemp missing)
- fix a bug where extending the Zip class does allow to write to a property,
see php bugs #36743 (array)
1.2.0
- enable stream by default,
* use uri like zip:///path/to/my.zip#entryname.dat
(the URI format may change in future version)
- add support for print_r/var_dump (Zip object)
- add tests for the OO (still need more)
- add more example, like using xmlreader and zip stream to parse
OpenDocument meta info
1.1.2
- do not create empty file when a zip entry is only a directory (empty or
not)
1.1.1
- Fix PHP 5.1 detection at compiletie
- fix possible build errors with gcc other than 4.0.x
- add better zlib detection
- "--with-zlib-dir=[DIR]" added
1.1.0
- replace the old zip extensions
- 100% compatible with the old API
- added zip creation support (write mode)
- added OO interface
- Stream support, getStream method returns a file handler
- bundled libzip and drop zzlib usage (see http://www.nih.at/libzip/)
1.0
- Initial Release in PECL
ChangeLog:
Added 2008, 2009 to --license statement
Allow numeric parameter immediately after -p or -b
Enforce parameter after -p, -b, -s, before other options
Enforce numeric parameters to have only numeric digits
Try to determine the number of processors for -p default
Fix --suffix short option to be -S to match gzip [Bloch]
Decompress if executable named "unpigz" [Amundsen]
Add a little bit of testing to Makefile
Major change since 0.10.x:
There were some problematic zip files out there that can trigger
segfaults in 0.10.x. Later zzip file decoders have extra checks and
helper routines for that.
Shared directories can now be created independently by the pacakges
needing them and will be removed automatically by pkg_delete when empty.
Packages needing empty directories can use the @pkgdir command in PLIST.
Discussed and ok'd in thread starting at
http://mail-index.netbsd.org/tech-pkg/2009/06/30/msg003546.html
Lzip is a lossless data compressor based on the LZMA algorithm, with
very safe integrity checking and a user interface similar to the one of
gzip or bzip2. Lzip decompresses almost as fast as gzip and compresses
better than bzip2, which makes it well suited for software distribution
and data archiving.
pigz, which stands for Parallel Implementation of GZip, is a fully
functional replacement for gzip that exploits multiple processors
and multiple cores to the hilt when compressing data.