I've further narrowed it down to - if the squashfs contains a hard link to a symbolic link, and is produced on xenial or bionic, and tested on focal, then it fails.
Produce on focal, test on focal - it works.
Produce on bionic, test on focal - FAILS
produce on xenial, test on bionic - it works.
produce on xenial, test on focal - FAILS
"a hard link to a symbolic link" is something like:
I'm attaching a simple script that allows testing/reproducing this under various combinations of packer and tester ubuntu releases by setting the PACKER and TESTER variables. Requires having lxd installed with a non-zfs storage backend.
I've further narrowed it down to - if the squashfs contains a hard link to a symbolic link, and is produced on xenial or bionic, and tested on focal, then it fails.
Produce on focal, test on focal - it works.
Produce on bionic, test on focal - FAILS
produce on xenial, test on bionic - it works.
produce on xenial, test on focal - FAILS
"a hard link to a symbolic link" is something like:
touch a-file to-symlink
ln -s a-file a-symlink
mkdir a-dir
ln a-symlink hard-link-
I'm attaching a simple script that allows testing/reproducing this under various combinations of packer and tester ubuntu releases by setting the PACKER and TESTER variables. Requires having lxd installed with a non-zfs storage backend.