diff --git a/4.5.tar.gz b/4.5.tar.gz new file mode 100644 index 0000000..1a12b88 --- /dev/null +++ b/4.5.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9e16188e6dc1857fe312633920f7d71cc36b0162eb50f3ecb1f0040f02edddd +size 250471 diff --git a/squashfs-64k.patch b/squashfs-64k.patch index e48cd43..ec795ad 100644 --- a/squashfs-64k.patch +++ b/squashfs-64k.patch @@ -1,9 +1,28 @@ -diff -dupr squashfs4.4/squashfs-tools/mksquashfs.c squashfs4.4_new/squashfs-tools/mksquashfs.c ---- squashfs4.4/squashfs-tools/mksquashfs.c 2019-08-29 03:58:04.000000000 +0200 -+++ squashfs4.4/squashfs-tools/mksquashfs.c 2019-10-21 15:34:39.393253955 +0200 -@@ -4948,9 +4948,9 @@ void write_filesystem_tables(struct squa - SQUASHFS_INSWAP_SUPER_BLOCK(sBlk); - write_destination(fd, SQUASHFS_START, sizeof(*sBlk), sBlk); +Index: squashfs-tools-4.5/squashfs-tools/mksquashfs.c +=================================================================== +--- squashfs-tools-4.5.orig/squashfs-tools/mksquashfs.c ++++ squashfs-tools-4.5/squashfs-tools/mksquashfs.c +@@ -5954,7 +5954,7 @@ static void print_options(FILE *stream, + fprintf(stream, "-root-gid \t\tset root directory group to \n"); + fprintf(stream, "-force-uid \tset all file uids to \n"); + fprintf(stream, "-force-gid \tset all file gids to \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, "-keep-as-directory\tif one source directory is specified, "); + fprintf(stream, "create a root\n"); + fprintf(stream, "\t\t\tdirectory containing that directory, rather than the\n"); +@@ -6112,7 +6112,7 @@ static void print_sqfstar_options(FILE * + fprintf(stream, "-root-gid \t\tset root directory group to \n"); + fprintf(stream, "-force-uid \tset all file uids to \n"); + fprintf(stream, "-force-gid \tset all file gids to \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, "\nFilesystem filter options:\n"); + fprintf(stream, "-ef \tlist of exclude dirs/files. "); + fprintf(stream, "One per line\n"); +@@ -6877,9 +6877,9 @@ print_sqfstar_compressor_options: + set_progressbar_state(FALSE); + write_filesystem_tables(&sBlk); - if(!nopad && (i = bytes & (4096 - 1))) { - char temp[4096] = {0}; @@ -14,12 +33,3 @@ diff -dupr squashfs4.4/squashfs-tools/mksquashfs.c squashfs4.4_new/squashfs-tool } close(fd); -@@ -5898,7 +5898,7 @@ printOptions: - ERROR("-force-uid \tset all file uids to \n"); - ERROR("-force-gid \tset all file gids to \n"); - ERROR("-nopad\t\t\tdo not pad filesystem to a multiple " -- "of 4K\n"); -+ "of 64K\n"); - ERROR("-keep-as-directory\tif one source directory is " - "specified, create a root\n"); - ERROR("\t\t\tdirectory containing that directory, " diff --git a/squashfs.changes b/squashfs.changes index 62f864b..ec92fb9 100644 --- a/squashfs.changes +++ b/squashfs.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +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 diff --git a/squashfs.spec b/squashfs.spec index 5159c63..69c709b 100644 --- a/squashfs.spec +++ b/squashfs.spec @@ -1,7 +1,7 @@ # # spec file for package squashfs # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,40 +17,37 @@ Name: squashfs -Version: 4.4 +Version: 4.5 Release: 0 Summary: A Read-Only File System with Efficient Compression License: GPL-2.0-or-later Group: System/Filesystems -URL: http://squashfs.sourceforge.net/ -Source0: http://sourceforge.net/projects/squashfs/files/squashfs/%{name}%{version}/%{name}%{version}.tar.gz +URL: https://github.com/plougher/squashfs-tools +Source0: https://github.com/plougher/squashfs-tools/archive/refs/tags/4.5.tar.gz Patch0: squashfs-64k.patch Patch1: squashfs-thread-limit +BuildRequires: lzma-devel +BuildRequires: lzo-devel +BuildRequires: zlib-devel +Supplements: filesystem(squashfs) %if %{?suse_version} > 1315 BuildRequires: liblz4-devel %endif %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150100 BuildRequires: libzstd-devel %endif -BuildRequires: lzma-devel -BuildRequires: lzo-devel -BuildRequires: zlib-devel -Supplements: filesystem(squashfs) -BuildRoot: %{_tmppath}/%{name}-%{version}-build %description This package contains the userland utilities to create and read squashfs images. %prep -%setup -q -n squashfs%{version} -%patch0 -p1 -%patch1 -p1 +%autosetup -p1 -n squashfs-tools-%{version} %build %define _lto_cflags %{nil} -sed -i -e "s|-O2|%{optflags} -fcommon|" squashfs-tools/Makefile -make %{?_smp_mflags} -C squashfs-tools XZ_SUPPORT=1 LZO_SUPPORT=1 \ +sed -i -e "s|-O2|%{optflags}|" squashfs-tools/Makefile +%make_build -C squashfs-tools XZ_SUPPORT=1 LZO_SUPPORT=1 \ %if %{?suse_version} > 1315 LZ4_SUPPORT=1 \ %endif @@ -63,8 +60,8 @@ mkdir -p %{buildroot}%{_bindir} install -m 755 squashfs-tools/{un,mk}squashfs %{buildroot}%{_bindir} %files -%defattr(-,root,root) -%doc README-%{version} ACKNOWLEDGEMENTS CHANGES COPYING USAGE +%license COPYING +%doc README-%{version} ACKNOWLEDGEMENTS CHANGES USAGE %{_bindir}/*squashfs %changelog diff --git a/squashfs4.4.tar.gz b/squashfs4.4.tar.gz deleted file mode 100644 index 5f5b238..0000000 --- a/squashfs4.4.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a981b3f3f2054b5a2e658851a3c06a2460ad04a9a8a645e0afe063a63fdbb07e -size 190797