From a41ae3fb30d837269d24966f7ce45dd90585a5c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Thu, 19 Oct 2023 06:53:01 +0200 Subject: [PATCH] Sync from SUSE:ALP:Source:Standard:1.0 squashfs revision 76f931d20ae850f33cac864f13f457f7 --- .gitattributes | 23 ++ 4.6.1.tar.gz | 3 + squashfs-64k.patch | 50 +++++ squashfs-thread-limit | 20 ++ squashfs.changes | 490 ++++++++++++++++++++++++++++++++++++++++++ squashfs.spec | 69 ++++++ 6 files changed, 655 insertions(+) create mode 100644 .gitattributes create mode 100644 4.6.1.tar.gz create mode 100644 squashfs-64k.patch create mode 100644 squashfs-thread-limit create mode 100644 squashfs.changes create mode 100644 squashfs.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/4.6.1.tar.gz b/4.6.1.tar.gz new file mode 100644 index 0000000..928e71a --- /dev/null +++ b/4.6.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94201754b36121a9f022a190c75f718441df15402df32c2b520ca331a107511c +size 286848 diff --git a/squashfs-64k.patch b/squashfs-64k.patch new file mode 100644 index 0000000..3e2d513 --- /dev/null +++ b/squashfs-64k.patch @@ -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 \tskip 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 \tskip 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); diff --git a/squashfs-thread-limit b/squashfs-thread-limit new file mode 100644 index 0000000..5432e30 --- /dev/null +++ b/squashfs-thread-limit @@ -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))) diff --git a/squashfs.changes b/squashfs.changes new file mode 100644 index 0000000..2a22262 --- /dev/null +++ b/squashfs.changes @@ -0,0 +1,490 @@ +------------------------------------------------------------------- +Mon Jul 3 13:48:44 UTC 2023 - Torsten Duwe + +- 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 + +- 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 + +- 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 + +- set LZMA_XZ_SUPPORT=1 so you can (un)squash -comp lzma images + +------------------------------------------------------------------- +Sun Mar 20 19:51:00 UTC 2022 - Dirk Müller + +- 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 + +- 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 + +- enabled ZSTD compression support for openSUSE >= 15.1 + +------------------------------------------------------------------- +Tue Mar 31 11:41:23 UTC 2020 - Martin Liška + +- Add -fcommon in order to fix boo#1160294. + +------------------------------------------------------------------- +Mon Oct 21 13:45:56 UTC 2019 - Philipp Seiler + +- 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 + +- 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 + +- 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 + +- 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 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 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 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. + diff --git a/squashfs.spec b/squashfs.spec new file mode 100644 index 0000000..ddf5e9d --- /dev/null +++ b/squashfs.spec @@ -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