]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Check for $HOME environment variable as well
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 29 Jul 2024 17:43:51 +0000 (19:43 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 29 Jul 2024 18:49:30 +0000 (20:49 +0200)
Similar to our check for $USER, let's check for $HOME to allow
setting a custom home directory in weird build environments.

mkosi/user.py

index 2298de3c172d5bb363524260d35f95e017f2b78e..b9267034415381acc4715712ffd316bd3415b2d1 100644 (file)
@@ -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)