bug#55583: guix-daemon doesn't cleanly error-out on case-insensitive file systems.
Maxime Devos writes: Create a file /gnu/store/case-sensitivity-test (if it doesn't already exist). Open /gnu/store/CASE-SENSITIVITY-TEST. If it succeeds, you have a case-sensitive file system. Hah. I was so wrapped up in thinking about kernel or POSIX APIs I missed the obvious thing. ;) /If/ we go this route, though, I’d suggest a small change to handle so-called “mixed-case” file-systems, where you can have two files differentiated by case, but if there’s no ambiguity, then one may address a file using any case: - echo lower-case > case-sensitivity-test - echo UPPER-CASE > CASE-SENSITIVITY-TEST - test x$(cat CASE-SENSITIVITY-TEST) = xUPPER-CASE -bjc
bug#55583: guix-daemon doesn't cleanly error-out on case-insensitive file systems.
Brian Cully schreef op ma 23-05-2022 om 12:54 [-0400]: > I don’t know of a good way to check this in a file-system > independent manner Create a file /gnu/store/case-sensitivity-test (if it doesn't already exist). Open /gnu/store/CASE-SENSITIVITY-TEST. If it succeeds, you have a case-sensitive file system. Greetings, Maxime. signature.asc Description: This is a digitally signed message part
bug#55583: guix-daemon doesn't cleanly error-out on case-insensitive file systems.
Maxime Devos writes: Not sure how a case-insensitivity would cause this, but I think we can keep this open -- wouldn't it be better if "guix-daemon" just says ‘nope, case-sensitivity is required (*), not continuing)? (*) For reproducible builds, and apparently for substitution. The issue is wide-spread: there are a number of packages that will install files who’s names only vary by case. It’s also per-package; most work fine, but some will just break randomly. Some don’t seem to break until you try to use them, and then they yell and complain. This is something I run into often enough that it’s familiar to me and know how to fix, but not often enough to prevent my surprise when it happens. Guix can’t fix it, unfortunately. Maybe checking case sensitivity would be a worthwhile thing to do, just to warn people, but: I don’t know of a good way to check this in a file-system independent manner, and I honestly doubt it’s something that actually happens that often. I’ve been trucking a ZFS storage pool around since I first installed it on macOS about a decade ago, and since macOS is case-insensitive, that’s how it was installed (case sensitivity causes its own issues there). Short of running Guix on Windows or macOS, I don’t see this being a problem. -bjc
bug#55583: guix-daemon doesn't cleanly error-out on case-insensitive file systems.
retitle 55583 guix-daemon doesn't cleanly error-out on case-sensitive file systems. thanks Brian Cully schreef op ma 23-05-2022 om 09:00 [-0400]: This bug was caused by having my Guix filesystem mounted on a case-insensitive file system. Re-running pull within the Docker container mounted on a case-sensitive file system works correctly. This bug can be closed. Sorry for the noise. -bjc Not sure how a case-insensitivity would cause this, but I think we can keep this open -- wouldn't it be better if "guix-daemon" just says ‘nope, case-sensitivity is required (*), not continuing)? (*) For reproducible builds, and apparently for substitution. Greetings, Maxime signature.asc Description: This is a digitally signed message part