From: Daan De Meyer Date: Tue, 25 Apr 2023 12:58:35 +0000 (+0200) Subject: chdir() without going back in parse() X-Git-Tag: v15~196^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F1509%2Fhead;p=thirdparty%2Fmkosi.git chdir() without going back in parse() We never need to leave the directory specified with --directory, so let's not leave it. --- diff --git a/mkosi/__main__.py b/mkosi/__main__.py index 65ddc73d2..31383dfb3 100644 --- a/mkosi/__main__.py +++ b/mkosi/__main__.py @@ -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) diff --git a/mkosi/config.py b/mkosi/config.py index a49c8de0a..d8b96e294 100644 --- a/mkosi/config.py +++ b/mkosi/config.py @@ -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: