GNU bug report logs - #77548
multiple packages fail check phases due to read-only file system root

Previous Next

Package: guix;

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


View this message in rfc822 format

From: keinflue <keinflue <at> posteo.net>
To: 77548 <at> debbugs.gnu.org
Cc: Ludo <ludo <at> gnu.org>
Subject: bug#77548: multiple packages fail check phases due to read-only file system root
Date: Sat, 05 Apr 2025 09:41:37 +0000
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 35 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.