18 Commits

Author SHA256 Message Date
152451bf38 Accepting request 1331760 from filesystems
- 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.

OBS-URL: https://build.opensuse.org/request/show/1331760
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dwarfs?expand=0&rev=7
2026-02-07 14:33:42 +00:00
92488a29b6 OBS-URL: https://build.opensuse.org/package/show/filesystems/dwarfs?expand=0&rev=11 2026-02-07 02:28:52 +00:00
309ea088f4 - 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.

OBS-URL: https://build.opensuse.org/package/show/filesystems/dwarfs?expand=0&rev=10
2025-11-26 20:05:58 +00:00
5f7bd7d43f Accepting request 1309397 from filesystems
OBS-URL: https://build.opensuse.org/request/show/1309397
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dwarfs?expand=0&rev=6
2025-10-07 16:27:23 +00:00
584c52d6a1 Accepting request 1308871 from home:fbonazzi:branches:filesystems
- Remove hhdate dependency
  - Add remove_hhdate_dependency.patch: replace date library usage with
    C++20 std::chrono
- Add %check section and run tests
  - Add test dependencies gtest and gmock

OBS-URL: https://build.opensuse.org/request/show/1308871
OBS-URL: https://build.opensuse.org/package/show/filesystems/dwarfs?expand=0&rev=9
2025-10-06 23:55:12 +00:00
bc86ef34e2 - Remove libboost_system-devel from BuildRequires
- Add folly-remove-boost_system-dependency.patch
  Fixes build with Boost >= 1.89.0
  gh#mhx/dwarfs#288
  gh#facebook/folly#2489

OBS-URL: https://build.opensuse.org/package/show/filesystems/dwarfs?expand=0&rev=8
2025-10-02 17:41:51 +00:00
386d843ebb Accepting request 1302510 from filesystems
- Update to version 0.13.0:
Bugfixes:
  * Made section index discovery more robust.
    gh#mhx/dwarfs#264
  * A recent kernel change (https://lkml.org/lkml/2025/5/5/2868)
    caused the tools_test to fail on Linux 6.14 and later.
    This has been fixed by accepting both EPERM and ENOSYS as
    valid error codes for link() calls.
Features:
  * Support for big-endian architectures.
    This is still experimental, even though all unit tests pass
    with QEMU, and the benchmark suite runs fine on real hardware.
    This currently requires forked versions of folly and fsst.
    The changes are small and the pull requests will hopefully be
    merged upstream soon.
  * Experimental support for 32-bit architectures.
    While DwarFS should mostly "just work" on 32-bit when using
    small images (a few hundred megabytes), the limited address
    space is a problem for the extensive use of memory-mapped
    files inside DwarFS. There will be changes to limit the use of
    mmap in the future (mainly due to other issues), which should
    help 32-bit compatibility as a side-effect.
    gh#mhx/dwarfs#268.
  * The category metadata for categorized blocks is now stored in
    the metadata block by default. This allows re-compressing the
    blocks with a metadata-dependent algorithm (e.g. FLAC) even if
    they were previously compressed using a metadata-independent
    algorithm.
    This can be disabled using the --no-category-metadata option.
    See the mkdwarfs man page for more details.

OBS-URL: https://build.opensuse.org/request/show/1302510
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dwarfs?expand=0&rev=5
2025-09-03 19:07:51 +00:00
661452e6a7 - Update to version 0.13.0:
Bugfixes:
  * Made section index discovery more robust.
    gh#mhx/dwarfs#264
  * A recent kernel change (https://lkml.org/lkml/2025/5/5/2868)
    caused the tools_test to fail on Linux 6.14 and later.
    This has been fixed by accepting both EPERM and ENOSYS as
    valid error codes for link() calls.
Features:
  * Support for big-endian architectures.
    This is still experimental, even though all unit tests pass
    with QEMU, and the benchmark suite runs fine on real hardware.
    This currently requires forked versions of folly and fsst.
    The changes are small and the pull requests will hopefully be
    merged upstream soon.
  * Experimental support for 32-bit architectures.
    While DwarFS should mostly "just work" on 32-bit when using
    small images (a few hundred megabytes), the limited address
    space is a problem for the extensive use of memory-mapped
    files inside DwarFS. There will be changes to limit the use of
    mmap in the future (mainly due to other issues), which should
    help 32-bit compatibility as a side-effect.
    gh#mhx/dwarfs#268.
  * The category metadata for categorized blocks is now stored in
    the metadata block by default. This allows re-compressing the
    blocks with a metadata-dependent algorithm (e.g. FLAC) even if
    they were previously compressed using a metadata-independent
    algorithm.
    This can be disabled using the --no-category-metadata option.
    See the mkdwarfs man page for more details.

OBS-URL: https://build.opensuse.org/package/show/filesystems/dwarfs?expand=0&rev=7
2025-09-03 00:28:26 +00:00
db2b1d7589 Accepting request 1301602 from filesystems
- Replace wrong BuildRequires pkgconfig(clzma) -> pkgconfig(liblzma);
  build only succeeded previously by accident.

- Update to version 0.12.4:
Bugfixes
  * Segfault on bad_compression_ratio_error. When recompressing a
    filesystem where some blocks cannot be compressed using the
    selected algorithm because of a bad_compression_ratio_error,
    the resulting block was left empty.
  * Add history unless --no-history is given when rewriting a file
    system image.
  * Allow dumping frozen_layout w/o frozen_analysis in dwarfsck.
  * Logging timestamps should show local time.
Features
  * More complete breakdown of metadata in dwarfsck.
  * Add schema_raw_dump flag to dwarfsck --detail.
Build
  * Update folly/fbthrift/fsst.

OBS-URL: https://build.opensuse.org/request/show/1301602
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dwarfs?expand=0&rev=4
2025-08-27 19:36:00 +00:00
609b2ffffc Accepting request 1301130 from home:jengelh:branches:filesystems
- Replace wrong BuildRequires pkgconfig(clzma) -> pkgconfig(liblzma);
  build only succeeded previously by accident.

OBS-URL: https://build.opensuse.org/request/show/1301130
OBS-URL: https://build.opensuse.org/package/show/filesystems/dwarfs?expand=0&rev=6
2025-08-25 09:15:32 +00:00
a345a87bf1 - Update to version 0.12.4:
Bugfixes
  * Segfault on bad_compression_ratio_error. When recompressing a
    filesystem where some blocks cannot be compressed using the
    selected algorithm because of a bad_compression_ratio_error,
    the resulting block was left empty.
  * Add history unless --no-history is given when rewriting a file
    system image.
  * Allow dumping frozen_layout w/o frozen_analysis in dwarfsck.
  * Logging timestamps should show local time.
Features
  * More complete breakdown of metadata in dwarfsck.
  * Add schema_raw_dump flag to dwarfsck --detail.
Build
  * Update folly/fbthrift/fsst.

OBS-URL: https://build.opensuse.org/package/show/filesystems/dwarfs?expand=0&rev=5
2025-06-21 12:28:24 +00:00
d5ab9be9dc Accepting request 1271206 from filesystems
- Update to version 0.12.3:
Bugfixes
  * Automatic image offset detection (for images using a custom
    header) did not work correctly if the header contained a
    string that would be identified as the start of a v1 section
    header (these were only used before dwarfs-0.3.0).
    If there was either "DWARFS\x02\x00" or "DWARFS\x02\x01" in
    the header, offset detection would fail. The check has been
    modified to peek further into the data and ensure this really
    is a v1 section header, and also checking if the next section
    header position can be derived from the length field.
    It is still possible to construct a file system image where
    offset detection will ultimately fail, but it is much less
    likely with the change.
- Changes in version 0.12.2:
Bugfixes
  *The dwarfs-0.12.0 release introduced a performance regression
   where FLAC compression took more than twice as long as in the
   previous releases. This has been fixed. FLAC decompression was
   unaffected.

OBS-URL: https://build.opensuse.org/request/show/1271206
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dwarfs?expand=0&rev=3
2025-04-22 15:28:07 +00:00
b25ed1ff55 - Update to version 0.12.3:
Bugfixes
  * Automatic image offset detection (for images using a custom
    header) did not work correctly if the header contained a
    string that would be identified as the start of a v1 section
    header (these were only used before dwarfs-0.3.0).
    If there was either "DWARFS\x02\x00" or "DWARFS\x02\x01" in
    the header, offset detection would fail. The check has been
    modified to peek further into the data and ensure this really
    is a v1 section header, and also checking if the next section
    header position can be derived from the length field.
    It is still possible to construct a file system image where
    offset detection will ultimately fail, but it is much less
    likely with the change.
- Changes in version 0.12.2:
Bugfixes
  *The dwarfs-0.12.0 release introduced a performance regression
   where FLAC compression took more than twice as long as in the
   previous releases. This has been fixed. FLAC decompression was
   unaffected.

OBS-URL: https://build.opensuse.org/package/show/filesystems/dwarfs?expand=0&rev=4
2025-04-21 19:59:49 +00:00
36c10000ab Accepting request 1269054 from filesystems
- Update to version 0.12.1: 
Features
  * Added --memory-limit=auto to mkdwarfs to use a more reasonable
    (hopefully) default for the block queue. The old default of
    1 GiB was quite arbitrary and definitely not suitable for
    low-end systems. The new auto default will determine the limit
    based on the number of workers (which in turn is based on the
    number of CPUs), the block size, and the amount of physical
    memory of the system.
  * Replaced vector_byte_buffer with malloc_byte_buffer, which is
    internally based around a simple buffer that doesn't incur the
    cost of initializing each element like std::vector. Especially
    for large blocks which are known to be overwritten immediately,
    this can save a few CPU cycles.
- Changes in version 0.12.0:
  * New Licensing Conditions: Instead of being all GPL-3.0 like all
    the previous releases, this release changes the license of a
    large fraction of the DwarFS code to MIT. All tools and
    libraries that only read DwarFS images are now MIT-licensed.
    Everything else (e.g. mkdwarfs) is still GPL-3.0 for the time
    being.
Bugfixes
  * Changes for compatibility with Boost.Process v2.
Features
  * Re-licensed all libraries required for reading DwarFS images
    under the MIT license. The source of all tools that just read
    DwarFS images (i.e. everything except for mkdwarfs) are also
    under the MIT license now. Everything else is still GPL-3.0.
    gh#mhx/dwarfs#255
  * New hotness categorizer in mkdwarfs that allows a list of "hot"

OBS-URL: https://build.opensuse.org/request/show/1269054
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dwarfs?expand=0&rev=2
2025-04-14 10:58:56 +00:00
8570f313e1 - Update to version 0.12.1:
Features
  * Added --memory-limit=auto to mkdwarfs to use a more reasonable
    (hopefully) default for the block queue. The old default of
    1 GiB was quite arbitrary and definitely not suitable for
    low-end systems. The new auto default will determine the limit
    based on the number of workers (which in turn is based on the
    number of CPUs), the block size, and the amount of physical
    memory of the system.
  * Replaced vector_byte_buffer with malloc_byte_buffer, which is
    internally based around a simple buffer that doesn't incur the
    cost of initializing each element like std::vector. Especially
    for large blocks which are known to be overwritten immediately,
    this can save a few CPU cycles.
- Changes in version 0.12.0:
  * New Licensing Conditions: Instead of being all GPL-3.0 like all
    the previous releases, this release changes the license of a
    large fraction of the DwarFS code to MIT. All tools and
    libraries that only read DwarFS images are now MIT-licensed.
    Everything else (e.g. mkdwarfs) is still GPL-3.0 for the time
    being.
Bugfixes
  * Changes for compatibility with Boost.Process v2.
Features
  * Re-licensed all libraries required for reading DwarFS images
    under the MIT license. The source of all tools that just read
    DwarFS images (i.e. everything except for mkdwarfs) are also
    under the MIT license now. Everything else is still GPL-3.0.
    gh#mhx/dwarfs#255
  * New hotness categorizer in mkdwarfs that allows a list of "hot"

OBS-URL: https://build.opensuse.org/package/show/filesystems/dwarfs?expand=0&rev=3
2025-04-13 20:16:09 +00:00
2f3c9ad9c0 Accepting request 1267050 from filesystems
FUSE file system; typically better performance and compression ratio than e.g. SquashFS

OBS-URL: https://build.opensuse.org/request/show/1267050
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dwarfs?expand=0&rev=1
2025-04-07 15:36:13 +00:00
8b1294a5fd Accepting request 1267046 from home:jengelh:branches:filesystems
- Use SRPM base name for devel subpackage

OBS-URL: https://build.opensuse.org/request/show/1267046
OBS-URL: https://build.opensuse.org/package/show/filesystems/dwarfs?expand=0&rev=2
2025-04-04 07:59:21 +00:00
David Sterba
1853b1524e Accepting request 1265998 from home:mia
FUSE file system; typically better performance and compression ratio than e.g. SquashFS

OBS-URL: https://build.opensuse.org/request/show/1265998
OBS-URL: https://build.opensuse.org/package/show/filesystems/dwarfs?expand=0&rev=1
2025-04-02 23:08:16 +00:00