Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package squashfs for openSUSE:Factory 
checked in at 2026-10-28 17:45:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/squashfs (Old)
 and      /work/SRC/openSUSE:Factory/.squashfs.new.2252680 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "squashfs"

Wed Oct 28 17:45:00 2026 rev:48 rq:1393033 version:4.7.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/squashfs/squashfs.changes        2023-07-04 
15:22:06.918110207 +0200
+++ /work/SRC/openSUSE:Factory/.squashfs.new.2252680/squashfs.changes   
2026-10-28 17:45:01.729255967 +0100
@@ -1,0 +2,29 @@
+Sun Oct 18 05:36:24 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 4.7.5:
+  * Mksquashfs now reads files in parallel (-small-readers,
+    -block-readers, -single-reader options), much faster on SSDs
+    and network filesystems; "fragment block stall" eliminated,
+    improving performance by 20% or more
+  * Rewritten help system using the full terminal width with pager
+    support and -help-all/-help-section/-help-option selectors
+  * New reproducible-image options: -repro, -repro-time, plus
+    -mkfs-time/-inode-time/-root-time inode variants
+  * Mksquashfs/Sqfstar can stream the filesystem to stdout
+    (-stream) and fix it up afterwards (-fix); sparse file
+    reading greatly sped up via SEEK_DATA
+  * New Align action, -force-file-mode/-force-dir-mode,
+    -numeric-owner, -mem/-mem-percent for unsquashfs and more
+  * Bug fixes: possible filesystem corruption with sparse files,
+    broken -max-depth, pseudo-file definition issues, -offset
+    regression, tar-file cache leak in sqfstar
+  * Many more fixes and improvements; see upstream's release notes
+    for the full list
+- Rebase squashfs-64k.patch (pad to 64K for ppc64 alignment) to
+  4.7.5, covering the new streamed-filesystem superblock padding
+  and the rewritten help texts; squashfs-thread-limit refreshed
+  for the reworked initialise_threads().
+- Adjust packaged docs to the new upstream layout (README.md,
+  CHANGES.md).
+
+-------------------------------------------------------------------

Old:
----
  4.6.1.tar.gz

New:
----
  4.7.5.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ squashfs.spec ++++++
--- /var/tmp/diff_new_pack.x5hfJp/_old  2026-10-28 17:45:02.478287073 +0100
+++ /var/tmp/diff_new_pack.x5hfJp/_new  2026-10-28 17:45:02.480287156 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package squashfs
 #
-# Copyright (c) 2023 SUSE LLC
+# 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
@@ -16,29 +16,29 @@
 #
 
 
+%if %{?suse_version} > 1315
+%define _lz4_def LZ4_SUPPORT=1
+BuildRequires:  pkgconfig(liblz4)
+%endif
+%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150100
+%define _zstd_def ZSTD_SUPPORT=1
+BuildRequires:  pkgconfig(libzstd)
+%endif
 Name:           squashfs
-Version:        4.6.1
+Version:        4.7.5
 Release:        0
 Summary:        A Read-Only File System with Efficient Compression
 License:        GPL-2.0-or-later
-Group:          System/Filesystems
 URL:            https://github.com/plougher/squashfs-tools
 Source0:        
https://github.com/plougher/squashfs-tools/archive/refs/tags/%{version}.tar.gz
 Patch0:         squashfs-64k.patch
 Patch1:         squashfs-thread-limit
 BuildRequires:  help2man
 BuildRequires:  lzma-devel
-BuildRequires:  lzo-devel
-BuildRequires:  zlib-devel
+BuildRequires:  pkgconfig
+BuildRequires:  pkgconfig(lzo2)
+BuildRequires:  pkgconfig(zlib)
 Supplements:    filesystem(squashfs)
-%if %{?suse_version} > 1315
-BuildRequires:  liblz4-devel
-%define _lz4_def LZ4_SUPPORT=1
-%endif
-%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150100
-BuildRequires:  libzstd-devel
-%define _zstd_def ZSTD_SUPPORT=1
-%endif
 
 %description
 This package contains the userland utilities to create and read
@@ -50,7 +50,7 @@
 %build
 %define _lto_cflags %{nil}
 sed -i -e "s|-O2|%{optflags}|" squashfs-tools/Makefile
-make %{?_smp_mflags} -C squashfs-tools \
+%make_build -C squashfs-tools \
        LZMA_XZ_SUPPORT=1 XZ_SUPPORT=1 LZO_SUPPORT=1 %{?_lz4_def} %{?_zstd_def}
 
 %install
@@ -60,7 +60,7 @@
 
 %files
 %license COPYING
-%doc README-%{version} ACKNOWLEDGEMENTS CHANGES USAGE-4.6
+%doc README.md ACKNOWLEDGEMENTS CHANGES.md
 %{_bindir}/sqfs*
 %{_bindir}/mksquashfs
 %{_bindir}/unsquashfs

++++++ 4.6.1.tar.gz -> 4.7.5.tar.gz ++++++
++++ 47485 lines of diff (skipped)

++++++ squashfs-64k.patch ++++++
--- /var/tmp/diff_new_pack.x5hfJp/_old  2026-10-28 17:45:02.698296210 +0100
+++ /var/tmp/diff_new_pack.x5hfJp/_new  2026-10-28 17:45:02.704296459 +0100
@@ -1,51 +1,75 @@
-Index: squashfs-tools-4.6.1/squashfs-tools/mksquashfs.c
-===================================================================
---- squashfs-tools-4.6.1.orig/squashfs-tools/mksquashfs.c
-+++ squashfs-tools-4.6.1/squashfs-tools/mksquashfs.c
-@@ -6378,7 +6378,7 @@ static void print_options(FILE *stream,
-       fprintf(stream, "file on\n\t\t\tencountering them. This option makes ");
-       fprintf(stream, "Mksquashfs ignore\n\t\t\tthe zero filled blocks\n");
-       fprintf(stream, "\nExpert options (these may make the filesystem 
unmountable):\n");
--      fprintf(stream, "-nopad\t\t\tdo not pad filesystem to a multiple of 
4K\n");
-+      fprintf(stream, "-nopad\t\t\tdo not pad filesystem to a multiple of 
64K\n");
-       fprintf(stream, "-offset <offset>\tskip <offset> bytes at the beginning 
of ");
-       fprintf(stream, "FILESYSTEM.\n\t\t\tOptionally a suffix of K, M or G 
can be given ");
-       fprintf(stream, "to specify\n\t\t\tKbytes, Mbytes or Gbytes 
respectively.\n");
-@@ -6606,7 +6606,7 @@ static void print_sqfstar_options(FILE *
-       fprintf(stream, "memory for caches.  Default 25%%\n");
-       fprintf(stream, "-mem-default\t\tprint default memory usage in 
Mbytes\n");
-       fprintf(stream, "\nExpert options (these may make the filesystem 
unmountable):\n");
--      fprintf(stream, "-nopad\t\t\tdo not pad filesystem to a multiple of 
4K\n");
-+      fprintf(stream, "-nopad\t\t\tdo not pad filesystem to a multiple of 
64K\n");
-       fprintf(stream, "-offset <offset>\tskip <offset> bytes at the beginning 
of ");
-       fprintf(stream, "FILESYSTEM.\n\t\t\tOptionally a suffix of K, M or G 
can be given ");
-       fprintf(stream, "to specify\n\t\t\tKbytes, Mbytes or Gbytes 
respectively.\n");
-@@ -7605,9 +7605,9 @@ print_sqfstar_compressor_options:
-       set_progressbar_state(FALSE);
-       write_filesystem_tables(&sBlk);
+diff -urN squashfs-tools-4.7.5/squashfs-tools/mksquashfs.c 
new/squashfs-tools/mksquashfs.c
+Index: squashfs-tools-4.7.5/squashfs-tools/mksquashfs.c
+--- squashfs-tools-4.7.5.orig/squashfs-tools/mksquashfs.c      2026-03-01 
23:42:49.000000000 +0100
++++ squashfs-tools-4.7.5/squashfs-tools/mksquashfs.c   2026-10-18 
07:35:40.847607130 +0200
+@@ -593,9 +593,9 @@
+                               strerror(errno));
+       }
+ 
+-      if(!nopad && (i = get_dpos() & (4096 - 1))) {
+-              char temp[4096] = {0};
+-              write_destination(fd, get_dpos(), 4096 - i, temp);
++      if(!nopad && (i = get_dpos() & (65536 - 1))) {
++              char temp[65536] = {0};
++              write_destination(fd, get_dpos(), 65536 - i, temp);
+       }
  
--      if(!nopad && (i = bytes & (4096 - 1))) {
+       write_superblock(&sBlk);
+@@ -5961,7 +5961,7 @@
+       long long block;
+ 
+       if(streaming)
+-              block = nopad ? get_dpos() : (get_dpos() + 4095) & ~4095;
++              block = nopad ? get_dpos() : (get_dpos() + 65535) & ~65535;
+       else
+               block = SQUASHFS_START;
+ 
+@@ -7488,9 +7488,9 @@
+                               strerror(errno));
+       }
+ 
+-      if(!nopad && (i = get_dpos() & (4096 - 1))) {
 -              char temp[4096] = {0};
--              write_destination(fd, bytes, 4096 - i, temp);
-+      if(!nopad && (i = bytes & (65536 - 1))) {
+-              write_destination(fd, get_dpos(), 4096 - i, temp);
++      if(!nopad && (i = get_dpos() & (65536 - 1))) {
 +              char temp[65536] = {0};
-+              write_destination(fd, bytes, 65536 - i, temp);
++              write_destination(fd, get_dpos(), 65536 - i, temp);
        }
  
-       res = close(fd);
-@@ -8877,10 +8877,10 @@ print_compressor_options:
+       write_superblock(&sBlk);
+@@ -8943,9 +8943,9 @@
+                               strerror(errno));
+       }
  
-       set_progressbar_state(FALSE);
-       write_filesystem_tables(&sBlk);
--
--      if(!nopad && (i = bytes & (4096 - 1))) {
+-      if(!nopad && (i = get_dpos() & (4096 - 1))) {
 -              char temp[4096] = {0};
--              write_destination(fd, bytes, 4096 - i, temp);
-+      
-+      if(!nopad && (i = bytes & (65536 - 1))) {
+-              write_destination(fd, get_dpos(), 4096 - i, temp);
++      if(!nopad && (i = get_dpos() & (65536 - 1))) {
 +              char temp[65536] = {0};
-+              write_destination(fd, bytes, 65536 - i, temp);
++              write_destination(fd, get_dpos(), 65536 - i, temp);
        }
  
-       res = close(fd);
+       write_superblock(&sBlk);
+diff -urN squashfs-tools-4.7.5/squashfs-tools/mksquashfs_help.c 
new/squashfs-tools/mksquashfs_help.c
+Index: squashfs-tools-4.7.5/squashfs-tools/mksquashfs_help.c
+--- squashfs-tools-4.7.5.orig/squashfs-tools/mksquashfs_help.c 2026-03-01 
23:42:49.000000000 +0100
++++ squashfs-tools-4.7.5/squashfs-tools/mksquashfs_help.c      2026-10-18 
07:35:40.847607130 +0200
+@@ -464,7 +464,7 @@
+               "-stream " "option\n",
+       "-fix <filesystem>\tfix <filesystem> generated using the -stream "
+               "option\n",
+-      "-nopad\t\t\tdo not pad filesystem to a multiple of 4K\n",
++      "-nopad\t\t\tdo not pad filesystem to a multiple of 64K\n",
+       "-offset <offset>\tskip <offset> bytes at the beginning of FILESYSTEM."
+               "  Optionally a suffix of K, M or G can be given to specify "
+               "Kbytes, Mbytes or Gbytes respectively.  Default 0 bytes\n",
+@@ -784,7 +784,7 @@
+               "the -stream option\n",
+       "-fix <filesystem>\tfix <filesystem> generated using the -stream "
+               "option\n",
+-      "-nopad\t\t\tdo not pad filesystem to a multiple of 4K\n",
++      "-nopad\t\t\tdo not pad filesystem to a multiple of 64K\n",
+       "-offset <offset>\tskip <offset> bytes at the beginning of "
+               "FILESYSTEM.  Optionally a suffix of K, M or G can be given to "
+               "specify Kbytes, Mbytes or Gbytes respectively.  Default 0 "
 

++++++ squashfs-thread-limit ++++++
--- /var/tmp/diff_new_pack.x5hfJp/_old  2026-10-28 17:45:02.740297954 +0100
+++ /var/tmp/diff_new_pack.x5hfJp/_new  2026-10-28 17:45:02.753298494 +0100
@@ -1,11 +1,11 @@
-Index: squashfs-tools-4.6.1/squashfs-tools/mksquashfs.c
+Index: squashfs-tools-4.7.5/squashfs-tools/mksquashfs.c
 ===================================================================
---- squashfs-tools-4.6.1.orig/squashfs-tools/mksquashfs.c
-+++ squashfs-tools-4.6.1/squashfs-tools/mksquashfs.c
-@@ -5276,6 +5276,15 @@ static void initialise_threads(int readq
-               }
- #endif
-       }
+--- squashfs-tools-4.7.5.orig/squashfs-tools/mksquashfs.c
++++ squashfs-tools-4.7.5/squashfs-tools/mksquashfs.c
+@@ -5440,6 +5440,16 @@ static void initialise_threads(int readq
+       if(pthread_sigmask(SIG_BLOCK, &sigmask, &old_mask) != 0)
+               BAD_ERROR("Failed to set signal mask in initialise_threads\n");
+ 
 +      /* Every frag_thrd will:
 +       * * occupy a slot in the process table (_SC_CHILD_MAX), and will
 +       * * allocate SQUASHFS_FILE_MAX_SIZE (currently 1MiB), which is
@@ -15,7 +15,8 @@
 +       * ourselves to an impressive but sane arbitrary maximum.
 +       */
 +      if (processors > 64) processors = 64;
- 
++
        if(multiply_overflow(processors, 3) ||
                        multiply_overflow(processors * 3, sizeof(pthread_t)))
+               BAD_ERROR("Processors too large\n");
 

Reply via email to