]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Don't make output an absolute path while parsing
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 18 Apr 2023 19:48:10 +0000 (21:48 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 19 Apr 2023 11:56:14 +0000 (13:56 +0200)
Fixes a regression from 2a6aa720f59e4f66ba63d311f5fa79c3a3ac0a61.

mkosi/__init__.py
mkosi/config.py

index 26a307576b2beb2d51c85db23a713cb1a3cc9154..e416b66d246cdf5e5e8dd0d5b29ac60c6c2df125 100644 (file)
@@ -1186,7 +1186,8 @@ def load_args(args: argparse.Namespace) -> MkosiConfig:
             args.output = args.output_dir / args.output
         else:
             warn("Ignoring configured output directory as output file is a qualified path.")
-            args.output = args.output.absolute()
+
+    args.output = args.output.absolute()
 
     if args.environment:
         env = {}
index 68761d78448d647e6c9cc6770b4d8d7632fa7be1..57949c35c0f80426f56e8d8be911a82dc3197aed 100644 (file)
@@ -203,7 +203,7 @@ def make_path_parser(required: bool) -> Callable[[str], Path]:
     return parse_path
 
 
-def config_make_path_parser(required: bool) -> ConfigParseCallback:
+def config_make_path_parser(required: bool, absolute: bool = True) -> ConfigParseCallback:
     def config_parse_path(dest: str, value: Optional[str], namespace: argparse.Namespace) -> Optional[Path]:
         if dest in namespace:
             return getattr(namespace, dest) # type: ignore
@@ -211,7 +211,10 @@ def config_make_path_parser(required: bool) -> ConfigParseCallback:
         if value and required and not Path(value).exists():
             die(f"{value} does not exist")
 
-        return Path(value).absolute() if value else None
+        if value:
+            return Path(value).absolute() if absolute else Path(value)
+
+        return None
 
     return config_parse_path
 
@@ -368,7 +371,7 @@ class MkosiConfigParser:
         MkosiConfigSetting(
             dest="output",
             section="Output",
-            parse=config_make_path_parser(required=False),
+            parse=config_make_path_parser(required=False, absolute=False),
         ),
         MkosiConfigSetting(
             dest="output_dir",