GNU bug report logs -
#77548
multiple packages fail check phases due to read-only file system root
Previous Next
Reported by: keinflue <keinflue <at> posteo.net>
Date: Sat, 5 Apr 2025 12:20:02 UTC
Severity: important
Merged with 77570
Done: Ludovic Courtès <ludo <at> chbouib.org>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hi everyone,
probably since commit 40f69b586a several packages including shepherd, go
(bootstrap), ruby and scons fail their check phases.
They all fail with EROFS "read-only file system" errors. The pattern
seems to be that these packages attempt to remove non-existent files
under /, e.g. /does-not-exist for the pid-file.sh test case in shepherd.
They expect the unlink/unlinkat syscall to fail with ENOENT, but the
linux kernel produces EROFS if the file system is read-only, even if the
file doesn't exist, and glibc does not modify this behavior for the C
library functions.
On one hand this is probably not POSIX-conforming behavior of
linux/glibc and there was a patch rectifying this in version 3.2 (commit
e6bc45d65d) of the kernel, but that regressed with 3.6 (commit
c30dabfe5d) from what I can tell.
On the the other hand, I do not think that attempting to delete
arbitrary files on the file system root with the assumption that it will
fail in specific ways is a good idea either and that the files do not
actually exist is not a good idea either.
Not sure what the correct approach to fixing this would be.
This bug report was last modified 36 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.