From: Daan De Meyer Date: Fri, 7 Apr 2023 12:05:44 +0000 (+0200) Subject: Make --repart-dir take a list of paths X-Git-Tag: v15~265^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b8afb11ef18b04df6c08ec57ab933c6e10fd699e;p=thirdparty%2Fmkosi.git Make --repart-dir take a list of paths systemd-repart supports multiple definition directories so let's extend that to mkosi as well. --- diff --git a/mkosi/__init__.py b/mkosi/__init__.py index 4bb39e916..095d8f4b2 100644 --- a/mkosi/__init__.py +++ b/mkosi/__init__.py @@ -1245,10 +1245,10 @@ SETTINGS = ( parse=config_parse_boolean, ), MkosiConfigSetting( - dest="repart_dir", - name="RepartDirectory", + dest="repart_dirs", + name="RepartDirectories", section="Output", - parse=config_make_path_parser(required=True), + parse=config_make_list_parser(delimiter=",", parse=make_path_parser(required=True)), paths=("mkosi.repart",), ), MkosiConfigSetting( @@ -1719,6 +1719,7 @@ def create_argument_parser() -> argparse.ArgumentParser: "--repart-dir", metavar="PATH", help="Directory containing systemd-repart partition definitions", + dest="repart_dirs", action=action, ) group.add_argument( @@ -2838,8 +2839,9 @@ def invoke_repart(state: MkosiState, skip: Sequence[str] = [], split: bool = Fal if split and state.config.split_artifacts: cmdline += ["--split=yes"] - if state.config.repart_dir: - definitions = Path(state.config.repart_dir) + if state.config.repart_dirs: + for d in state.config.repart_dirs: + cmdline += ["--definitions", d] else: definitions = state.workspace / "repart-definitions" if not definitions.exists(): @@ -2868,7 +2870,7 @@ def invoke_repart(state: MkosiState, skip: Sequence[str] = [], split: bool = Fal ) ) - cmdline += ["--definitions", definitions] + cmdline += ["--definitions", definitions] env = dict(TMPDIR=str(state.workspace)) for fs, options in state.installer.filesystem_options(state).items(): diff --git a/mkosi/backend.py b/mkosi/backend.py index 4dba35b2d..7a29930f4 100644 --- a/mkosi/backend.py +++ b/mkosi/backend.py @@ -210,7 +210,7 @@ class MkosiConfig: repository_key_check: bool repositories: list[str] repo_dirs: list[Path] - repart_dir: Optional[str] + repart_dirs: list[Path] architecture: str output_format: OutputFormat manifest_format: list[ManifestFormat]