From 31c3fa2a29ff82114d37ba2f5205d7c887bf0ea2 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Sep 07 2023 21:40:47 +0000 Subject: Update dependencies This updates the dependencies based on the builtin list in mkosi's fedora default tools tree package list. We get rid of a few old dependencies that aren't relevant anymore such as veritysetup and binutils as well. We drop the python3-cryptography dependency as it's a dependency of ukify, not mkosi itself. While the various filesystem creation tools are invoked by systemd-repart and not mkosi itself, we still opt to keep them as recommends in mkosi to avoid having to add them as recommends to systemd itself. We also get rid of the EPEL 7 macros since v15 will never be built for EPEL 7 anyway as its a huge breaking change and they don't like those in EPEL. The list of dependencies is also reordered and cleaned up a bit. --- diff --git a/mkosi.spec b/mkosi.spec index 3c41362..3627bea 100644 --- a/mkosi.spec +++ b/mkosi.spec @@ -11,61 +11,77 @@ BuildArch: noarch BuildRequires: python3-devel BuildRequires: pyproject-rpm-macros BuildRequires: python3-pytest -BuildRequires: binutils BuildRequires: pandoc -# for tests -BuildRequires: systemd - -%global recoreq %{?el7:Requires}%{!?el7:Recommends} %bcond tests 1 # mkosi wants the uncompressed man page to show via 'mkosi documentation' %global __brp_compress true +Requires: python3 Requires: bubblewrap -Requires: systemd-repart >= 254 +Requires: coreutils + +# for completion +Recommends: python3dist(argcomplete) + +# for various image building tools (systemd-hwdb, systemd-sysusers, ...) +Recommends: systemd # for systemd-nspawn -%{recoreq}: systemd-container >= 254 +Recommends: systemd-container >= 254 + +# for bootable images (systemd-udev ships bootctl) +Recommends: systemd-udev >= 254 +Recommends: systemd-ukify >= 254 + +# for disk images +Recommends: systemd-repart >= 254 + # for the --acl option to allow removing directories generated by mkosi -%{recoreq}: acl -%{recoreq}: binutils -%{recoreq}: e2fsprogs -%{recoreq}: gnupg +Recommends: acl + # for when kernels are installed and we need to run depmod -%{recoreq}: kmod -# for secure boot signing -%{recoreq}: openssl -# also for secure boot signing -%{recoreq}: sbsigntools -# for Format=tar or when building debian/ubuntu images -%{recoreq}: tar -%{recoreq}: veritysetup -%{recoreq}: xz - -%if 0%{?el7} == 0 -# for debian/ubuntu images +Recommends: kmod + +# for signing +Recommends: openssl +Recommends: sbsigntools +Recommends: gnupg + +# for building specific distributions +Recommends: (dnf5 or dnf) Recommends: apt -# to create btrfs file systems +Recommends: debian-keyring +Recommends: pacman +Recommends: archlinux-keyring +Recommends: zypper + +# for various filesystems Recommends: btrfs-progs -# for Format=cpio or when using mkosi to build bootable images with mkosi's default initrd +Recommends: e2fsprogs +Recommends: dosfstools +Recommends: mtools +Recommends: erofs-utils +Recommends: xfsprogs +Recommends: squashfs-tools + +# for various output formats Recommends: cpio -# for building centos/fedora/openmandriva/mageia/opensuse images -Recommends: (dnf5 or dnf) +Recommends: tar + # for mkosi qemu +Recommends: qemu-kvm-core Recommends: edk2-ovmf -Recommends: python3dist(argcomplete) -Recommends: python3dist(cryptography) -# for QemuSwtpm= to add a software tpm when running qemu Recommends: swtpm + +# for mkosi ssh +Recommends: openssh-clients +Recommends: socat + # for output compression Recommends: zstd -# for opensuse images -Recommends: zypper -%else -Recommends: dnf -%endif +Recommends: xz %description A fancy wrapper around "dnf --installroot", "apt-get", "pacman", "zypper", and