]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Allow specifying empty --directory to not parse any config files
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Sun, 30 Apr 2023 19:15:27 +0000 (21:15 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 1 May 2023 07:41:34 +0000 (09:41 +0200)
mkosi/config.py

index cf249d01c98197806baedf0620289a9e7102a99e..2eef4e870bf7cd68c18689cc2b558c9e51b5d37d 100644 (file)
@@ -1171,7 +1171,6 @@ class MkosiConfigParser:
         parser.add_argument(
             "-C", "--directory",
             help="Change to specified directory before doing anything",
-            type=Path,
             metavar="PATH",
             default=None,
         )
@@ -1695,13 +1694,14 @@ class MkosiConfigParser:
         if args.verb == Verb.help:
             PagerHelpAction.__call__(None, argparser, namespace)  # type: ignore
 
-        if args.directory and not args.directory.is_dir():
+        if args.directory and not Path(args.directory).is_dir():
             die(f"{args.directory} is not a directory!")
 
         if args.directory:
             os.chdir(args.directory)
 
-        self.parse_config(Path("."), namespace)
+        if args.directory != "":
+            self.parse_config(Path("."), namespace)
 
         for s in self.SETTINGS:
             if s.dest in namespace:
@@ -1820,7 +1820,7 @@ def load_credentials(args: argparse.Namespace) -> dict[str, str]:
     creds = {}
 
     d = Path("mkosi.credentials")
-    if d.is_dir():
+    if args.directory != "" and d.is_dir():
         for e in d.iterdir():
             if os.access(e, os.X_OK):
                 creds[e.name] = run([e], text=True, stdout=subprocess.PIPE, env=os.environ).stdout