On 7/22/19 12:40 PM, László Böszörményi (GCS) wrote: > Hi David, > > On Mon, Jul 22, 2019 at 8:21 AM David Oberhollenzer > <goli...@infraroot.at> wrote: >> Both packages have a few features that the other doesn't have and >> the tooling in squashfs-tools-ng is *by intention* completely >> different than the one in squashfs-tools. So I would not recommend >> it as a direct replacement. > Thanks for the information. > >> The tools in squashfs-tools-ng have also been carefully named to not >> collide with tools from squashfs-tools, so that the two packages can >> be installed on the same system side-by-side without interfering. > But the output should be the same, right? I mean do you test > squashfs-tools-ng with different setups that its images always > correct? > The output is semantically the same, but different in regards to packing strategies, and non-deterministic, hard to control behavior of mksquashfs.
During initial development I tested against squashfs-tools, but quickly moved to developing against the kernel implementation, i.e. mounting the output, iterating over all files to check that everything is there and all inodes and xattrs can be read correctly. A defining feature of the squashfs-tools-ng is that the output is reproducible. At the moment, before pushing upstream I always run a few tests that unpack and repack a few embedded rootfs images that I know to be good (generated using squashfs-tools-ng) and verify that the output is byte-for-byte the same as the original image before unpacking. To make sure quality improves over time, or at least stays that way, the project also has an ever increasing unit test coverage and also makes use of static analysis tools, such as Coverity: https://scan.coverity.com/projects/squashfs-tools-ng At the moment, I use the squashfs-tools-ng tooling for building embedded rootfs images in spare time projects (besides a day job working on embedded devices, which includes being the upstream maintainer of mtd-utils). The devices I tested on so far still boot and appear to function properly after transitioning away from mksquashfs. But since I'm the only user I know of right now, some things are still untested (namely NFS exports, some xattr corner cases) and there may still be corner cases I overlooked in testing, hence version 1.0 will probably be a few iterations away. Regards, David > Regards, > Laszlo/GCS >