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
> 

Reply via email to