From: Daan De Meyer Date: Mon, 29 Jul 2024 17:43:51 +0000 (+0200) Subject: Check for $HOME environment variable as well X-Git-Tag: v24.3~1^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=64745f366e21711196ab0b166650e65f448803d9;p=thirdparty%2Fmkosi.git Check for $HOME environment variable as well Similar to our check for $USER, let's check for $HOME to allow setting a custom home directory in weird build environments. --- diff --git a/mkosi/user.py b/mkosi/user.py index 2298de3c1..b92670344 100644 --- a/mkosi/user.py +++ b/mkosi/user.py @@ -56,7 +56,13 @@ class INVOKING_USER: if cls.invoked_as_root and Path.cwd().is_relative_to("/home") and len(Path.cwd().parents) > 2: return list(Path.cwd().parents)[-3] - return Path(f"~{cls.name()}").expanduser() + try: + return Path(pwd.getpwuid(cls.uid).pw_dir or "/") + except KeyError: + if not (home := os.getenv("HOME")): + die(f"Could not find home directory for UID {cls.uid}") + + return Path(home) @classmethod @functools.lru_cache(maxsize=1)