forked from lix-project/lix
store: add a hint on how to fix Lix installs broken by macOS Sequoia
This is not a detailed diagnosis, and it's not worth writing one, tbh.
This error basically never happens in normal operation, so diagnosing it
by changing the error on macOS is good enough.
Relevant: lix-project/lix-installer#24
Relevant: lix-project/lix-installer#18
Relevant: lix-project/lix#521
Change-Id: I03701f917d116575c72a97502b8e1617679447f2
This commit is contained in:
parent
b2fc007811
commit
b7fc37b015
|
@ -73,8 +73,16 @@ struct SimpleUserLock : UserLock
|
||||||
debug("trying user '%s'", i);
|
debug("trying user '%s'", i);
|
||||||
|
|
||||||
struct passwd * pw = getpwnam(i.c_str());
|
struct passwd * pw = getpwnam(i.c_str());
|
||||||
if (!pw)
|
if (!pw) {
|
||||||
throw Error("the user '%s' in the group '%s' does not exist", i, settings.buildUsersGroup);
|
#ifdef __APPLE__
|
||||||
|
#define APPLE_HINT "\n\nhint: this may be caused by an update to macOS Sequoia breaking existing Lix installations.\n" \
|
||||||
|
"See the macOS Sequoia page on the Lix wiki for detailed repair instructions: https://wiki.lix.systems/link/81"
|
||||||
|
#else
|
||||||
|
#define APPLE_HINT
|
||||||
|
#endif
|
||||||
|
throw Error("the user '%s' in the group '%s' does not exist" APPLE_HINT, i, settings.buildUsersGroup);
|
||||||
|
#undef APPLE_HINT
|
||||||
|
}
|
||||||
|
|
||||||
auto fnUserLock = fmt("%s/userpool/%s", settings.nixStateDir,pw->pw_uid);
|
auto fnUserLock = fmt("%s/userpool/%s", settings.nixStateDir,pw->pw_uid);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue