]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
config: Various cleanups for the directory attribute
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Sun, 30 Mar 2025 17:16:26 +0000 (19:16 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 31 Mar 2025 10:57:13 +0000 (12:57 +0200)
- Make sure it is always set and looked up on the config ns
- Make sure we set it before parsing includes from the command line

mkosi/config.py

index c28d639dc584b829b28764e04a19ad6ea9960616..94d451ec8e7906c0a681d10dba6a58d5ed1ea4af 100644 (file)
@@ -4537,7 +4537,7 @@ class ParseContext:
                     # Some specifier methods might want to access the image name or directory mkosi was
                     # invoked in so let's make sure those are available.
                     setattr(specifierns, "image", getattr(self.config, "image"))
-                    setattr(specifierns, "directory", self.cli.directory)
+                    setattr(specifierns, "directory", getattr(self.config, "directory"))
 
                     for d in specifier.depends:
                         setting = SETTINGS_LOOKUP_BY_DEST[d]
@@ -4659,7 +4659,7 @@ class ParseContext:
             # Some default factory methods want to access the image name or directory mkosi was invoked in so
             # let's make sure those are available.
             setattr(factoryns, "image", getattr(self.config, "image"))
-            setattr(factoryns, "directory", self.cli.directory)
+            setattr(factoryns, "directory", getattr(self.config, "directory"))
 
             default = setting.default_factory(factoryns)
         elif setting.default is not None:
@@ -5023,10 +5023,11 @@ def parse_config(
         subimages = []
         prev = None
 
-    context.parse_new_includes()
-
     # One of the specifiers needs access to the directory, so make sure it is available.
     setattr(context.config, "directory", args.directory)
+
+    context.parse_new_includes()
+
     setattr(context.config, "files", [])
 
     # Parse the global configuration unless the user explicitly asked us not to.