Skip to content

Releases: mxmlnkn/ratarmount

ratarmount 0.15.0

07 Apr 14:13
Compare
Choose a tag to compare

ratarmount

Added

  • Print indicators for versions of loaded shared libraries.

ratarmountcore

Added

  • Add libarchive backend and detection support for:
    grzip, lrzip, lz4, lzip, lzma, lzop, rpm, uuencode, compress, 7zip, ar, cab, deb, xar, cpio, iso, war, cxar.
  • Add --transform option to map each archive entry path via a regex to some user-specified one.
  • Add zlib support (RFC1950).
  • Store backend name into the index and check that the index fits to the current backend / MountSource.
  • Store isGnuIncremental flag in the index.
  • Apply specified priorities for opening all archives not just gzip.

Performance

  • Determine incremental archives from index rows to avoid seeks.
  • Remove indexed_bzip2 dependency in favor of rapidgzip, which in the future should support even more formats.

Fixes

  • utils.findModuleVersion: Return version not name if __version__ does not exist.

rapidgzip

Added

  • The rapidgzip Python library now also bundles IndexedBzip2File from indexed_bzip2.
  • Enable checksum verification by default.
  • Support for decompression from non-seekable inputs such as stdin.

Performance

  • Windows / seek points are compressed in memory for reduced memory usage.
  • Avoid doubling memory usage during index import and export by streaming the data directly to the output file.

ratarmount 0.14.2

06 Apr 18:17
Compare
Choose a tag to compare

ratarmount

Fixes

  • Do not check mount point because of faulty os.path.ismount, simply try fusermount.
  • Avoid total I/O hang when lazy-mounting a folder with archives onto itself.

ratarmountcore

Fixes

  • Return a valid file info and file version count for /.
  • Make the original archive viewable as an older file version when using AutoMountLayer.
  • Resolve symbolic links pointing outside the source folder given to FolderMountSource to not break them.
  • Do not return a valid FileInfo for invalid paths such as ../...
  • Make --index-minimum-file-count work for the TAR backend.
  • The index should not be created for very small archives.
  • Root file info userdata was not initialized correctly.
  • Index validation did fail for TAR entries with more than 2 metadata blocks.
  • Do not check for folder consistency because parent folders get automatically added to the index.
  • Move _createFileInfo out of MountSource class to fix "protected-access" warning.
  • Joined files (a.001, a.002) did not work because of an accidentally shared list.
  • Do not check file header for zip, only for the footer, to detect self-extracting archives.

ratarmount 0.14.1

23 Feb 20:44
Compare
Choose a tag to compare

ratarmount

Fixes

  • Fix AttributeError: module 'fuse' has no attribute 'errno'.
  • Fix --commit-overlay, which did not add newly created empty folders to TARs.
  • Do not ask for confirmation if there is nothing to commit when using --commit-overlay.
  • Improve unmounting with ratarmount -u, especially with the AppImage.

ratarmountcore

Fixes

  • Properly close opened file objects in mount sources.
  • Fix --disable-union-mount, which returned an I/O error.
  • Fix that --use-backend=indexed_gzip still did use rapidgzip. It only worked when both were specified.
  • Fix detection of self-extracting RAR files.
  • Improve the error message when a file cannot be read because of a missing dependency.
  • Improve debug message when the index does not yet contain a gzip index.
  • Fix faulty seek forward for files opened via RarMountSource when whence is not io.SEEK_SET.

Performance

  • Skip data offset collection for zip files because it takes too long and is unused.

ratarmount 0.14.0

03 Sep 18:45
Compare
Choose a tag to compare

ratarmount

Added

  • Add --disable-union-mount option to present multiple archives in subfolders under the mount point.
  • Add fine-grained control over the union mount cache:
    • --union-mount-cache-max-depth
    • --union-mount-cache-max-entries
    • --union-mount-cache-timeout
  • Only use the number of cores the ratarmount process has affinity for by default.
  • Add --index-minimum-file-count with sane default (1000) to avoid creating index files for
    rather small ZIP archives.

Fixes

  • Disable auto-detection of GNU incremental TAR archives by default.
    Use --detect-gnu-incremental or better --gnu-incremental/--no-gnu-incremental
    instead.
  • Apply name change: pragzip -> rapigzip.
  • Fix ambiguous FUSE behavior that resulted in find not descending into recursively
    mounted subarchives.

ratarmountcore

Added

  • Use rapidgzip instead of indexed_gzip by default.
  • Do not parallelize gzip on slow drives because pread is slower than
    sequential read on those.
  • Enable profiling output for rapidgzip with -d 2 or greater.

Fixes

  • Do not check for GNU incremental TAR archive after an index has been loaded because
    it is only necessary for index creation. Note that this means thatSQLiteIndexedTar.isGnuIncremental
    member will remain False when an index has been loaded.
  • Test for incremental archive after loading the compression index to avoid having
    to recreate it.
  • Fix missing warning for multi-frame requirement of Zstandard archives.
  • Fix unnecessary warning about mismatching gzip-seek-point-spacing
    when loading an index for
    archives without gzip compression.
  • Change the default value of the SQLiteIndexedTar constructor argument
    gzipSeekPointSpacing from 4 MiB tp 16 MiB to make it consistent with the ratarmount CLI option.

ratarmount 0.13.0

19 Feb 16:07
Compare
Choose a tag to compare

Fixes in ratarmountcore

  • Use XDG_CACHE_HOME according to FreeDesktop as default fallback
    when the archive folder is not writable.
  • Create an SQLite index file for zip archives to speed up metadata lookup.
  • Fix the issue with folders for mounted zip files not being traversed with find.

ratarmount 0.12.0

13 Nov 13:15
Compare
Choose a tag to compare

Fixes in ratarmount

  • Add --recursion-depth argument for more fine-grained recursion control.
  • Add support to show a joined view of split files, e.g., .001, and also support split archives.
  • Add --use-backend option to choose between multiple available backends, e.g., 'lzmaffi' and 'xz' for xz files.
  • Add support for pragzip when it has been installed and specified with '--use-backend pragzip'.
    Pragzip offers unique parallelized decompression of arbitrary gzip files. Using a 12-core processor,
    it can show speedups of 12 over gzip and speedups of 8 over pigz for sequentially decoding base64 files.
    Furthermore, similar to indexed_bzip2 it is based on a block cache and therefore can substantially speed up
    concurrent access streams as might happen when accessing multiple files through ratarmount concurrently.
    Currently, indexed_gzip will still be used to create the index in the first pass and pragzip is used
    for subsequent accesses with '--use-backend pragzip'.

Fixes in ratarmountcore

  • AutoMountLayer now takes a 'recursionDepth' argument instead of 'recursive'.
  • Fix handling of paths in zip and rar files that contain '../'.
  • Add backend prioritization option to SQLiteIndexedTar.
  • Add support for pragzip.

ratarmount 0.11.3

25 Jun 13:03
Compare
Choose a tag to compare

Fixes in ratarmount

  • Fix files with leading "./" not being deleted when using --commit-overlay
  • Fix files directly under the mount point not being deleted correctly with --write-overlay.

Fixes in ratarmountcore

  • Fix exception when trying to mount a RAR archive containing files without timestamps.

ratarmount 0.11.2

27 May 10:34
Compare
Choose a tag to compare

Fixes in ratarmount

  • Fix --password option not working.

ratarmount 0.11.1

10 Apr 11:48
Compare
Choose a tag to compare

Fixes in ratarmount

  • Fix compatibility of --commit-overlay with older GNU tar versions by removing the redundant --verbatim-file option.

Fixes in ratarmountcore

  • Fix duplicate mounting of uncompressed TARs inside TARs when using --recursive.

ratarmount 0.11.0

06 Apr 22:18
Compare
Choose a tag to compare

New features in ratarmount

  • Add --write-overlay option to enable write support at the mount point.
  • Add -u option for more consistent mount/unmount call signatures.
  • Add output for versions of all dependencies to --version.
  • Add support for AppImage builds which will be offered on the GitHub Releases page.
  • Add --transform-recursive-mount-point option to control the mount path of recursively mounted archives.
  • Change default for --parallelization from 1 to 0, i.e., the maximum number of cores.

Fixes in ratarmountcore

  • Fix (the last 1000) files not showing for truncated / incomplete TAR files.
  • Improve performance for gzip files significantly by using a larger buffer.
  • Do not use ParallelXZReader for single-block xz files to avoid memory issues.
  • Fix uncaught exception when a folder contains an invalid character.
  • Recursive mounting of nested uncompressed TARs did skip some files for depth > 2.
  • Relax the check for GNU incremental TAR detection because the prefix field might contain binary data.
  • Improve performance by factor ~5 and avoid storage requirements for index reading for gzip-compressed archives.
  • Improve performance by ~40% and avoid storage requirements for index writing for gzip-compressed archives.
  • Improve performance for indexing uncompressed TARs that have been appended by only analyzing the new files.
  • Fix uncompressed archives having been appended very small files (<10 KiB) were not detected as changed by default.
  • Fix problem triggered by combining --recursive and -P 0 with a recursive bzip2 archive.