From 5fbd49ce26bbf085f42ecd2e5faaeeec71574509 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Wed, 19 Feb 2025 12:39:06 +0100 Subject: [PATCH] mkosi-tools: Split off misc, package-manager and runtime profiles Let's make the dependencies verb a little more flexible by splitting off various profiles in mkosi-tools, the misc, package-manager and runtime profiles. The misc profile contains all the useful tools we install to make sure they're available in scripts. The package manager contains non-native package managers and related tools. The runtime profile contains all the tools required to boot images. The regular configuration now only includes the tools required to build native images with mkosi. The default tools tree still includes both the misc, package-manager and runtime profiles by default but the list of profiles can be changed with the new ToolsTreeProfiles= setting. The dependencies verb includes neither profile, but we now allow passing arbitrary settings to the dependency verb as arguments so that packages from additional profiles can be requested if needed. --- mkosi.prepare | 2 +- mkosi/__init__.py | 3 +- mkosi/config.py | 22 ++++++++- mkosi/resources/man/mkosi.1.md | 24 +++++++++- mkosi/resources/mkosi-tools/mkosi.conf | 13 ----- .../10-debian-kali-ubuntu/mkosi.conf | 47 ------------------- .../mkosi-tools/mkosi.conf.d/arch.conf | 19 ++++++++ .../mkosi.conf => azure-centos-fedora.conf} | 9 ---- .../{10-azure.conf => azure.conf} | 2 - .../mkosi.conf.d/centos/mkosi.conf | 12 +++++ .../mkosi.conf.d/10-epel-10.conf | 0 .../mkosi.conf.d/10-epel-9.conf | 0 .../mkosi.conf.d/20-epel-packages-10.conf | 0 .../mkosi.conf.d/20-epel-packages-9.conf | 11 +++++ .../mkosi.conf.d/20-erofs-utils.conf | 0 .../mkosi.conf.d/20-pkcs11-provider.conf | 0 .../debian-kali-ubuntu/mkosi.conf | 25 ++++++++++ .../mkosi.conf.d/pkcs11-provider.conf | 0 .../mkosi.conf.d/systemd-boot.conf | 0 .../mkosi.conf.d/systemd-repart.conf | 0 .../mkosi.conf.d/systemd-ukify.conf | 0 .../mkosi-tools/mkosi.conf.d/debian.conf | 10 ++++ .../mkosi.conf.d/fedora/mkosi.conf | 13 +++++ .../mkosi.conf.d/sbsigntools.conf} | 0 .../mkosi-tools/mkosi.conf.d/kali.conf | 8 ++++ .../{10-opensuse.conf => opensuse.conf} | 20 -------- .../{05-ubuntu.conf => ubuntu.conf} | 4 ++ .../mkosi.profiles/misc/mkosi.conf | 15 ++++++ .../misc/mkosi.conf.d/arch.conf} | 6 +-- .../mkosi.conf.d/azure-centos-fedora.conf | 13 +++++ .../misc/mkosi.conf.d/centos.conf | 11 +++++ .../debian-kali-ubuntu/mkosi.conf | 13 +++++ .../mkosi.conf.d/linux-perf.conf | 3 +- .../misc/mkosi.conf.d/fedora.conf | 8 ++++ .../misc/mkosi.conf.d/opensuse.conf | 11 +++++ .../package-manager/mkosi.conf.d/arch.conf | 16 +++++++ .../mkosi.conf.d/centos-epel-packages-9.conf} | 6 ++- .../debian-kali-ubuntu/mkosi.conf | 18 +++++++ .../mkosi.conf.d/ubuntu-keyring.conf | 0 .../package-manager/mkosi.conf.d/fedora.conf | 14 ++++++ .../mkosi.conf.d/opensuse.conf | 10 ++++ .../mkosi.profiles/runtime/mkosi.conf | 6 +++ .../runtime/mkosi.conf.d/arch.conf} | 24 ---------- .../azure-centos-fedora/mkosi.conf | 20 ++++++++ .../mkosi.conf.d/edk2-ovmf.conf} | 4 +- .../runtime/mkosi.conf.d/azure.conf | 9 ++++ .../debian-kali-ubuntu/mkosi.conf | 18 +++++++ .../mkosi.conf.d/python3-virt-firmware.conf | 0 .../runtime/mkosi.conf.d/fedora}/mkosi.conf | 14 ------ .../runtime/mkosi.conf.d/opensuse.conf | 18 +++++++ tests/test_json.py | 5 ++ 51 files changed, 364 insertions(+), 142 deletions(-) delete mode 100644 mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf create mode 100644 mkosi/resources/mkosi-tools/mkosi.conf.d/arch.conf rename mkosi/resources/mkosi-tools/mkosi.conf.d/{10-azure-centos-fedora/mkosi.conf => azure-centos-fedora.conf} (66%) rename mkosi/resources/mkosi-tools/mkosi.conf.d/{10-azure.conf => azure.conf} (75%) create mode 100644 mkosi/resources/mkosi-tools/mkosi.conf.d/centos/mkosi.conf rename mkosi/resources/mkosi-tools/mkosi.conf.d/{10-centos => centos}/mkosi.conf.d/10-epel-10.conf (100%) rename mkosi/resources/mkosi-tools/mkosi.conf.d/{10-centos => centos}/mkosi.conf.d/10-epel-9.conf (100%) rename mkosi/resources/mkosi-tools/mkosi.conf.d/{10-centos => centos}/mkosi.conf.d/20-epel-packages-10.conf (100%) create mode 100644 mkosi/resources/mkosi-tools/mkosi.conf.d/centos/mkosi.conf.d/20-epel-packages-9.conf rename mkosi/resources/mkosi-tools/mkosi.conf.d/{10-centos => centos}/mkosi.conf.d/20-erofs-utils.conf (100%) rename mkosi/resources/mkosi-tools/mkosi.conf.d/{10-centos => centos}/mkosi.conf.d/20-pkcs11-provider.conf (100%) create mode 100644 mkosi/resources/mkosi-tools/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf rename mkosi/resources/mkosi-tools/mkosi.conf.d/{10-debian-kali-ubuntu => debian-kali-ubuntu}/mkosi.conf.d/pkcs11-provider.conf (100%) rename mkosi/resources/mkosi-tools/mkosi.conf.d/{10-debian-kali-ubuntu => debian-kali-ubuntu}/mkosi.conf.d/systemd-boot.conf (100%) rename mkosi/resources/mkosi-tools/mkosi.conf.d/{10-debian-kali-ubuntu => debian-kali-ubuntu}/mkosi.conf.d/systemd-repart.conf (100%) rename mkosi/resources/mkosi-tools/mkosi.conf.d/{10-debian-kali-ubuntu => debian-kali-ubuntu}/mkosi.conf.d/systemd-ukify.conf (100%) create mode 100644 mkosi/resources/mkosi-tools/mkosi.conf.d/debian.conf create mode 100644 mkosi/resources/mkosi-tools/mkosi.conf.d/fedora/mkosi.conf rename mkosi/resources/mkosi-tools/mkosi.conf.d/{10-fedora/mkosi.conf.d/10-uefi.conf => fedora/mkosi.conf.d/sbsigntools.conf} (100%) create mode 100644 mkosi/resources/mkosi-tools/mkosi.conf.d/kali.conf rename mkosi/resources/mkosi-tools/mkosi.conf.d/{10-opensuse.conf => opensuse.conf} (53%) rename mkosi/resources/mkosi-tools/mkosi.conf.d/{05-ubuntu.conf => ubuntu.conf} (72%) create mode 100644 mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf rename mkosi/resources/mkosi-tools/{mkosi.conf.d/10-centos/mkosi.conf => mkosi.profiles/misc/mkosi.conf.d/arch.conf} (60%) create mode 100644 mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/azure-centos-fedora.conf create mode 100644 mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/centos.conf create mode 100644 mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf rename mkosi/resources/mkosi-tools/{mkosi.conf.d/10-debian-kali-ubuntu => mkosi.profiles/misc/mkosi.conf.d/debian-kali-ubuntu}/mkosi.conf.d/linux-perf.conf (78%) create mode 100644 mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/fedora.conf create mode 100644 mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/opensuse.conf create mode 100644 mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/arch.conf rename mkosi/resources/mkosi-tools/{mkosi.conf.d/10-centos/mkosi.conf.d/20-epel-packages-9.conf => mkosi.profiles/package-manager/mkosi.conf.d/centos-epel-packages-9.conf} (74%) create mode 100644 mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf rename mkosi/resources/mkosi-tools/{mkosi.conf.d/10-debian-kali-ubuntu => mkosi.profiles/package-manager/mkosi.conf.d/debian-kali-ubuntu}/mkosi.conf.d/ubuntu-keyring.conf (100%) create mode 100644 mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/fedora.conf create mode 100644 mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/opensuse.conf create mode 100644 mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf rename mkosi/resources/mkosi-tools/{mkosi.conf.d/10-arch.conf => mkosi.profiles/runtime/mkosi.conf.d/arch.conf} (50%) create mode 100644 mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/azure-centos-fedora/mkosi.conf rename mkosi/resources/mkosi-tools/{mkosi.conf.d/10-azure-centos-fedora/mkosi.conf.d/10-uefi.conf => mkosi.profiles/runtime/mkosi.conf.d/azure-centos-fedora/mkosi.conf.d/edk2-ovmf.conf} (65%) create mode 100644 mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/azure.conf create mode 100644 mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf rename mkosi/resources/mkosi-tools/{mkosi.conf.d/10-debian-kali-ubuntu => mkosi.profiles/runtime/mkosi.conf.d/debian-kali-ubuntu}/mkosi.conf.d/python3-virt-firmware.conf (100%) rename mkosi/resources/mkosi-tools/{mkosi.conf.d/10-fedora => mkosi.profiles/runtime/mkosi.conf.d/fedora}/mkosi.conf (61%) create mode 100644 mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/opensuse.conf diff --git a/mkosi.prepare b/mkosi.prepare index 3c47fc797..40a1e2b3d 100755 --- a/mkosi.prepare +++ b/mkosi.prepare @@ -6,4 +6,4 @@ if [ "$1" = "build" ]; then exit 0 fi -mkosi-chroot "$SRCDIR"/bin/mkosi dependencies | xargs -d '\n' mkosi-install +mkosi-chroot "$SRCDIR"/bin/mkosi dependencies -- --profile misc,package-manager,runtime | xargs -d '\n' mkosi-install diff --git a/mkosi/__init__.py b/mkosi/__init__.py index 0e0b5cf75..3a92bbb3e 100644 --- a/mkosi/__init__.py +++ b/mkosi/__init__.py @@ -4489,6 +4489,7 @@ def finalize_default_tools(config: Config, *, resources: Path) -> Config: "--directory", "", "--distribution", str(config.tools_tree_distribution), *(["--release", config.tools_tree_release] if config.tools_tree_release else []), + *([f"--profile={profile}" for profile in config.tools_tree_profiles]), *(["--mirror", config.tools_tree_mirror] if config.tools_tree_mirror else []), *([f"--repositories={repository}" for repository in config.tools_tree_repositories]), *([f"--sandbox-tree={tree}" for tree in config.tools_tree_sandbox_trees]), @@ -4945,7 +4946,7 @@ def run_verb(args: Args, images: Sequence[Config], *, resources: Path) -> None: if args.verb == Verb.dependencies: _, [deps] = parse_config( - ["--directory", "", "--repositories", "", "--include=mkosi-tools", "build"], + ["--directory", "", "--repositories", "", *args.cmdline, "--include=mkosi-tools", "build"], resources=resources, ) diff --git a/mkosi/config.py b/mkosi/config.py index 263d1377d..32c847cc5 100644 --- a/mkosi/config.py +++ b/mkosi/config.py @@ -96,6 +96,7 @@ class Verb(StrEnum): Verb.documentation, Verb.sysupdate, Verb.sandbox, + Verb.dependencies, ) def needs_build(self) -> bool: @@ -593,6 +594,12 @@ class ArtifactOutput(StrEnum): ] +class ToolsTreeProfile(StrEnum): + misc = enum.auto() + package_manager = enum.auto() + runtime = enum.auto() + + def expand_delayed_specifiers(specifiers: dict[str, str], text: str) -> str: def replacer(match: re.Match[str]) -> str: m = match.group("specifier") @@ -1928,6 +1935,7 @@ class Config: tools_tree: Optional[Path] tools_tree_distribution: Optional[Distribution] tools_tree_release: Optional[str] + tools_tree_profiles: list[ToolsTreeProfile] tools_tree_mirror: Optional[str] tools_tree_repositories: list[str] tools_tree_sandbox_trees: list[ConfigTree] @@ -3360,6 +3368,16 @@ SETTINGS: list[ConfigSetting[Any]] = [ default_factory=lambda ns: d.default_release() if (d := ns.tools_tree_distribution) else None, help="Set the release to use for the default tools tree", ), + ConfigSetting( + dest="tools_tree_profiles", + long="--tools-tree-profile", + metavar="PROFILE", + section="Build", + parse=config_make_list_parser(delimiter=",", parse=make_enum_parser(ToolsTreeProfile)), + choices=ToolsTreeProfile.values(), + default=list(ToolsTreeProfile), + help="Which profiles to enable for the default tools tree", + ), ConfigSetting( dest="tools_tree_mirror", metavar="MIRROR", @@ -4033,6 +4051,7 @@ def create_argument_parser(chdir: bool = True) -> argparse.ArgumentParser: mkosi [options…] {b}coredumpctl{e} [-- command line…] mkosi [options…] {b}sysupdate{e} [-- command line…] mkosi [options…] {b}sandbox{e} [-- command line…] + mkosi [options…] {b}dependencies{e} [-- options…] mkosi [options…] {b}clean{e} mkosi [options…] {b}serve{e} mkosi [options…] {b}burn{e} [device] @@ -4040,7 +4059,6 @@ def create_argument_parser(chdir: bool = True) -> argparse.ArgumentParser: mkosi [options…] {b}genkey{e} mkosi [options…] {b}documentation{e} [manual] mkosi [options…] {b}completion{e} [shell] - mkosi [options…] {b}dependencies{e} mkosi [options…] {b}help{e} mkosi -h | --help mkosi --version @@ -5056,6 +5074,7 @@ def summary(config: Config) -> str: Tools Tree: {config.tools_tree} Tools Tree Distribution: {none_to_none(config.tools_tree_distribution)} Tools Tree Release: {none_to_none(config.tools_tree_release)} + Tools Tree Profiles: {line_join_list(config.tools_tree_profiles)} Tools Tree Mirror: {none_to_default(config.tools_tree_mirror)} Tools Tree Repositories: {line_join_list(config.tools_tree_repositories)} Tools Tree Sandbox Trees: {line_join_list(config.tools_tree_sandbox_trees)} @@ -5290,6 +5309,7 @@ def json_type_transformer(refcls: Union[type[Args], type[Config]]) -> Callable[[ Vmm: enum_transformer, list[UKIProfile]: uki_profile_transformer, list[ArtifactOutput]: enum_list_transformer, + list[ToolsTreeProfile]: enum_list_transformer, CertificateSource: certificate_source_transformer, ConsoleMode: enum_transformer, Verity: enum_transformer, diff --git a/mkosi/resources/man/mkosi.1.md b/mkosi/resources/man/mkosi.1.md index ff726c536..ce8a75fc1 100644 --- a/mkosi/resources/man/mkosi.1.md +++ b/mkosi/resources/man/mkosi.1.md @@ -30,6 +30,8 @@ mkosi — Build Bespoke OS Images `mkosi [options…] sandbox [-- command line…]` +`mkosi [options…] dependencies [-- options…]` + `mkosi [options…] clean` `mkosi [options…] serve` @@ -44,8 +46,6 @@ mkosi — Build Bespoke OS Images `mkosi [options…] completion [shell]` -`mkosi [options…] dependencies` - `mkosi [options…] help` # DESCRIPTION @@ -203,6 +203,14 @@ The following command line verbs are known: mkosi dependencies | xargs -d '\n' dnf install ``` + By default, only the dependencies required to build images with + mkosi are shown. Extra tools tree profiles can be enabled to also + output the packages belonging to those profiles. For example, + running `mkosi dependencies -- --profile runtime` will also output + the packages in the runtime profile on top of the regular packages. + See the documentation for `ToolsTreeProfiles=` for a list of + available profiles. + `help` : This verb is equivalent to the `--help` switch documented below: it shows a brief usage explanation. @@ -1350,6 +1358,18 @@ boolean argument: either `1`, `yes`, or `true` to enable, or `0`, `no`, default, the hardcoded default release in **mkosi** for the distribution is used. +`ToolsTreeProfiles=`, `--tools-tree-profile=` +: Set the profiles to enable for the default tools tree. Takes a + comma-delimited list consisting of `misc`, `package-manager` and + `runtime`. By default, all profiles are enabled. + + The `misc` profile contains various useful tools that are handy to + have available in scripts. The package manager profile contains + package managers and related tools other than those native to the + tools tree distribution. The `runtime` profile contains the tools + required to boot images in a systemd-nspawn container or in a + virtual machine. + `ToolsTreeMirror=`, `--tools-tree-mirror=` : Set the mirror to use for the default tools tree. By default, the default mirror for the tools tree distribution is used. diff --git a/mkosi/resources/mkosi-tools/mkosi.conf b/mkosi/resources/mkosi-tools/mkosi.conf index cd2f8bb0c..0db253994 100644 --- a/mkosi/resources/mkosi-tools/mkosi.conf +++ b/mkosi/resources/mkosi-tools/mkosi.conf @@ -12,30 +12,17 @@ BuildSources= Bootable=no SELinuxRelabel=no Packages= - acl - attr - bash ca-certificates coreutils cpio curl - diffutils dosfstools e2fsprogs - findutils - grep - jq keyutils kmod - less mtools - nano opensc openssl - sed - socat - strace - swtpm systemd tar util-linux diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf deleted file mode 100644 index 9c96f39e6..000000000 --- a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf +++ /dev/null @@ -1,47 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-or-later - -[Match] -Distribution=|debian -Distribution=|kali -Distribution=|ubuntu - -[Content] -Packages= - ?exact-name(distribution-gpg-keys) - ?exact-name(grub-pc-bin) - ?exact-name(kali-archive-keyring) - ?exact-name(virtiofsd) - apt - archlinux-keyring - btrfs-progs - createrepo-c - debian-archive-keyring - dnf - erofs-utils - git-core - grub-common - libarchive-tools - libcryptsetup12 - libseccomp2 - libtss2-dev - libnss-resolve - libnss-myhostname - makepkg - openssh-client - ovmf - pacman-package-manager - policycoreutils - python3-cryptography - python3-pefile - qemu-efi-aarch64 - qemu-system - reprepro - sbsigntool - squashfs-tools - swtpm-tools - systemd-container - systemd-coredump - systemd-journal-remote - uidmap - xz-utils - zypper diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/arch.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/arch.conf new file mode 100644 index 000000000..ad52ace98 --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.conf.d/arch.conf @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=arch + +[Content] +Packages= + archlinux-keyring + btrfs-progs + erofs-utils + grub + libseccomp + pacman + pkcs11-provider + python-cryptography + sbsigntools + squashfs-tools + systemd-ukify + xz diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-azure-centos-fedora/mkosi.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/azure-centos-fedora.conf similarity index 66% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-azure-centos-fedora/mkosi.conf rename to mkosi/resources/mkosi-tools/mkosi.conf.d/azure-centos-fedora.conf index 6f192ea2e..0a5340a50 100644 --- a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-azure-centos-fedora/mkosi.conf +++ b/mkosi/resources/mkosi-tools/mkosi.conf.d/azure-centos-fedora.conf @@ -11,21 +11,12 @@ Distribution=|azure [Content] Packages= createrepo_c - git-core grub2-tools libseccomp - openssh-clients policycoreutils python3-cryptography qemu-img - qemu-kvm-core - shadow-utils squashfs-tools - swtpm-tools - systemd-container - systemd-journal-remote systemd-udev systemd-ukify - virt-firmware - virtiofsd xz diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-azure.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/azure.conf similarity index 75% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-azure.conf rename to mkosi/resources/mkosi-tools/mkosi.conf.d/azure.conf index bb30af706..62baccf8e 100644 --- a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-azure.conf +++ b/mkosi/resources/mkosi-tools/mkosi.conf.d/azure.conf @@ -9,6 +9,4 @@ Packages= distribution-gpg-keys dnf5 dnf5-plugins - qemu-system-aarch64-core - qemu-system-s390x-core systemd-ukify diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/centos/mkosi.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/centos/mkosi.conf new file mode 100644 index 000000000..e9c8aaa6d --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.conf.d/centos/mkosi.conf @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=|centos +Distribution=|alma +Distribution=|rocky +Distribution=|rhel + +[Content] +Packages= + dnf + dnf-plugins-core diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-centos/mkosi.conf.d/10-epel-10.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/centos/mkosi.conf.d/10-epel-10.conf similarity index 100% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-centos/mkosi.conf.d/10-epel-10.conf rename to mkosi/resources/mkosi-tools/mkosi.conf.d/centos/mkosi.conf.d/10-epel-10.conf diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-centos/mkosi.conf.d/10-epel-9.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/centos/mkosi.conf.d/10-epel-9.conf similarity index 100% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-centos/mkosi.conf.d/10-epel-9.conf rename to mkosi/resources/mkosi-tools/mkosi.conf.d/centos/mkosi.conf.d/10-epel-9.conf diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-centos/mkosi.conf.d/20-epel-packages-10.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/centos/mkosi.conf.d/20-epel-packages-10.conf similarity index 100% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-centos/mkosi.conf.d/20-epel-packages-10.conf rename to mkosi/resources/mkosi-tools/mkosi.conf.d/centos/mkosi.conf.d/20-epel-packages-10.conf diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/centos/mkosi.conf.d/20-epel-packages-9.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/centos/mkosi.conf.d/20-epel-packages-9.conf new file mode 100644 index 000000000..1bd96e474 --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.conf.d/centos/mkosi.conf.d/20-epel-packages-9.conf @@ -0,0 +1,11 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Repositories=epel +Release=9 + +[Content] +Packages= + btrfs-progs + distribution-gpg-keys + sbsigntools diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-centos/mkosi.conf.d/20-erofs-utils.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/centos/mkosi.conf.d/20-erofs-utils.conf similarity index 100% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-centos/mkosi.conf.d/20-erofs-utils.conf rename to mkosi/resources/mkosi-tools/mkosi.conf.d/centos/mkosi.conf.d/20-erofs-utils.conf diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-centos/mkosi.conf.d/20-pkcs11-provider.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/centos/mkosi.conf.d/20-pkcs11-provider.conf similarity index 100% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-centos/mkosi.conf.d/20-pkcs11-provider.conf rename to mkosi/resources/mkosi-tools/mkosi.conf.d/centos/mkosi.conf.d/20-pkcs11-provider.conf diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf new file mode 100644 index 000000000..75276f7a9 --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf @@ -0,0 +1,25 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=|debian +Distribution=|kali +Distribution=|ubuntu + +[Content] +Packages= + ?exact-name(grub-pc-bin) + apt + btrfs-progs + erofs-utils + grub-common + libarchive-tools + libcryptsetup12 + libseccomp2 + libtss2-dev + policycoreutils + python3-cryptography + python3-pefile + reprepro + sbsigntool + squashfs-tools + xz-utils diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf.d/pkcs11-provider.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf.d/pkcs11-provider.conf similarity index 100% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf.d/pkcs11-provider.conf rename to mkosi/resources/mkosi-tools/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf.d/pkcs11-provider.conf diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf.d/systemd-boot.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf.d/systemd-boot.conf similarity index 100% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf.d/systemd-boot.conf rename to mkosi/resources/mkosi-tools/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf.d/systemd-boot.conf diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf.d/systemd-repart.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf.d/systemd-repart.conf similarity index 100% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf.d/systemd-repart.conf rename to mkosi/resources/mkosi-tools/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf.d/systemd-repart.conf diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf.d/systemd-ukify.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf.d/systemd-ukify.conf similarity index 100% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf.d/systemd-ukify.conf rename to mkosi/resources/mkosi-tools/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf.d/systemd-ukify.conf diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/debian.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/debian.conf new file mode 100644 index 000000000..7998af7b1 --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.conf.d/debian.conf @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=|debian +Distribution=|kali +Distribution=|ubuntu + +[Content] +Packages= + debian-archive-keyring diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/fedora/mkosi.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/fedora/mkosi.conf new file mode 100644 index 000000000..523a7936b --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.conf.d/fedora/mkosi.conf @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=fedora + +[Content] +Packages= + btrfs-progs + distribution-gpg-keys + dnf5 + dnf5-plugins + erofs-utils + pkcs11-provider diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-fedora/mkosi.conf.d/10-uefi.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/fedora/mkosi.conf.d/sbsigntools.conf similarity index 100% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-fedora/mkosi.conf.d/10-uefi.conf rename to mkosi/resources/mkosi-tools/mkosi.conf.d/fedora/mkosi.conf.d/sbsigntools.conf diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/kali.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/kali.conf new file mode 100644 index 000000000..4b7ee5c57 --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.conf.d/kali.conf @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=kali + +[Content] +Packages= + kali-archive-keyring diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-opensuse.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/opensuse.conf similarity index 53% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-opensuse.conf rename to mkosi/resources/mkosi-tools/mkosi.conf.d/opensuse.conf index a6d9d511d..4b380e591 100644 --- a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-opensuse.conf +++ b/mkosi/resources/mkosi-tools/mkosi.conf.d/opensuse.conf @@ -9,36 +9,16 @@ Packages= ca-certificates-mozilla createrepo_c distribution-gpg-keys - dnf5 - dnf5-plugins erofs-utils - git-core glibc-gconv-modules-extra - grep libseccomp2 - openssh-clients - ovmf - patterns-base-minimal_base - perf pkcs11-provider policycoreutils python3-cryptography python3-pefile - qemu-headless - qemu-ipxe - qemu-ovmf-x86_64 - qemu-uefi-aarch64 - reprepro sbsigntools - shadow squashfs - systemd-boot - systemd-container - systemd-coredump systemd-experimental - systemd-journal-remote tpm2.0-tools - virt-firmware - virtiofsd xz zypper diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/05-ubuntu.conf b/mkosi/resources/mkosi-tools/mkosi.conf.d/ubuntu.conf similarity index 72% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/05-ubuntu.conf rename to mkosi/resources/mkosi-tools/mkosi.conf.d/ubuntu.conf index ddde77513..20dd63c21 100644 --- a/mkosi/resources/mkosi-tools/mkosi.conf.d/05-ubuntu.conf +++ b/mkosi/resources/mkosi-tools/mkosi.conf.d/ubuntu.conf @@ -5,3 +5,7 @@ Distribution=ubuntu [Distribution] Repositories=main,universe + +[Content] +Packages= + ubuntu-keyring diff --git a/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf new file mode 100644 index 000000000..8a0d031c8 --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Content] +Packages= + acl + attr + bash + diffutils + findutils + grep + jq + less + nano + sed + strace diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-centos/mkosi.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/arch.conf similarity index 60% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-centos/mkosi.conf rename to mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/arch.conf index 93c84ac4f..ac721a3a7 100644 --- a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-centos/mkosi.conf +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/arch.conf @@ -1,10 +1,10 @@ # SPDX-License-Identifier: LGPL-2.1-or-later [Match] -Distribution=centos +Distribution=arch [Content] Packages= - dnf - dnf-plugins-core + base perf + git diff --git a/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/azure-centos-fedora.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/azure-centos-fedora.conf new file mode 100644 index 000000000..282c96e2d --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/azure-centos-fedora.conf @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=|centos +Distribution=|alma +Distribution=|rocky +Distribution=|rhel +Distribution=|fedora +Distribution=|azure + +[Content] +Packages= + git-core diff --git a/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/centos.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/centos.conf new file mode 100644 index 000000000..0618a04ce --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/centos.conf @@ -0,0 +1,11 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=|centos +Distribution=|alma +Distribution=|rocky +Distribution=|rhel + +[Content] +Packages= + perf diff --git a/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf new file mode 100644 index 000000000..30728c2b6 --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=|debian +Distribution=|kali +Distribution=|ubuntu + +[Content] +Packages= + git-core + libnss-resolve + libnss-myhostname + systemd-coredump diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf.d/linux-perf.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf.d/linux-perf.conf similarity index 78% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf.d/linux-perf.conf rename to mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf.d/linux-perf.conf index 3aaddca3a..f849448fc 100644 --- a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf.d/linux-perf.conf +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf.d/linux-perf.conf @@ -5,4 +5,5 @@ Distribution=|debian Distribution=|kali [Content] -Packages=linux-perf +Packages= + linux-perf diff --git a/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/fedora.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/fedora.conf new file mode 100644 index 000000000..53ac36fc1 --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/fedora.conf @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=fedora + +[Content] +Packages= + perf diff --git a/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/opensuse.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/opensuse.conf new file mode 100644 index 000000000..8e0759bb0 --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/misc/mkosi.conf.d/opensuse.conf @@ -0,0 +1,11 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=opensuse + +[Content] +Packages= + git-core + patterns-base-minimal_base + perf + systemd-coredump diff --git a/mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/arch.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/arch.conf new file mode 100644 index 000000000..bebaf2b37 --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/arch.conf @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=arch + +[Content] +Packages= + apt + debian-archive-keyring + createrepo_c + distribution-gpg-keys + dnf + dpkg + reprepro + ubuntu-keyring + zypper diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-centos/mkosi.conf.d/20-epel-packages-9.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/centos-epel-packages-9.conf similarity index 74% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-centos/mkosi.conf.d/20-epel-packages-9.conf rename to mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/centos-epel-packages-9.conf index 3c5c65f3c..994ac41c6 100644 --- a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-centos/mkosi.conf.d/20-epel-packages-9.conf +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/centos-epel-packages-9.conf @@ -1,6 +1,10 @@ # SPDX-License-Identifier: LGPL-2.1-or-later [Match] +Distribution=|centos +Distribution=|alma +Distribution=|rocky +Distribution=|rhel Repositories=epel Release=9 @@ -8,9 +12,7 @@ Release=9 Packages= apt archlinux-keyring - btrfs-progs debian-keyring distribution-gpg-keys pacman - sbsigntools ubu-keyring diff --git a/mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf new file mode 100644 index 000000000..b04a14355 --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=|debian +Distribution=|kali +Distribution=|ubuntu + +[Content] +Packages= + ?exact-name(distribution-gpg-keys) + ?exact-name(kali-archive-keyring) + archlinux-keyring + createrepo-c + debian-archive-keyring + dnf + makepkg + pacman-package-manager + zypper diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf.d/ubuntu-keyring.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf.d/ubuntu-keyring.conf similarity index 100% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf.d/ubuntu-keyring.conf rename to mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf.d/ubuntu-keyring.conf diff --git a/mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/fedora.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/fedora.conf new file mode 100644 index 000000000..7e6e10db4 --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/fedora.conf @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=fedora + +[Content] +Packages= + apt + archlinux-keyring + debian-keyring + pacman + reprepro + ubu-keyring + zypper diff --git a/mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/opensuse.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/opensuse.conf new file mode 100644 index 000000000..3f876c9ff --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/package-manager/mkosi.conf.d/opensuse.conf @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=opensuse + +[Content] +Packages= + dnf5 + dnf5-plugins + reprepro diff --git a/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf new file mode 100644 index 000000000..67af4d883 --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Content] +Packages= + socat + swtpm diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-arch.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/arch.conf similarity index 50% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-arch.conf rename to mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/arch.conf index ba449a2b7..0b700aba5 100644 --- a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-arch.conf +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/arch.conf @@ -5,27 +5,10 @@ Distribution=arch [Content] Packages= - apt - archlinux-keyring - base - btrfs-progs - createrepo_c - debian-archive-keyring - distribution-gpg-keys - dnf - dpkg edk2-ovmf - erofs-utils - git - grub - libseccomp openssh - pacman - perf pipewire pipewire-audio - pkcs11-provider - python-cryptography qemu-audio-pipewire qemu-base qemu-hw-display-virtio-gpu @@ -34,13 +17,6 @@ Packages= qemu-hw-display-virtio-vga-gl qemu-ui-opengl qemu-ui-sdl - reprepro - sbsigntools shadow - squashfs-tools - systemd-ukify - ubuntu-keyring virt-firmware virtiofsd - xz - zypper diff --git a/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/azure-centos-fedora/mkosi.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/azure-centos-fedora/mkosi.conf new file mode 100644 index 000000000..69113cd9f --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/azure-centos-fedora/mkosi.conf @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=|centos +Distribution=|alma +Distribution=|rocky +Distribution=|rhel +Distribution=|fedora +Distribution=|azure + +[Content] +Packages= + openssh-clients + qemu-kvm-core + shadow-utils + swtpm-tools + systemd-container + systemd-journal-remote + virt-firmware + virtiofsd diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-azure-centos-fedora/mkosi.conf.d/10-uefi.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/azure-centos-fedora/mkosi.conf.d/edk2-ovmf.conf similarity index 65% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-azure-centos-fedora/mkosi.conf.d/10-uefi.conf rename to mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/azure-centos-fedora/mkosi.conf.d/edk2-ovmf.conf index dc50f8d0b..ff03125a9 100644 --- a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-azure-centos-fedora/mkosi.conf.d/10-uefi.conf +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/azure-centos-fedora/mkosi.conf.d/edk2-ovmf.conf @@ -1,8 +1,8 @@ # SPDX-License-Identifier: LGPL-2.1-or-later [Match] -HostArchitecture=|x86-64 -HostArchitecture=|arm64 +Architecture=|x86-64 +Architecture=|arm64 [Content] Packages= diff --git a/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/azure.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/azure.conf new file mode 100644 index 000000000..d7deda683 --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/azure.conf @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=azure + +[Content] +Packages= + qemu-system-aarch64-core + qemu-system-s390x-core diff --git a/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf new file mode 100644 index 000000000..00eec6569 --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=|debian +Distribution=|kali +Distribution=|ubuntu + +[Content] +Packages= + ?exact-name(virtiofsd) + openssh-client + ovmf + qemu-efi-aarch64 + qemu-system + swtpm-tools + systemd-container + systemd-journal-remote + uidmap diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf.d/python3-virt-firmware.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf.d/python3-virt-firmware.conf similarity index 100% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-debian-kali-ubuntu/mkosi.conf.d/python3-virt-firmware.conf rename to mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/debian-kali-ubuntu/mkosi.conf.d/python3-virt-firmware.conf diff --git a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-fedora/mkosi.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/fedora/mkosi.conf similarity index 61% rename from mkosi/resources/mkosi-tools/mkosi.conf.d/10-fedora/mkosi.conf rename to mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/fedora/mkosi.conf index df74b6d47..3c973f8fe 100644 --- a/mkosi/resources/mkosi-tools/mkosi.conf.d/10-fedora/mkosi.conf +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/fedora/mkosi.conf @@ -5,17 +5,6 @@ Distribution=fedora [Content] Packages= - apt - archlinux-keyring - btrfs-progs - debian-keyring - distribution-gpg-keys - dnf5 - dnf5-plugins - erofs-utils - pacman - perf - pkcs11-provider pipewire qemu-audio-pipewire qemu-device-display-virtio-gpu @@ -27,6 +16,3 @@ Packages= qemu-system-s390x-core qemu-ui-opengl qemu-ui-sdl - reprepro - ubu-keyring - zypper diff --git a/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/opensuse.conf b/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/opensuse.conf new file mode 100644 index 000000000..27732959b --- /dev/null +++ b/mkosi/resources/mkosi-tools/mkosi.profiles/runtime/mkosi.conf.d/opensuse.conf @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=opensuse + +[Content] +Packages= + openssh-clients + ovmf + qemu-headless + qemu-ipxe + qemu-ovmf-x86_64 + qemu-uefi-aarch64 + shadow + systemd-container + systemd-journal-remote + virt-firmware + virtiofsd diff --git a/tests/test_json.py b/tests/test_json.py index e7d8aac7e..7bf5ecfd1 100644 --- a/tests/test_json.py +++ b/tests/test_json.py @@ -34,6 +34,7 @@ from mkosi.config import ( OutputFormat, SecureBootSignTool, ShimBootloader, + ToolsTreeProfile, UKIProfile, Verb, Verity, @@ -376,6 +377,9 @@ def test_config() -> None: "ToolsTreePrepareScripts": [ "/prepare" ], + "ToolsTreeProfiles": [ + "misc" + ], "ToolsTreeRelease": null, "ToolsTreeRepositories": [ "abc" @@ -586,6 +590,7 @@ def test_config() -> None: tools_tree_package_directories=[Path("/abc")], tools_tree_packages=[], tools_tree_prepare_scripts=[Path("/prepare")], + tools_tree_profiles=[ToolsTreeProfile.misc], tools_tree_release=None, tools_tree_repositories=["abc"], tools_tree_sandbox_trees=[ConfigTree(Path("/a/b/c"), Path("/"))], -- 2.47.2