bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#77548: multiple packages fail check phases due to read-only file sys


From: keinflue
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.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]