Name: mkosi Version: 21 Release: 1.1%{?dist} Summary: Create bespoke OS images License: LGPL-2.1-or-later URL: https://github.com/systemd/mkosi Source: https://github.com/systemd/mkosi/archive/v%{version}/%{name}-%{version}.tar.gz # setuptools in c9s does not support all sections from pyproject.toml yet so we # add back a setup.py file to get the build working. Patch1: add-back-setup.py-file.patch BuildArch: noarch BuildRequires: python3-devel BuildRequires: pyproject-rpm-macros BuildRequires: python3-pytest BuildRequires: pandoc %bcond tests 1 # mkosi wants the uncompressed man page to show via 'mkosi documentation' %global __brp_compress true Requires: python3 Requires: bubblewrap Requires: coreutils # for completion Recommends: python3dist(argcomplete) # for various image building tools (systemd-hwdb, systemd-sysusers, ...) Recommends: systemd # for systemd-nspawn 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 Recommends: acl # for when kernels are installed and we need to run depmod Recommends: kmod # for signing Recommends: openssl Recommends: sbsigntools Recommends: gnupg # for building specific distributions Recommends: (dnf5 or dnf) Recommends: apt Recommends: debian-keyring Recommends: pacman Recommends: archlinux-keyring Recommends: zypper # for various filesystems Recommends: btrfs-progs Recommends: e2fsprogs Recommends: dosfstools Recommends: mtools Recommends: erofs-utils Recommends: xfsprogs Recommends: squashfs-tools # for various output formats Recommends: cpio Recommends: tar # for mkosi qemu Recommends: qemu-kvm-core Recommends: edk2-ovmf Recommends: swtpm # for mkosi ssh Recommends: openssh-clients Recommends: socat # for output compression Recommends: zstd Recommends: xz %description A fancy wrapper around "dnf --installroot", "apt", "pacman", and "zypper" that generates disk images with a number of bells and whistles. Generated images are tailored to the purpose: GPT partitions, systemd-boot or grub2, images for containers, VMs, initrd, and extensions. Mkosi can boot an image via QEMU or systemd-nspawn, or simply start a shell in chroot, burn the image to a device, connect to a running VM via ssh, extract logs and coredumps, and also serve an image over HTTP. See https://mkosi.systemd.io/ for documentation. %package initrd Summary: Build initrds locally using mkosi Requires: %{name} = %{version}-%{release} Requires: (dnf5 or dnf) %description initrd This package provides the plugin for kernel-install to build initrds with mkosi locally. After the package is installed, the plugin can be enabled by writing 'initrd_generator=mkosi-initrd' to '/etc/kernel/install.conf'. %prep %autosetup -p1 %generate_buildrequires %pyproject_buildrequires %build tools/make-man-page.sh %pyproject_wheel %install %pyproject_install %pyproject_save_files mkosi mkdir -p %{buildroot}%{_mandir}/man1 ln -s -t %{buildroot}%{_mandir}/man1/ \ ../../../..%{python3_sitelib}/mkosi/resources/mkosi.1 # Install the kernel-install plugin install -Dt %{buildroot}%{_prefix}/lib/kernel/install.d/ \ kernel-install/50-mkosi.install mkdir -p %{buildroot}%{_prefix}/lib/mkosi-initrd mkdir -p %{buildroot}%{_sysconfdir}/mkosi-initrd %files -f %pyproject_files %license LICENSE %doc README.md %_bindir/mkosi %_mandir/man1/mkosi.1* %files initrd %_prefix/lib/kernel/install.d/50-mkosi.install %ghost %dir %{_prefix}/lib/mkosi-initrd %ghost %dir %{_sysconfdir}/mkosi-initrd %check %if %{with tests} %pytest tests/ -v %if %{defined py3_test_envvars} # just a smoke test for syntax or import errors %py3_test_envvars %{buildroot}%{_bindir}/mkosi --help >/dev/null %endif %endif %changelog * Wed Dec 6 2023 Daan De Meyer - 19-1.1 - Release v19 for CentOS Hyperscale SIG * Mon Oct 9 2023 Daan De Meyer - 18-1.1 - Release v18 for CentOS Hyperscale SIG * Tue Sep 19 2023 Daan De Meyer - 17.1-1.1 - Release v17.1 for CentOS Hyperscale SIG * Tue Sep 19 2023 Daan De Meyer - 17-1.1 - Release v17 for CentOS Hyperscale SIG * Mon Sep 11 2023 Daan De Meyer - 16.1-1 - Release v16 for CentOS Hyperscale SIG * Sun Aug 13 2023 Leif Liddy - 15.1-2 - Require systemd version 254, recommend systemd-nspawn (rhbz#2232233) * Thu Aug 10 2023 Zbigniew Jędrzejewski-Szmek - 15.1-1 - Version 15.1 - dnf5 is recommended over dnf, because it is faster. * Thu Jul 20 2023 Fedora Release Engineering - 14-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Wed Jun 14 2023 Python Maint - 14-5 - Rebuilt for Python 3.12 * Thu Jan 19 2023 Fedora Release Engineering - 14-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Thu Oct 27 2022 Zbigniew Jędrzejewski-Szmek - 14-3 - Skip test file that fails in koji * Thu Oct 27 2022 Zbigniew Jędrzejewski-Szmek - 14-2 - Skip test that fails in koji * Thu Oct 27 2022 Zbigniew Jędrzejewski-Szmek - 14-1 - Version 14 * Thu Jul 21 2022 Fedora Release Engineering - 13-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Tue Jun 21 2022 Zbigniew Jędrzejewski-Szmek - 13-2 - Skip test that fails in koji * Tue Jun 21 2022 Zbigniew Jędrzejewski-Szmek - 13-1 - Version 13 * Mon Jun 13 2022 Python Maint - 12-4 - Rebuilt for Python 3.11 * Sun Apr 24 2022 Zbigniew Jędrzejewski-Szmek - 12-3 - Add patch to fix compatibility with python3.11-a7 (rhbz#2057363) * Thu Jan 20 2022 Fedora Release Engineering - 12-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Tue Nov 30 2021 Zbigniew Jędrzejewski-Szmek - 12-1 - Version 12 * Wed Nov 24 2021 Zbigniew Jędrzejewski-Szmek - 11-1 - Version 11 * Thu Oct 21 2021 Zbigniew Jędrzejewski-Szmek - 10-2 - Add Recommends for tools to build initrds * Fri Jul 30 2021 Zbigniew Jędrzejewski-Szmek - 10-1 - Version 10 * Thu Jul 22 2021 Fedora Release Engineering - 9-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Fri Jun 11 2021 Davide Cavalca - 9-4 - Only gate out Recommends on el7 * Fri Jun 04 2021 Python Maint - 9-3 - Rebuilt for Python 3.10 * Tue Jan 26 2021 Fedora Release Engineering - 9-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Sat Jan 2 2021 Zbigniew Jędrzejewski-Szmek - 9-1 - Update to latest version (#1903407) * Thu Dec 3 2020 Zbigniew Jędrzejewski-Szmek - 8-1 - Update to latest version (#1903407) * Sat Oct 3 2020 Zbigniew Jędrzejewski-Szmek - 6-1 - Update to latest version (#1884879) * Tue Jul 28 2020 Fedora Release Engineering - 5-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Wed Jan 29 2020 Fedora Release Engineering - 5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Thu Jul 25 2019 Fedora Release Engineering - 5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Tue Apr 30 2019 Zbigniew Jędrzejewski-Szmek - 5-1 - Update to latest version * Fri Feb 01 2019 Fedora Release Engineering - 4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Fri Jul 13 2018 Fedora Release Engineering - 4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Sat Feb 10 2018 Zbigniew Jędrzejewski-Szmek - 4-2 - Update to latest version (#1544123) * Thu Feb 08 2018 Fedora Release Engineering - 2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Fri Jun 23 2017 Zbigniew Jędrzejewski-Szmek - 2-1 - Update to latest version (#1464285) * Fri Feb 10 2017 Fedora Release Engineering - 1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Mon Dec 19 2016 Miro Hrončok - 1-2 - Rebuild for Python 3.6 * Thu Nov 3 2016 Zbigniew Jędrzejewski-Szmek - 1-1 - Initial version