Sync from SUSE:SLFO:Main squashfs revision 76f931d20ae850f33cac864f13f457f7

This commit is contained in:
Adrian Schröter 2024-05-04 00:50:19 +02:00
commit 988e27fca9
6 changed files with 655 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
4.6.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

50
squashfs-64k.patch Normal file
View File

@ -0,0 +1,50 @@
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);
- if(!nopad && (i = bytes & (4096 - 1))) {
- char temp[4096] = {0};
- write_destination(fd, bytes, 4096 - i, temp);
+ if(!nopad && (i = bytes & (65536 - 1))) {
+ char temp[65536] = {0};
+ write_destination(fd, bytes, 65536 - i, temp);
}
res = close(fd);
@@ -8877,10 +8877,10 @@ print_compressor_options:
set_progressbar_state(FALSE);
write_filesystem_tables(&sBlk);
-
- if(!nopad && (i = bytes & (4096 - 1))) {
- char temp[4096] = {0};
- write_destination(fd, bytes, 4096 - i, temp);
+
+ if(!nopad && (i = bytes & (65536 - 1))) {
+ char temp[65536] = {0};
+ write_destination(fd, bytes, 65536 - i, temp);
}
res = close(fd);

20
squashfs-thread-limit Normal file
View File

@ -0,0 +1,20 @@
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
@@ -5276,6 +5276,15 @@ static void initialise_threads(int readq
}
#endif
}
+ /* 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
+ * accounted towards the per-process datasize limit, and will
+ * * open 1 file descriptor (_SC_OPEN_MAX).
+ * Before we hit any of those limits on big irons, limit
+ * 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)))

490
squashfs.changes Normal file
View File

@ -0,0 +1,490 @@
-------------------------------------------------------------------
Mon Jul 3 13:48:44 UTC 2023 - Torsten Duwe <duwe@suse.com>
- For reference: previous updates fixed
* CVE-2021-40153 (bsc#1189936)
* CVE-2015-4645, CVE-2015-4646 (bsc#935380)
-------------------------------------------------------------------
Sat Apr 15 09:55:32 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 4.6.1:
* Race condition which can cause corruption of the "fragment
table" fixed. This is a regression introduced in August 2022,
and it has been seen when tailend packing is used (-tailends option).
* Fix build failure when the tools are being built without
extended attribute (XATTRs) support.
* Fix XATTR error message when an unrecognised prefix is
found
* Fix incorrect free of pointer when an unrecognised XATTR
prefix is found.
* Major improvements in extended attribute handling,
pseudo file handling, and miscellaneous new options and
improvements
* Extended attribute handling improved in Mksquashfs and
Sqfstar
* New Pseudo file xattr definition to add extended
attributes to files.
* New xattrs-add Action to add extended attributes to files
* Extended attribute handling improved in Unsquashfs
* Other major improvements
* Unsquashfs can now output Pseudo files to standard out.
* Mksquashfs can now input Pseudo files from standard in.
* Squashfs filesystems can now be converted (different
block size compression etc) without unpacking to an
intermediate filesystem or mounting, by piping the output of
Unsquashfs to Mksquashfs.
* Pseudo files are now supported by Sqfstar.
* "Non-anchored" excludes are now supported by Unsquashfs.
-------------------------------------------------------------------
Fri Oct 14 12:33:23 UTC 2022 - Torsten Duwe <duwe@suse.com>
- Do not repeat openSUSE / SLE version tests
- Actually format and package the man pages
-------------------------------------------------------------------
Sun May 8 04:11:28 UTC 2022 - Cristian Rodríguez <crrodriguez@opensuse.org>
- set LZMA_XZ_SUPPORT=1 so you can (un)squash -comp lzma images
-------------------------------------------------------------------
Sun Mar 20 19:51:00 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 4.5.1 (bsc#1190531, CVE-2021-41072):
* This release adds Manpages for Mksquashfs(1), Unsquashfs(1),
Sqfstar(1) and Sqfscat(1).
* The -help text output from the utilities has been improved
and extended as well (but the Manpages are now more
comprehensive).
* CVE-2021-41072 which is a writing outside of destination
exploit, has been fixed.
* The number of hard-links in the filesystem is now also
displayed by Mksquashfs in the output summary.
* The number of hard-links written by Unsquashfs is now
also displayed in the output summary.
* Unsquashfs will now write to a pre-existing destination
directory, rather than aborting.
* Unsquashfs now allows "." to used as the destination, to
extract to the current directory.
* The Unsquashfs progress bar now tracks empty files and
hardlinks, in addition to data blocks.
* -no-hardlinks option has been implemented for Sqfstar.
* More sanity checking for "corrupted" filesystems, including
checks for multiply linked directories and directory loops.
* Options that may cause filesystems to be unmountable have
been moved into a new "experts" category in the Mksquashfs
help text (and Manpage).
* Maximum cpiostyle filename limited to PATH_MAX. This
prevents attempts to overflow the stack, or cause system
calls to fail with a too long pathname.
* Don't always use "max open file limit" when calculating
length of queues, as a very large file limit can cause
Unsquashfs to abort. Instead use the smaller of max open
file limit and cache size.
* Fix Mksquashfs silently ignoring Pseudo file definitions
when appending.
* Don't abort if no XATTR support has been built in, and
there's XATTRs in the filesystem. This is a regression
introduced in 2019 in Version 4.4.
* Fix duplicate check when the last file block is sparse.
-------------------------------------------------------------------
Sat Dec 11 23:03:19 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 4.5:
* Mksquashfs now supports "Actions".
* New sqfstar command which will create a Squashfs image from a tar archive.
* Tar style handling of source pathnames in Mksquashfs.
* Cpio style handling of source pathnames in Mksquashfs.
* New option to throttle the amount of CPU and I/O.
* Mksquashfs now allows no source directory to be specified.
* New Pseudo file "R" definition which allows a Regular file
o be created with data stored within the Pseudo file.
* Symbolic links are now followed in extract files
* Unsquashfs now supports "exclude" files.
* Max depth traversal option added.
* Unsquashfs can now output a "Pseudo file" representing the
input Squashfs filesystem.
* New -one-file-system option in Mksquashfs.
* New -no-hardlinks option in Mksquashfs.
* Exit code in Unsquashfs changed to distinguish between
non-fatal errors (exit 2), and fatal errors (exit 1).
* Xattr id count added in Unsquashfs "-stat" output.
* Unsquashfs "write outside directory" exploit fixed.
* Error handling in Unsquashfs writer thread fixed.
* Fix failure to truncate destination if appending aborted.
* Prevent Mksquashfs reading the destination file.
-------------------------------------------------------------------
Tue Sep 1 17:16:30 UTC 2020 - Björn Voigt <bjoernv@arcor.de>
- enabled ZSTD compression support for openSUSE >= 15.1
-------------------------------------------------------------------
Tue Mar 31 11:41:23 UTC 2020 - Martin Liška <mliska@suse.cz>
- Add -fcommon in order to fix boo#1160294.
-------------------------------------------------------------------
Mon Oct 21 13:45:56 UTC 2019 - Philipp Seiler <p.seiler@linuxmail.org>
- Version 4.4 - 2019-08-29:
* Reproducible builds, new compressors,
CVE fixes, security hardening and new options
for Mksquashfs/Unsquashfs.
- Overall improvements:
* Mksquashfs now generates reproducible images by default.
* Mkfs time and file timestamps can also be specified.
* Support for the Zstandard (ZSTD) compression algorithm.
* CVE-2015-4645 and CVE-2015-4646 have been fixed.
- Mksquashfs improvements and major bug fixes:
* Pseudo files now support symbolic links.
* New -mkfs-time option.
* New -all-time option.
* New -root-mode option.
* New -quiet option.
* New -noId option.
* New -offset option.
* Update lz4 wrapper to use new functions introduced
in 1.7.0.
* Bug fix, don't allow "/" pseudo filenames.
* Bug fix, allow quoting of pseudo files, to
better handle filenames with spaces.
* Fix compilation with glibc 2.25+.
- Unsquashfs improvements and major bug fixes:
* CVE-2015-4645 and CVE-2015-4646 have been fixed.
* Unsquashfs has been further hardened against corrupted
filestems.
* Unsquashfs is now more strict about error handling.
* New -ignore-errors option.
* New -strict-errors option.
* New -lln[umeric] option.
* New -lc option.
* New -llc option.
* New -mkfs-time option.
* New -UTC option.
* New -offset option.
* New -quiet option.
* Update lz4 wrapper to use new functions introduced
in 1.7.0.
* Bug fix, fatal and non-fatal errors now set the exit
code to 1.
* Bug fix, fix time setting for symlinks.
* Bug fix, try to set sticky-bit when running as a
user process.
* Fix compilation with glibc 2.25+.
- build changes:
* re-created patches to fit squashfs 4.4
* removed 0001-mksquashfs-fix-rare-race-in-fragment-waiting-in-file.patch
(new version includes this change)
* removed 0002-Fix-2GB-limit-of-the-is_fragment-.-function.patch
(new version includes this change)
* removed 0003-Add-offset-function-to-skip-n-bytes.patch
(new version includes this change)
* removed sysmacros.patch
(new version includes this change)
-------------------------------------------------------------------
Wed Jun 5 20:21:30 UTC 2019 - Philipp <p.seiler@linuxmail.org>
- Add -offset function to skip n bytes at the beginning of the squashfs…
https://github.com/plougher/squashfs-tools/commit/5a498ad24dcfeac9f3d747e894f22901f3ac10
(0003-Add-offset-function-to-skip-n-bytes.patch)
-------------------------------------------------------------------
Wed Apr 24 17:41:17 UTC 2019 - Martin Liška <mliska@suse.cz>
- Disable LTO (boo#1133284).
-------------------------------------------------------------------
Thu Mar 21 00:00:00 CET 2019 - dsterba@suse.cz
- Use | instead of / that can be part of -L or -I options.
-------------------------------------------------------------------
Wed Mar 20 15:51:14 UTC 2019 - Dominique Leuenberger <dimstar@opensuse.org>
- Use / as sed command delimiter. Comma can actually show up in
optflags (think -Wl,…), which then breaks the sed command line
parsing.
-------------------------------------------------------------------
Wed Aug 1 14:36:31 UTC 2018 - schwab@suse.de
- sysmacros.patch: Include <sys/sysmacros.h> for major/minor/makedev
-------------------------------------------------------------------
Thu Jun 16 15:18:06 UTC 2016 - duwe@suse.com
- Machines with 1024 processors or more reach the limit of maximum
file descriptors (bsc#984136). Other limits apply that may be
hit for no good reason. Simply limit the number of used threads
to an arbitrary number, squashfs-thread-limit.
-------------------------------------------------------------------
Thu Jan 21 16:45:45 UTC 2016 - dmueller@suse.com
- fix build for SLE12 and older
-------------------------------------------------------------------
Thu Nov 5 08:29:56 UTC 2015 - seife+obs@b1-systems.com
- add patches to fix eventual file corruption (boo#953723)
0001-mksquashfs-fix-rare-race-in-fragment-waiting-in-file.patch
0002-Fix-2GB-limit-of-the-is_fragment-.-function.patch
-------------------------------------------------------------------
Tue Sep 1 08:23:28 UTC 2015 - 9@cirno.systems
- Enable LZ4 support
-------------------------------------------------------------------
Fri Mar 6 08:31:28 UTC 2015 - mpluskal@suse.com
- Use url for source
- Cleanup spec file with spec-cleaner
-------------------------------------------------------------------
Mon Jun 23 18:58:00 UTC 2014 - crrodriguez@opensuse.org
- Since version 4.3, squasfs does not require attr-devel
but uses glibc instead.
-------------------------------------------------------------------
Fri May 16 13:09:05 UTC 2014 - duwe@suse.com
- update to 4.3:
- unsquashfs: add checks for corrupted data in opendir functions
- unsquashfs: completely empty filesystems incorrectly generate an error
- unsquashfs: fix open file limit
- mksquashfs: Use linked list to store directory entries rather
- mksquashfs: Remove qsort and add a bottom up linked list merge sort
- mksquashfs: optimise lookup_inode2() for dirs
- pseudo: fix handling of modify pseudo files
- pseudo: fix handling of directory pseudo files
- xattr: Fix ERROR() so that it is synchronised with the progress bar
- mksquashfs/sort: Fix INFO() so that it is synced with the progress bar
- mksquashfs: Add -progress to force progress bar when using -info
- error.h: consolidate the various error macros into one header file
- mksquashfs: fix stack overflow in write_fragment_table()
- mksquashfs: move list allocation from off the stack
- unsquashfs: fix oversight in directory permission setting
- mksquashfs: dynamically allocate recovery_file
- mksquashfs: dynamically allocate buffer in subpathname()
- mksquashfs: dynamically allocate buffer in pathname()
- unsquashfs: fix CVE-2012-4024
- unsquashfs: fix CVE-2012-4025
- mksquashfs: fix potential stack overflow in get_component()
- mksquashfs: add parse_number() helper for numeric command line options
- mksquasfs: check return value of fstat() in reader_read_file()
- mksquashfs: dynamically allocate filename in old_add_exclude()
- unsquashfs: dynamically allocate pathname in dir_scan()
- unsquashfs: dynamically allocate pathname in pre_scan()
- sort: dynamically allocate filename in add_sort_list()
- mksquashfs: fix dir_scan() exit if lstat of source directory fails
- pseudo: fix memory leak in read_pseudo_def() if exec_file() fails
- pseudo: dynamically allocate path in dump_pseudo()
- mksquashfs: dynamically allocate path in display_path2()
- mksquashfs: dynamically allocate b_buffer in getbase()
- pseudo: fix potential stack overflow in get_component()
- pseudo: avoid buffer overflow in read_pseudo_def() using sscanf()
- pseudo: dynamically allocate filename in exec_file()
- pseudo: avoid buffer overflow in read_sort_file() using fscanf()
- sort: tighten up sort file parsing
- unsquashfs: fix name under-allocation in process_extract_files()
- unsquashfs: avoid buffer overflow in print_filename() using sprintf()
- Fix some limits in the file parsing routines
- pseudo: Rewrite pseudo file processing
- read_fs: fix small memory leaks in read_filesystem()
- mksquashfs: fix fclose leak in reader_read_file() on I/O error
- mksquashfs: fix frag struct leak in write_file_{process|blocks|frag}
- unsquashfs_xattr: fix memory leak in write_xattr()
- read_xattrs: fix xattr free in get_xattr() in error path
- unsquashfs: add -user-xattrs option to only extract user.xxx xattrs
- unsquashfs: add code to only print "not superuser" error message once
- unsquashfs: check for integer overflow in user input
- mksquashfs: check for integer overflow in user input
- mksquashfs: fix "new" variable leak in dir_scan1()
- read_fs: prevent buffer {over|under}flow in read_block() with
corrupted filesystems
- read_fs: check metadata blocks are expected size in scan_inode_table()
- read_fs: check the root inode block is found in scan_inode_table()
- read_fs: Further harden scan_inode_table() against corrupted
filesystems
- unsquashfs: prevent buffer {over|under}flow in read_block() with
corrupted filesystems
- read_xattrs: harden xattr data reading against corrupted filesystems
- unsquash-[23]: harden frag table reading against corrupted filesystems
- unsquash-4.c: harden uid/gid & frag table reading against corruption
- unsquashfs: harden inode/directory table reading against corruption
- mksquashfs: improve out of space in output filesystem handling
- mksquashfs: flag lseek error in writer as probable out of space
- mksquashfs: flag lseek error in write_destination as probable out of
space
- mksquashfs: print file being squashed when ^\ (SIGQUIT) typed
- mksquashfs: make EXIT_MKSQUASHFS() etc restore via new restore thread
- mksquashfs: fix recursive restore failure check
- info: dump queue and cache status if ^\ hit twice within one second
- mksquashfs: fix rare race condition in "locked fragment" queueing
- lz4: add experimental support for lz4 compression
- lz4: add support for lz4 "high compression"
- lzo_wrapper: new implementation with compression options
- gzip_wrapper: add compression options
- mksquashfs: redo -comp <compressor> parsing
- mksquashfs: display compressor options when -X option isn't recognised
- mksquashfs: add -Xhelp option
- mksquashfs/unsquashfs: fix mtime signedness
- Mksquashfs: optimise duplicate checking when appending
- Mksquashfs: introduce additional per CPU fragment process threads
- Mksquashfs: significantly optimise fragment duplicate checking
- read_fs: scan_inode_table(), fix memory leak on filesystem corruption
- pseudo: add_pseudo(), fix use of freed variable
- mksquashfs/unsquashfs: exclude/extract/pseudo files, fix handling of
leaf name
- mksquashfs: rewrite default queue size so it's based on physical mem
- mksquashfs: add a new -mem <mbytes> option
- mksquashfs: fix limit on the number of dynamic pseudo files
- mksquashfs: make -mem take a normal byte value, optionally with a
K, M or G
-------------------------------------------------------------------
Sat May 26 08:45:57 UTC 2012 - jengelh@inai.de
- Remove redundant tags/sections from specfile
- Parallel build with %_smp_mflags
-------------------------------------------------------------------
Sun Jan 22 17:01:12 CET 2012 - dmueller@suse.de
- enable support for xz and lzo (kernel has support already)
-------------------------------------------------------------------
Thu Nov 3 19:00:03 UTC 2011 - dvaleev@suse.com
- The ppc64 kernel uses a page size of 64kB but mksquashfs only
pads to a 4kB boundary. When we loopback mount a squashfs file
that isn't 64kB aligned and access the last sector of the
associated loopback device we see a stream of errors.
Disk partitioning tools seem to like accessing the last 512
bytes of partitions.
This should fix warnings seen during starting installation on
ppc64 and IA64
-------------------------------------------------------------------
Tue May 24 16:41:14 CEST 2011 - dimstar@opensuse.org
- Update to version 4.2:
+ Filesystem improvements:
- Added XZ compression
- Added compression options support
+ Miscellaneous improvements/bug fixes:
- Add missing NO_XATTR filesystem flag to indicate no-xattrs
option was specified and no xattrs should be stored when
appending.
- Add suppport in Unquashfs -stat option for displaying
NO_XATTR flag.
- Remove checkdata entry from Unsquashfs -stat option if a 4.0
filesystem - checkdata is no longer supported.
- Fix appending bug when appending to an empty filesystem -
this would be incorrectly treated as an error.
- Use glibc sys/xattr.h include rather than using attr/xattr.h
which isn't present by default on some distributions.
- Unsquashfs, fix block calculation error with regular files
when file size is between 2^32-block_size+1 and 2^32-1.
- Unsquashfs, fix sparse file writing when holes are larger
than 2^31-1.
- Add external CFLAGS and LDFLAGS support to Makefile, and
allow build options to be specified on command line.
Also don't over-write passed in CFLAGS definition.
-------------------------------------------------------------------
Tue Nov 2 18:41:08 UTC 2010 - coolo@novell.com
- update to 4.1
- support for lzo (>= 2.6.36) and lzma (not yet mainline)
- xattr support
- misc fixes for the tools
-------------------------------------------------------------------
Mon Sep 21 14:47:01 CEST 2009 - snwint@suse.de
- removed obsolete source file
-------------------------------------------------------------------
Thu Sep 17 12:49:44 CEST 2009 - snwint@suse.de
- update to squashfs 4.0 (unsquashfs actually works)
-------------------------------------------------------------------
Wed Feb 25 16:27:55 CET 2009 - coolo@suse.de
- update to squashfs pre 4.0 to create squashfs that 2.6.29 can
actually read
- (there is no documentation in CVS)
-------------------------------------------------------------------
Thu Aug 23 14:57:03 CEST 2007 - olh@suse.de
- move kernel driver to kernel-binary.rpm
-------------------------------------------------------------------
Thu Aug 16 14:06:32 CEST 2007 - cthiel@suse.de
- Supplements: filesystem(squashfs)
-------------------------------------------------------------------
Wed Jun 6 01:36:49 CEST 2007 - ro@suse.de
- fix build with current kernel
-------------------------------------------------------------------
Wed Apr 4 22:09:34 CEST 2007 - lrupp@suse.de
- added module-init-tools to BuildRequires
-------------------------------------------------------------------
Thu Mar 29 16:21:12 CEST 2007 - rguenther@suse.de
- added zlib-devel BuildRequires.
-------------------------------------------------------------------
Tue Jan 23 15:45:15 CET 2007 - ro@suse.de
- update to 3.2r2
- Kernel patches 2.6.19/2.6.20 have been updated to use
const structures and mutexes rather than older semaphores.
- Minor SMP bug fixes.
- Progress bar broken on x86-64. Fixed.
- update to 3.2
- Improvements:
- Squashfs filesystems can now be exported via NFS.
- Unsquashfs now supports 2.x filesystems.
- Mksquashfs now displays a progress bar.
- Squashfs kernel code has been hardened against accidently or
maliciously corrupted Squashfs filesystems.
- Bug fixes:
- Race condition occurring on S390 in readpage() fixed.
- Odd behaviour of MIPS memcpy in read_data() routine worked-around.
- Missing cache_flush in Squashfs symlink_readpage() added.
- update to 3.1r2
- A code optimisation after testing unfortunately
broke sorting in Mksquashfs. This has been fixed.
-------------------------------------------------------------------
Mon Aug 21 16:54:16 CEST 2006 - ro@suse.de
- update to version 3.1 to fix build on 2.6.18
-------------------------------------------------------------------
Thu May 11 16:58:59 CEST 2006 - duwe@suse.de
- packaged current version for SuSE Linux.

69
squashfs.spec Normal file
View File

@ -0,0 +1,69 @@
#
# spec file for package squashfs
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: squashfs
Version: 4.6.1
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
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
squashfs images.
%prep
%autosetup -p1 -n squashfs-tools-%{version}
%build
%define _lto_cflags %{nil}
sed -i -e "s|-O2|%{optflags}|" squashfs-tools/Makefile
make %{?_smp_mflags} -C squashfs-tools \
LZMA_XZ_SUPPORT=1 XZ_SUPPORT=1 LZO_SUPPORT=1 %{?_lz4_def} %{?_zstd_def}
%install
make -C squashfs-tools install \
INSTALL_PREFIX=%{buildroot}%{_prefix} \
INSTALL_MANPAGES_DIR=%{buildroot}%{_mandir}/man1
%files
%license COPYING
%doc README-%{version} ACKNOWLEDGEMENTS CHANGES USAGE-4.6
%{_bindir}/sqfs*
%{_bindir}/mksquashfs
%{_bindir}/unsquashfs
%{_mandir}/man1/*
%changelog