]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
chdir() without going back in parse() 1509/head
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 25 Apr 2023 12:58:35 +0000 (14:58 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 25 Apr 2023 15:53:21 +0000 (17:53 +0200)
We never need to leave the directory specified with --directory, so
let's not leave it.

mkosi/__main__.py
mkosi/config.py

index 65ddc73d2b670398659643ef6bf17da9bcc36b4e..31383dfb376933539492de11050061f580e2618c 100644 (file)
@@ -3,14 +3,13 @@
 
 import contextlib
 import logging
-import os
 import subprocess
 import sys
 from collections.abc import Iterator
 
 from mkosi import run_verb
 from mkosi.config import MkosiConfigParser
-from mkosi.log import ARG_DEBUG, die, log_setup
+from mkosi.log import ARG_DEBUG, log_setup
 from mkosi.run import excepthook
 
 
@@ -47,12 +46,6 @@ def main() -> None:
     if ARG_DEBUG.get():
         logging.getLogger().setLevel(logging.DEBUG)
 
-    if args.directory:
-        if args.directory.is_dir():
-            os.chdir(args.directory)
-        else:
-            die(f"Error: {args.directory} is not a directory!")
-
     run_verb(args, config)
 
 
index a49c8de0a847800834993b2f6cda5c41fb7ea00f..d8b96e2947996947a5011780268a6fa22f20a115 100644 (file)
@@ -1692,10 +1692,12 @@ class MkosiConfigParser:
             PagerHelpAction.__call__(None, argparser, namespace)  # type: ignore
 
         if args.directory and not args.directory.is_dir():
-            die(f"Error: {namespace.directory} is not a directory!")
+            die(f"{args.directory} is not a directory!")
 
-        with chdir(args.directory or Path.cwd()):
-            self.parse_config(Path("."), namespace)
+        if args.directory:
+            os.chdir(args.directory)
+
+        self.parse_config(Path("."), namespace)
 
         for s in self.SETTINGS:
             if s.dest in namespace: