tails-create-iuk fails when an updated file has a backslash in its name
When attempting to generate IUKs for Tails 6.0 (so only Tails_amd64_6.0~rc1_to_6.0.iuk
) I get the following error:
2024-02-26 18:55:17,543 INFO Creating /home/anonym/src/tails/isos/iuks/v2/Tails_amd64_6.0~rc1_to_6.0.iuk
mount: /tmp/ClJqMaeLxS/old_squashfs: WARNING: source write-protected, mounted read-only.
mount: /tmp/ClJqMaeLxS/new_squashfs: WARNING: source write-protected, mounted read-only.
TIME (rsync for 6.0.squashfs): 5 seconds
setfattr: /tmp/ClJqMaeLxS/union/rw/usr/lib/systemd/system/system-systemd\134134x2dcryptsetup.slice: No such file or directory
xargs failed: 31488 at ./tails/config/chroot_local-includes/usr/src/iuk/bin/tails-create-iuk line 24.
That file is literally named system-systemd\x2dcryptsetup.slice
, specifically the backslash in \x2d
is literal, so it is not escaping a hex code. In ascii, 2d
is the underscore character (_
), so something screwed up the naming.
Any way, Actually it is tails-create-iuk
is handling the above odd filename incorrectly, ending up with \134134x2d
.getfattr
that messes up the filename, which tails-create-iuk
understandably doesn't handle (#20230 (comment 227889)).
Possibly unrelated, the above command also continues with many failures like this:
cannot make directory read+writeable for /tmp/ClJqMaeLxS/old_iso: Read-only file system at /usr/lib/x86_64-linux-gnu/perl-base/File/Temp.pm line 2632.
cannot make directory read+writeable for /tmp/ClJqMaeLxS/old_iso/.disk: Read-only file system at /usr/lib/x86_64-linux-gnu/perl-base/File/Temp.pm line 2632.
cannot unlink file for /tmp/ClJqMaeLxS/old_iso/.disk/archive_trace: Read-only file system at /usr/lib/x86_64-linux-gnu/perl-base/File/Temp.pm line 2632.
cannot restore permissions to 0100444 for /tmp/ClJqMaeLxS/old_iso/.disk/archive_trace: Read-only file system at /usr/lib/x86_64-linux-gnu/perl-base/File/Temp.pm line 2632.
cannot unlink file for /tmp/ClJqMaeLxS/old_iso/.disk/info: Read-only file system at /usr/lib/x86_64-linux-gnu/perl-base/File/Temp.pm line 2632.
cannot restore permissions to 0100444 for /tmp/ClJqMaeLxS/old_iso/.disk/info: Read-only file system at /usr/lib/x86_64-linux-gnu/perl-base/File/Temp.pm line 2632.
cannot remove directory for /tmp/ClJqMaeLxS/old_iso/.disk: Read-only file system at /usr/lib/x86_64-linux-gnu/perl-base/File/Temp.pm line 2632.
[... many tens of thousands of lines ...]
Edited by anonym