- 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.
- Updating package for p5 module Archive::Zip from 1.26 to 1.30
- Setting license according to META.yml to ${PERL5_LICENSE}
Upstream changes:
1.30 Tue 30 Jun 2009 - Adam Kennedy
- Fixed a bad use of Cwd::getcwd
1.29 Mon 29 Jun 2009 - Adam Kennedy
- Changed _asLocalName back to rel2abs, but this time using
Cwd::getcwd as the base path instead of Cwd::cwd.
This hopefully resolved#47223 (ADAMK)
1.28 Tue 16 Jun 2009 - Adam Kennedy
- Changing to production version for release
- Reverted to revision 4736 and converted `External File Attribute'
values for symbolic links to hexadecimal (HAGGAI)
- Fixed: #15026: AddTree does not include files with german
umlauts in the filename (HAGGAI)
- Switched from Compress::Zlib to Compress::Raw::Zlib (AGRUNDMA)
- Moved crc32 from bin to script (ADAMK)
1.27_01 Tue 16 Dec 2008 - Adam Kennedy
- Makefile.PL will create a better META.yml
- This is a test release for various improvements provided by
Alan Haggai. The entire release is credited to his grant work.
- Fixed#25726: extractMembers failing across fork on Windows.
- Fixed#12493: Can't add new files to archives which contain
files named 0,1,2,3,4,5,6,7,8,9 with no extension.
(Files named "0" are not archived)
- Fixed#22933: Properly extract symbolic links.
- Fixed#20246: Ability to assign a compression level to addTree
calls.
- Corrected regular expression for stripping trailing /
- Corrected addFileOrDirectory() behaviour and cleaned up some code
- Added symbolic link support to addFileOrDirectory
- Fixed#34657: No option, undefined behavior zipping symbolic
links (symlinks)
- Added storeSymbolicLink()
- Fixed bitFlag() to set General Pupose Bit Flags
#include "/home/paolo/workspace/file-roller/src/typedefs.h"
to
#include "typedefs.h".
in src/fr-enum-types.c. Not bumping PKGREVISION because the build
failed previously. There are many other references to
/home/paolo/workspace, but all the others are inside comments.
- Updating package of p5 module Archive::Tar from 1.48 to 1.52
- Setting LICENSE to ${PERL5_LICENSE} according to module documentation
Upstream changes:
* important changes in version 1.52 13/06/2009:
- Apply documentation patch to describe IBM APAR issue IZ50240; AIX tar
does not always end a Tar archive with a 0x00 null block, which can
cause warnings from Archive::Tar.
This is a documentation patch only, and users of 1.50 need not upgrade.
* important changes in version 1.50 12/06/2009:
- Apply patch in #46450: Support for --no-same-permissions style behavior
This facilitates leaving the +x bit, while still applying your umask on
the extracted file.
LZMA is a general purporse compression algorithm designed by Igor
Pavlov as part of 7-Zip. It provides high compression ratio while
keeping the decompression speed fast.
XZ Utils are an attempt to make LZMA compression easy to use on
free (as in freedom) operating systems. This is achieved by providing
tools and libraries which are similar to use than the equivalents
of the most popular existing compression algorithms.
XZ Utils consist of a few relatively separate parts:
* liblzma is an encoder/decoder library with support for several
filters (algorithm implementations). The primary filter is
LZMA.
* libzfile (or whatever the name will be) enables reading from
and writing to gzip, bzip2 and LZMA compressed and uncompressed
files with an API similar to the standard ANSI-C file I/O.
[ NOTE: libzfile is not implemented yet. ]
* xz command line tool has almost identical syntax than gzip
and bzip2. It makes LZMA easy for average users, but also
provides advanced options to finetune the compression settings.
* A few shell scripts make diffing and grepping LZMA compressed
files easy. The scripts were adapted from gzip and bzip2.