]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
only parse *.conf files in dropin dirs
authornikandfor <nikandfor@gmail.com>
Thu, 23 Mar 2023 13:18:39 +0000 (17:18 +0400)
committernikandfor <nikandfor@gmail.com>
Thu, 23 Mar 2023 13:48:04 +0000 (17:48 +0400)
mkosi/__init__.py
tests/test_parse_load_args.py

index 171626d2c07d34c2566fa2ac540338e1ad3325e0..b138b25678312d05271f9347ae6e28967a19e66c 100644 (file)
@@ -2105,7 +2105,7 @@ def parse_args_file_group(
     for dropin_dir in dirs:
         if dropin_dir.is_dir():
             for entry in sorted(dropin_dir.iterdir()):
-                if entry.is_file():
+                if entry.is_file() and entry.match("*.conf"):
                     config_files += [f"@{entry}"]
 
     # Parse all parameters handled by mkosi.
index 220762b9d1705e0ad6f8b84a0141df0b2457c3fc..297a8ecc97fe05a97f420c2c5f4e7b4037745c62 100644 (file)
@@ -59,6 +59,15 @@ def test_os_distribution() -> None:
             config.write_text(f"[Distribution]\nDistribution={dist}")
             assert parse([]).distribution == dist
 
+def test_parse_config_files_filter() -> None:
+    with cd_temp_dir():
+        confd = Path("mkosi.conf.d")
+        confd.mkdir(0o755)
+
+        (confd / "10-file.conf").write_text("[Content]\nPackages=yes")
+        (confd / "20-file.noconf").write_text("[Content]\nPackages=nope")
+
+        assert parse([]).packages == ["yes"]
 
 def test_hostname() -> None:
     assert parse(["--hostname", "name"]).hostname == "name"