Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package dwarfs for openSUSE:Factory checked in at 2026-02-07 15:33:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dwarfs (Old) and /work/SRC/openSUSE:Factory/.dwarfs.new.1670 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dwarfs" Sat Feb 7 15:33:42 2026 rev:7 rq:1331760 version:0.14.1 Changes: -------- --- /work/SRC/openSUSE:Factory/dwarfs/dwarfs.changes 2025-10-07 18:28:45.974462579 +0200 +++ /work/SRC/openSUSE:Factory/.dwarfs.new.1670/dwarfs.changes 2026-02-07 15:34:06.155058409 +0100 @@ -1,0 +2,175 @@ +Wed Nov 26 18:45:57 UTC 2025 - Mia Herkt <[email protected]> + +- Update to version 0.14.1: +Bugfixes: + * The metadata_builder now recomputes all total sizes + (total_fs_size, total_allocated_fs_size, and + total_hardlink_size) as part of the build() function. This not + only ensures that the totals are correct even if the allocated + size changes between scanning and segmenting (which has been + happening at least on ZFS volumes), but it also allows images + affected by a related bug in Windows builds of DwarFS to be + fixed by rebuilding the metadata. + * Instead of making the FUSE drivers fail hard when seeing the + options that were removed in v0.14.0, they now just log a + warning and ignore them. The options may still be fully removed + in a future release. + gh#mhx/dwarfs#303. + * The pcmaudio categorizer had two minor issues when compressing + a large number of WAV files. One was reporting an unsupported + format: 3/0 or unsupported format: 65,534/3 warning, which + isn't very useful for the end user. These format codes + correspond to IEEE floating point formats, which are indeed + unsupported. However, the format appears to be quite common, + so the warning has been downgraded to an info message that + explicitly mentions the floating point format. The second issue + was an unexpected fmt chunk size of 20 bytes, which caused the + file to be rejected as a PCM audio file (meaning it was added + using a generic compressor instead of FLAC). It turns out that + these non-conforming fmt chunks are also quite common in + practice, so the code has been changed to accept the + non-conforming file, but also logging an info message + mentioning the non-conformance. + gh#mhx/dwarfs#309. + * The help text for the mkdwarfs compress level option (-l) was + misleading in combination with the manual page as neither + mentioned that the table with details was shown only by + -H / --long-help. + gh#mhx/dwarfs#312. +Features: + * Added shell completion for dwarfsck and dwarfsextract. + * Added sample desktop unmount handlers. +- Changes in 0.14.0: +Bugfixes: + * Leading dots in --input-list file paths were incorrectly + treated as literal directory names instead of being expanded. + gh#mhx/dwarfs#292. + * The SPDX license identifier in GPL-licensed source files was + incorrectly specified as GPL-3.0-only instead of + GPL-3.0-or-later. + gh#mhx/dwarfs#275. + * Fixed an off-by-one error when recovering self_index fields in + metadata, which could cause the sentinel directory to have a + non-zero self_entry. While harmless by itself (since that entry + is never actually used), this would cause the metadata + consistency check to fail. The fix covers three aspects: + correcting the off-by-one error; ensuring the self_entry + recovery code does not run for the sentinel directory; + and changing the metadata consistency check to only warn about + a non-zero self_entry rather than fail. Running mkdwarfs with + --rebuild-metadata will also reset a non-zero sentinel + self_entry to zero. + * Fixed the implementation of the read operation in the FUSE + driver to send positive error code values to libfuse. This was + likely never triggered in practice, but in cases where parts of + the filesystem image vanish while being accessed (which + previously caused SIGBUS crashes), libfuse would not understand + the negative error codes. + * When setting CPU thread affinity for worker group threads via + DWARFS_WORKER_GROUP_AFFINITY, the code did not CPU_ZERO the + cpu_set_t structure before setting individual CPUs. This could + pin threads to random CPUs in addition to the requested ones. + * The FITS categorizer would scan entire files for the + end-of-header marker if their size was a multiple of + 2880 bytes, causing significant slowdowns on large non-FITS + files. Additional checks now ensure scanning only continues if + the data truly looks like a standards-compliant FITS header. + * GCC caught a potential null-pointer dereference on error when + opening a file in mkdwarfs. This has been fixed. + * Numerous fixes for 32-bit architectures, mostly related to + integer overflows with file sizes larger than 4 GiB. + * Another off-by-one error caused the first regular file inode to + be excluded from the file-size cache. This would be hard to + notice unless that file was highly fragmented. The cache will + be fixed when rebuilding the metadata. + * The FUSE driver’s enable_nlink option is now the default + behavior and cannot be disabled. The previous optimization + skipped building a table of hardlink counts, which produced + inherently incorrect file status information (hardlinked files + share an inode, so reporting a link count of 1 is wrong). + The hardlink table is now stored in the metadata by default; + if there are no hardlinks, it consumes no space. You can still + omit the hardlink table with --no-hardlink-table, at the cost + of building it on-the-fly when the filesystem image is loaded + (typically fast — e.g., ~300 ms for 14 million files). +Features: + * New I/O layer abstraction that supports “classic” mmap-based + file access, granular mmap-based access on 32-bit systems, and + fully mmap-less access if desired. This applies to all DwarFS + tools. By default, tools use the most efficient + method—memory-mapping whole files on 64-bit systems and + mapping file segments on 32-bit systems (to conserve address + space). This can be controlled via the new DWARFS_IOLAYER_OPTS + environment variable described in dwarfs-env(7). + * Full support for sparse files. mkdwarfs now detects and + efficiently processes sparse files, skipping holes where + possible and preserving them in the filesystem image. + dwarfsextract extracts sparse files as such and preserves + sparse representations when extracting to archive formats that + support them (e.g., tar). + Note: Sparse file support is not backwards compatible; images + containing sparse files cannot be processed by DwarFS versions + prior to 0.14.0. By default, mkdwarfs enables sparse file + support if it detects sparse input. Use --no-sparse-files to + disable it and ensure compatibility with older versions. + * Support for subsecond timestamp resolution. The default remains + one second, but finer resolutions (down to nanoseconds) can be + specified with --time-resolution. mkdwarfs will warn if the + requested resolution is finer than the native filesystem + resolution. This is fully backwards compatible: older DwarFS + versions will handle such images but ignore the subsecond + parts. + gh#mhx/dwarfs#294. + * Desktop integration for Linux. A new --auto-mountpoint option + automatically creates or selects a mount-point directory, + making it easier to mount DwarFS images from file managers. + Desktop files and MIME type definitions are now installed to + enable double-click mounting of .dwarfs files. + * Shell completion for mkdwarfs (bash and zsh). + * Improved error handling when DwarFS tools encounter SIGBUS + (usually caused by accessing memory-mapped files on unreliable + or faulty storage like network shares or flaky USB drives). + When SIGBUS is caught, tools now print an error suggesting + switching from mmap- to read-based I/O via DWARFS_IOLAYER_OPTS. + * dwarfsck now checks metadata consistency by default (unless + --no-check is given), improving detection of filesystem image + corruption. + * The FUSE driver exposes new options cache_sparse and + no_cache_sparse to control whether sparse files should be + cached in the kernel page cache. See dwarfs(1) for details. + * The JSON output from dwarfsck now contains a complete raw + metadata dump when the detail level includes + metadata_full_dump. + * dwarfsck no longer artificially limits string sizes when + dumping metadata. + * Accelerated search for the start of a DwarFS image in files + with custom headers; the new code is about four times faster, + scanning at more than 6 GiB/s on a modern CPU. + * The cache size can now be configured for dwarfsck, useful with + the --checksum option. + * Both dwarfsck and dwarfsextract now limit the amount of data + requested from the filesystem image at once to avoid exhausting + memory (and virtual address space on 32-bit systems). + * Improved self-extracting binary stub with better compatibility + for qemu, binfmt_misc, and old kernels. The stub now works on + Linux kernels as old as 2.6.21 (and possibly older), and it now + uses nanoprintf to further reduce binary size. + * The FUSE driver will now show the name of the mounted file + system image in the mount point listing (e.g., in df or mount + output). +Compatibility: + * The accepted minor version for the DwarFS image format has been + incremented. Release v0.16.0 will also increment the written + minor version. This means images produced with v0.16.0 will not + be readable by DwarFS tools prior to v0.14.0. + See the “Features” section in dwarfs-format(7) for details. + * The (no_)cache_image option has been removed from the FUSE + driver. +Build: + * Removed the hard dependency on the date library, which caused + build issues on distributions that no longer bundle it + (e.g., openSUSE). +- Drop remove_hhdate_dependency.patch +- Drop folly-remove-boost_system-dependency.patch + +------------------------------------------------------------------- Old: ---- dwarfs-0.13.0.tar.xz folly-remove-boost_system-dependency.patch remove_hhdate_dependency.patch New: ---- dwarfs-0.14.1.tar.xz ----------(Old B)---------- Old:- Drop remove_hhdate_dependency.patch - Drop folly-remove-boost_system-dependency.patch Old: (e.g., openSUSE). - Drop remove_hhdate_dependency.patch - Drop folly-remove-boost_system-dependency.patch ----------(Old E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dwarfs.spec ++++++ --- /var/tmp/diff_new_pack.X7GRf7/_old 2026-02-07 15:34:06.807085497 +0100 +++ /var/tmp/diff_new_pack.X7GRf7/_new 2026-02-07 15:34:06.807085497 +0100 @@ -1,7 +1,7 @@ # # spec file for package dwarfs # -# Copyright (c) 2025 SUSE LLC and contributors +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,16 +19,12 @@ %define sover %(echo %{version} | sed 's/\\./_/g;') %define __builder ninja Name: dwarfs -Version: 0.13.0 +Version: 0.14.1 Release: 0 Summary: Deduplicating compressed read-only file system License: GPL-3.0-or-later AND MIT URL: https://github.com/mhx/dwarfs Source0: https://github.com/mhx/dwarfs/releases/download/v%{version}/dwarfs-%{version}.tar.xz -# PATCH-FIX-UPSTREAM folly-remove-boost_system-dependency.patch gh#mhx/dwarfs#288 gh#facebook/folly#2489 -Patch0: folly-remove-boost_system-dependency.patch -# PATCH-FIX-UPSTREAM remove_hhdate_dependency.patch https://github.com/mhx/dwarfs/pull/289 TODO: Remove this patch once a new upstream version containing the PR has been released -Patch1: https://github.com/mhx/dwarfs/pull/289.patch#/remove_hhdate_dependency.patch BuildRequires: bison BuildRequires: c++_compiler BuildRequires: cmake @@ -68,8 +64,8 @@ BuildRequires: pkgconfig(libzstd) BuildRequires: pkgconfig(nlohmann_json) # SECTION test requirements -BuildRequires: pkgconfig(gtest) BuildRequires: pkgconfig(gmock) +BuildRequires: pkgconfig(gtest) # /SECTION %description @@ -104,6 +100,26 @@ This package contains the development files for DwarFS. +%package bash-completion +Summary: Bash Completion for %{name} +Requires: %{name} = %{version} +Requires: bash-completion +Supplements: (%{name} and bash-completion) +BuildArch: noarch + +%description bash-completion +Bash command line completion support for %{name}. + +%package zsh-completion +Summary: ZSH Completion for %{name} +Requires: %{name} = %{version} +Requires: zsh +Supplements: (%{name} and zsh) +BuildArch: noarch + +%description zsh-completion +ZSH command line completion support for %{name}. + %ldconfig_scriptlets -n libdwarfs%{sover} %prep @@ -118,10 +134,6 @@ %install %cmake_install -# only mount helper should be in sbin -mv %{buildroot}%{_sbindir}/dwarfs %{buildroot}%{_bindir}/dwarfs -ln -sf %{_bindir}/dwarfs %{buildroot}%{_sbindir}/mount.dwarfs - %check %ctest @@ -132,6 +144,8 @@ %{_mandir}/*/*dwarfs* %{_bindir}/*dwarfs* %{_sbindir}/mount.dwarfs +%{_datadir}/mime/packages/dwarfs.xml +%{_datadir}/applications/dwarfs-mount-handler.desktop %files -n libdwarfs%{sover} %{_libdir}/*.so.* @@ -141,3 +155,9 @@ %{_libdir}/cmake/dwarfs %{_libdir}/libdwarfs*.so +%files zsh-completion +%{_datadir}/zsh/site-functions/* + +%files bash-completion +%{_datadir}/bash-completion/completions/* + ++++++ dwarfs-0.13.0.tar.xz -> dwarfs-0.14.1.tar.xz ++++++ /work/SRC/openSUSE:Factory/dwarfs/dwarfs-0.13.0.tar.xz /work/SRC/openSUSE:Factory/.dwarfs.new.1670/dwarfs-0.14.1.tar.xz differ: char 15, line 1
