mirror of
https://github.com/NixOS/nix
synced 2025-06-24 22:11:15 +02:00
Merge d60a8ee8b0
into f9afc1e68c
This commit is contained in:
commit
3efeda5a17
2 changed files with 12 additions and 2 deletions
|
@ -221,7 +221,16 @@ LocalStore::LocalStore(ref<const Config> config)
|
|||
schema upgrade is in progress. */
|
||||
if (!config->readOnly) {
|
||||
Path globalLockPath = dbDir + "/big-lock";
|
||||
try {
|
||||
globalLock = openLockFile(globalLockPath.c_str(), true);
|
||||
} catch (SysError & e) {
|
||||
if (e.errNo == EACCES || e.errNo == EPERM) {
|
||||
e.addTrace({},
|
||||
"This command may have been run as non-root in a single-user Nix installation,\n"
|
||||
"or the Nix daemon may have crashed.");
|
||||
}
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
if (!config->readOnly && !lockFile(globalLock.get(), ltRead, false)) {
|
||||
|
|
|
@ -42,7 +42,8 @@ chmod -R -w $TEST_ROOT/var
|
|||
|
||||
# Make sure we fail on add operations on the read-only store
|
||||
# This is only for adding files that are not *already* in the store
|
||||
expectStderr 1 nix-store --add eval.nix | grepQuiet "error: opening lock file '$(readlink -e $TEST_ROOT)/var/nix/db/big-lock'"
|
||||
# Should show enhanced error message with helpful context
|
||||
expectStderr 1 nix-store --add eval.nix | grepQuiet "This command may have been run as non-root in a single-user Nix installation"
|
||||
expectStderr 1 nix-store --store local?read-only=true --add eval.nix | grepQuiet "Permission denied"
|
||||
|
||||
# Test the same operations from before should again succeed
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue