File Roller is an archive manager for the GNOME environment. This means
that you can create and modify archives; view the content of an archive;
view and modify a file contained in the archive; extract files from the
archive.
Gnome-autoar provides functions, widgets, and gschemas for GNOME applications
which want to use archives as a convient method to tranfer directories over
the internet.
New features with AN-2020-09-04:
- autoconf: congig.guess: FreeBSD on 64 bit ARM returns arm64 from
uname -m; this was previously not supported and rejected by config.sub.
We now convert "arm64" into "aarch64" in config.guess to get the usual
expected results.
- Makefile system: RULES/rules.env The environment variables FIGNORE,
LD_LIBRARY_PATH LD_LIBRARY_PATH_32 and LD_LIBRARY_PATH_64 are now
unexported from the enviroment.
In special FIGNORE is dangerous, as it is frequently used by bash
users but tells ksh93 to modify it's behavior with "echo *" and
this may cause strange things with our makefiles in case that
/bin/sh is ksh92. This applies e.g. to Oracle Solaris 11 and
OpenSolaris.
New features with AN-2020-10-09:
- autoconf: Added support for newer HP-UX versions on Itanium.
Thanks to Rudi Blom for reporting and making a change proposal.
v3.3.0
``Path`` objects now expose a ``.filename`` attribute
and rely on that to resolve ``.name`` and ``.parent`` when
the ``Path`` object is at the root of the zipfile.
GNU make 4.3 no longer uses \ to escape # found inside function
invocations, so the \ gets passed through to the printf commands,
causing library detection to fail.
lib/Makefile is patched on pkgsrc by copying detection logic from
programs/Makefile, which has since been updated[0] to support make
4.3 using the compatibility trick suggested in the GNU make changelog.
In particular, since we modify programs/Makefile to link the zstd
binary with the libzstd shared library, failure to detect pthread
in lib/Makefile results in a zstd built with ZSTD_MULTITHREAD to
be linked against a libzstd built without it. This causes "Unsupported
parameter" errors when it is used (except with --single-thread).
So, apply the fix for programs/Makefile to lib/Makefile as well.
[0] 06a57cf57e
v3.2.0
Mutate the passed ZipFile object
type instead of making a copy. Prevents issues when
both the local copy and the caller's copy attempt to
close the same file handle.
``Path._next`` now honors subclasses.
``Path.is_file()`` now returns False for non-existent names.
1.68 Thr 12 Mar 2020
- Switched to GitHub as issue tracker
- Replaced references to Test::MockModule in
t/23_closed_handle.t with code from PR #32, RT #110087
- Unixified line endings in t/23_closed_handle.t
- Added documentation for Archive::Zip::Member::isSymbolicLink,
RT #130524
- Implemented other, unrelated doc fixes
- Fixed examples/zipcheck.pl to skip symbolic links, RT #130525
- Described version 1.59, RT #117371 (tagged important!)
- Completely re-did test suite:
. Created new test APIs in t/common.pm and documented them in
t/README.md
. Changed tests to be less dependent on OS-specific quirks of "unzip -t"
. Changed tests to write more diagnostic information if executed in
automated test environments
. Normalized access to test data and to temporary results. Removed
references to obsolete temporary results (for example, those to
directory "extracted").
. Normalized test headers and brushed up tests in general
1.67 Sun 06 Oct 2019
- Fixed compatibility issues with zip64 format (defined-or, pack)
- Fixed hard-coded version fields introduced in version 1.66
- Fixed merge glitch with tests 26 and 27
- Fixed merge glitch with bzip passthrough
- Updated bzip test file to avoid zip bomb detection
1.66 Mon 16 Sep 2019
- Refactored low-level methods for reading and writing zip files
in zip64 format. Added new parameters and return values to
most of these. Extended constants in Archive::Zip to cover
zip64 formats and lengths.
- Added public APIs
Archive::Zip::Archive::zip64
Archive::Zip::Archive::desiredZip64Mode
Archive::Zip::Archive::versionMadeBy
Archive::Zip::Archive::versionNeededToExtract
Archive::Zip::Member::zip64
Archive::Zip::Member::desiredZip64Mode
and constants
Archive::Zip::ZIP64_AS_NEEDED
Archive::Zip::ZIP64_EOCD
Archive::Zip::ZIP64_HEADERS
plus POD on these.
- Added tests for zip64 format in t/21_zip64.t and more test zip
files below t/data. Extended tests in t/02_main.t to perform
all existing tests in all possible desired zip64 modes.
- Extended methods
Archive::Zip::Member::localExtraField
Archive::Zip::Member::cdExtraField
to perform format checks when called as setters and to reject
any zip64 extended information extra fields passed by the user.
Extended POD and tests in t/02_main.t accordingly.
- Setting {'compressedSize'} after writing central directory
header.
- Added new optional parameter $noFormatError to method
Archive::Zip::_readSignature to silence any format errros when
testing for signatures.
- Added error handling for potentially failed object conversion
after calling method Archive::Zip::Member::_become. Factored
in method Archive::Zip::Member::_becomeDirectoryIfNecessary
into caller.
- Changed methods
Archive::Zip::Archive::contents
Archive::Zip::Member::contents
(and all inheriting from these) to consistently return a pair
($contents, $status) when called in list context and a scalar
$contents when called in scalar context. Extended tests in
t/02_main.t accordingly.
- Changed method Archive::Zip::Member::extractToFileHandle to
accept a file name instead of a file handle when extracting
symbolic links. Changed lower-level and higher-level methods
to use that feature. Cleaned up code related to the handling
of symbolic links. Added creation of intermediate directories
in method Archive::Zip::Member::extractToFileNamed for symbolic
links as well. Reporting errors from symlink call as AZ-error.
Added POD and test zip file t/data/symlink.zip and tests in
t/26_symlinks.t for these changes.
- Cleaned up code and added comment related to that highly
dubious (?) {'wasWritten'} logic.
1.65 Sat 7 Sep 2019
- Fix for members using bzip compression [github/pmqs]
- NetBSD doesn't mind empty zips [github/pmqs]
- Solaris test failure, Add diag to failing test to collect data [github/pmqs]
- Test for presence of Test::MockModule [github/pmqs]
- Fix skip line for Windows [github/pmqs]
- Skip tests that assume /tmp on Windows [github/pmqs]
Version 1.0.9 contains a fix to "integer overflow" problem. This
happens when "one-shot" decoding API is used (or input chunk for
streaming API is not limited), input size (chunk size) is larger
than 2GiB, and input contains uncompressed blocks. After the overflow
happens, `memcpy` is invoked with a gigantic `num` value, that will
likely cause the crash.
innoextract 1.9 (2020-08-09)
- Added preliminary support for Inno Setup 6.1.0
- Added support for a modified Inno Setup 5.4.2 variant
- Fixed output directory being created for unsupported installers
- Fixed some safe non-ASCII characters being stripped from filenames
- Fixed handling of path separators in Japanese and Korean installers
- Fixed build with newer Boost versions
- Windows: Fixed heap corruption
- Windows: Fixed garbled output
New features with AN-2020-07-18:
- star: star could dump core if it was used as "star -t ..." or.
"star -x ..." while being in a UTF-8 based locale and trying to deal
with extremely long pathnames (more than PATH_MAX) in the archive.
This bug was caused by the dummy conversion routines _to_utf8() or
_from_utf8() that did not stop after "tolen" bytes (the current size
of the dynamically growing path structure) have been copied.
This bug has been introduced in 2018 when the dynamic path name
variables have been introduced together with support for extremely
long path names.
- star: lpath_unix.c and lhash.c renamed a local variable buflen to bflen
to avoid a gcc shadowing warning with the rest of star.
- star: star.c fixed some fallthrough warnings from lint.
- star: The FIFO code (which is 30 years old) did use an int for the size
which historically was OK, but this did limit the size of the FIFO to
2 GB. Now with modern tape drives that are really fast, a FIFO with
2 GB would only give a tape streaming reserve for approx. 8 seconds,
which is not sufficient. Approx. 30 seconds reserve are recommended.
With modern tape drives, this would need approx. 8 GB of FIFO. Be.
however careful not to use more than half of the real RAM available
in the whole system for the star FIFO.
Note that this change induced the need for a lot of derived changes
in approx. 1000 lines of code spread over the whole star project and
for this reason, it is advised to carefully test the new version and
to report if problems occur.
New features with AN-2020-08-12:
- autoconf: added a new test for the existence of <sys/auxv.h>
- autoconf: added new tests for Linux getauxval() and FreeBSD elf_aux_info()
- libschily: getexecpath.c now uses getauxval() on Linux and elf_aux_info()
on FreeBSD. This was needed since readlink("/proc/curproc/file") on
FreeBSD returns random values for hardlinked files, making it impossible
to use the result in order to find out which behavior variant of a
fat binary is requested.
- star: GNU cpio archives may contain longer path names than permitted by
the AT&T documentation. This did cause problems with our automated
recognition of swapped CPIO headers. We now use a more robust method.
- star: GNU cpio archives may contain longer path names than permitted by
the AT&T documentation. This could cause star to dump core because the
cpio module did not yet call the routine to grow our new dynamic path
store.
- star: older GNU compilers seem to decide that a division:
long long / long results in a long.
We now cast the divisor to long long to definitely get the right
result for a printf argument.
- star: changed a name in a parameter list for lreadlink() to avoid
a GCC shadow warning.
- star: The variable use_fifo is also needed if the FIFO is not
available (e.g. on DOS). The previous code did not compile on platforms
that did not support to implement the FIFO. We moved
extern BOOL use_fifo out of a #ifdef FIFO
Thanks to a hint from Albert Wik.
- star: The file README.otherbugs has been changed to match the
state of today and a geocrawler based URL now includes an
archive.org prefix as geocrawler no longer exists.
As of 1.24, MATE requires GNU-specific msgfmt features. meta-pkgs/mate/
Makefile.common r. 1.10 expressed this tool dependency using
USE_BUILTIN.gettext=no, but this exposed pkgsrc gettext-libs in the
build environment as well, which some MATE packages then linked
against, but gettext-libs didn't end up being declared as a run-time
dependency, so binary package installations were broken (with the
workaround of manually installing the undeclared gettext-libs
dependency). Express this dependency differently, so GNU msgfmt is
used as a tool without exposing pkgsrc gettext-libs.
(The pkgsrc tooling infrastruture could be altered to provide a
distinct "gmsgfmt" tool, same with "gxgettext", and perhaps others.
Here I'm just immediately concerned with fixing this packaging issue.)
Addresses PR pkg/55503 by Jay Patel.
Update ruby-ffi-libarchive to 1.0.3.
1.0.3 (2020-06-26)
* Optionally clone entries when iterating through an archive #30 (jatoben)
* Replace specific types with more generic equivalents. #32 (phiggins)
* Modern expeditor / buildkite setup #33 (tas50)
rarfile v3.3
Fixes:
Add the .sfx test files to MANIFEST.in for inclusion in pypi tarball.
Add all files in git to tarball.
rarfile v3.2
New features:
Support unar as decompression backend. It has much better support for RAR features than bsdtar.
Support SFX archives - archive header is searched in first 2MB of the file.
Add HACK_TMP_DIR option, to force temp files into specific directory.
Fixes:
Always use "/" for path separator in command-line, gives better results on Windows.
Cleanups:
Drop module-level options from docs, they create confusion.
Drop support for Python 2 and 3.5 and earlier. Python 2 is dead and requiring Python 3.6 gives blake2s, stdlib that supports pathlib, and ordered dict without compat hacks.
Replace PyCrypto with PyCryptodome in tests.
Use Github Actions for CI.
V0.6.0
--------
* Added an option to (not) stretch the first column.
* Added app icon.
* A workaround for a Qt bug that might give a too small height to rows if the horizontal scrollbar isn't at its minimum value when items are removed.
* Better names for extraction folders of archives without parent directories.
* Scroll to the current item when expanding or filtering.
* Fixed startup invisibility with some window managers.
* Updated the code for Qt 5.15.
Changelog from AN-2020-07-01:
- star: Backslashes are now honored when looking for the substitution
separators in options like -s /from/to/ or -pax-s /from/to/
Previously, -s '/xxx\/yy//' was interpreted in a way that made
the **to string** "yy" and the **from string** "xxx\" instead of
making the from string "xxx\/yy" and the to string empty.
Add github master site as fallback.
1.7.2 [2020-07-11]
==================
* Fixes for the CMake find_project() files.
* libzip moved to the CMake libzip:: NAMESPACE.
* CMake usage best practice cleanups.