From c8ffa8fac1ece1ad596ed639f50030ee0cb8e466 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Tue, 25 Apr 2023 14:58:35 +0200 Subject: [PATCH] chdir() without going back in parse() We never need to leave the directory specified with --directory, so let's not leave it. --- mkosi/__main__.py | 9 +-------- mkosi/config.py | 8 +++++--- 2 files changed, 6 insertions(+), 11 deletions(-) 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: -- 2.47.2