* 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