Skip to content

Squashfs tools 4.6

Compare
Choose a tag to compare
@plougher plougher released this 18 Mar 01:17
· 590 commits to master since this release
4.6	17 MAR 2023	Major improvements in extended attribute handling,
			pseudo file handling, and miscellaneous new options and
			improvements

	1. Extended attribute handling improved in Mksquashfs and Sqfstar

		1.1.New -xattrs-exclude option to exclude extended attributes
		    from files using a regular expression.
		1.2 New -xattrs-include option to include extended attributes
		    from files using a regular expression.
		1.3 New -xattrs-add option to add extended attributes to files.
		1.4 New Pseudo file xattr definition to add extended attributes
		    to files.
		1.5 New xattrs-add Action to add extended attributes to files
		    (Mksquashfs only).

	2. Extended attribute handling improved in Unsquashfs

		2.1 New -xattrs-exclude option to exclude extended attributes
		    from files using a regular expression.
		2.2 New -xattrs-include option to include extended attributes
		    from files using a regular expression.
		2.3 Extended attributes are now supported in Pseudo file output.

	3. Other major improvements

		3.1 Unsquashfs can now output Pseudo files to standard out.
		3.2 Mksquashfs can now input Pseudo files from standard in.
		3.3 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.
		3.4 Pseudo files are now supported by Sqfstar.
		3.5 "Non-anchored" excludes are now supported by Unsquashfs.

	4. Mksquashfs minor improvements

		4.1 A new -max-depth option has been added, which limits
		    the depth Mksquashfs descends when creating the filesystem.
		4.2 A new -mem-percent option which allows memory for caches to
		    be specified as a percentage of physical RAM, rather than	
		    requiring an absolute value.
		4.3 A new -percentage option added which rather than generating
		    the full progress-bar instead outputs a percentage.  This
		    can be used with dialog --gauge etc.
		4.4 -mkfs-time, -all-time and -root-time options now take
		    a human date string, in addition to the seconds since
		    the epoch of 1970 00:00 UTC.  For example "now",
		    "last week", "Wed Mar 8 05:55:01 GMT 2023" are supported.
		4.5 -root-uid, -root-gid, -force-uid and -force-gid options now
		     take a user/group name in addition to the integer uid/gid.
		4.6 A new -mem-default option which displays default memory
		    usage for caches in Mbytes.
		4.7 A new -no-compression option which produces no compression,
		    and it is a short-cut for -noI, -noD, -noF and -noX.
		4.8 A new -pseudo-override option which makes pseudo file uids
		    and gids override -all-root, -force-uid and -force-gid
		    options.  Normally these options take precedence.

	5. Unsquashfs minor improvements

		5.1 New -all-time option which sets all file timestamps to
		    <time>, rather than the time stored in the filesystem
		    inode.  <time> can be an integer indicating seconds since
		    the epoch (1970-01-01) or a human string value such as
		    "now", "last week", or "Wed Feb 15 21:02:39 GMT 2023".
		5.2 New -full-precision option which uses full precision when
		    displaying times including seconds.  Use with -linfo, -lls,
		    -lln and -llc options.
		5.3 New -match option where Unsquashfs will abort if any
		    extract file does not match on anything, and can not be
		    resolved.
		5.4 New -percentage option added which rather than generating
		    the full progress-bar instead outputs a percentage.  This
		    can be used with dialog --gauge etc.

	6. Sqfstar minor improvements

		6.1 A new -ignore-zeros option added which allows tar files to
		    be concatenated together and fed to Sqfstar.  Normally a
		    tarfile has two consecutive 512 byte blocks filled with
		    zeros which means EOF and Sqfstar will stop reading after
		    the first tar file on encountering them. This option makes
		    Sqfstar ignore the zero filled blocks.
		6.2 A new -mem-percent option which allows memory for caches to
		    be specified as a percentage of physical RAM, rather than	
		    requiring an absolute value.
		6.3 A new -percentage option added which rather than generating
		    the full progress-bar instead outputs a percentage.  This
		    can be used with dialog --gauge etc.
		6.4 -mkfs-time, -all-time and -root-time options now take
		    a human date string, in addition to the seconds since
		    the epoch of 1970 00:00 UTC.  For example "now",
		    "last week", "Wed Mar 8 05:55:01 GMT 2023" are supported.
		6.5 -root-uid, -root-gid, -force-uid and -force-gid options now
		     take a user/group name in addition to the integer uid/gid.
		6.6 A new -mem-default option which displays default memory
		    usage for caches in Mbytes.
		6.7 A new -no-compression option which produces no compression,
		    and it is a short-cut for -noI, -noD, -noF and -noX.
		6.8 A new -pseudo-override option which makes pseudo file uids
		    and gids override -all-root, -force-uid and -force-gid
		    options.  Normally these options take precedence.
		6.9 Do not abort if ZERO filled blocks indicating end of the
		    TAR archive are missing.

	7. Other minor improvements

		7.1 If Mksquashfs/Unsquashfs fails to execute generating the
		    manpages because they have been cross-compiled, fall back
		    to using the pre-built manpages.
		7.2 Add new Makefile configure option USE_PREBUILT_MANPAGES
		    to always use pre-built manpages rather than generating
		    them when "make install" is run.

	8. Major bug fixes

		8.1 Following a symlink in Sqfscat or where -follow-symlinks
		    option is given with Unsquashfs, incorrectly triggered the
		    corrupted filesystem loop detection code.
		8.2 In Unsquashfs if a file was not writable it could not add
		    extended attributes to it.
		8.3 Sqfstar would incorrectly reject compressor specific
		    options that have an argument.
		8.4 Sqfstar would incorrectly strip pathname components in PAX
		    header linkpath if symbolic.
		8.5 Sqfstar -root-uid, -root-gid and -root-time options were
		    documented but not implemented.
		8.6 Mksquashfs -one-file-system option would not create empty
		    mount point directory when filesystem boundary crossed.
		8.7 Mksquashfs did not check the close() return result.