Name: mkosi
Version: 19
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-get", "pacman", "zypper", and
"emerge" to generate disk images with a number of bells and whistles.
Generated images are tailored to the purpose. This means GPT disk labels are
used and only systemd-based images may be generated.
%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
%files -f %pyproject_files
%license LICENSE
%doc README.md
%_bindir/mkosi
%_mandir/man1/mkosi.1*
%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 <daan.j.demeyer@gmail.com> - 19-1.1
- Release v19 for CentOS Hyperscale SIG
* Mon Oct 9 2023 Daan De Meyer <daan.j.demeyer@gmail.com> - 18-1.1
- Release v18 for CentOS Hyperscale SIG
* Tue Sep 19 2023 Daan De Meyer <daan.j.demeyer@gmail.com> - 17.1-1.1
- Release v17.1 for CentOS Hyperscale SIG
* Tue Sep 19 2023 Daan De Meyer <daan.j.demeyer@gmail.com> - 17-1.1
- Release v17 for CentOS Hyperscale SIG
* Mon Sep 11 2023 Daan De Meyer <daan.j.demeyer@gmail.com> - 16.1-1
- Release v16 for CentOS Hyperscale SIG
* Sun Aug 13 2023 Leif Liddy <leifliddy@fedoraproject.org> - 15.1-2
- Require systemd version 254, recommend systemd-nspawn (rhbz#2232233)
* Thu Aug 10 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 15.1-1
- Version 15.1
- dnf5 is recommended over dnf, because it is faster.
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 14-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Jun 14 2023 Python Maint <python-maint@redhat.com> - 14-5
- Rebuilt for Python 3.12
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 14-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Oct 27 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 14-3
- Skip test file that fails in koji
* Thu Oct 27 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 14-2
- Skip test that fails in koji
* Thu Oct 27 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 14-1
- Version 14
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 13-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jun 21 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 13-2
- Skip test that fails in koji
* Tue Jun 21 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 13-1
- Version 13
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 12-4
- Rebuilt for Python 3.11
* Sun Apr 24 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 12-3
- Add patch to fix compatibility with python3.11-a7 (rhbz#2057363)
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Nov 30 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 12-1
- Version 12
* Wed Nov 24 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 11-1
- Version 11
* Thu Oct 21 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 10-2
- Add Recommends for tools to build initrds
* Fri Jul 30 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 10-1
- Version 10
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 9-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 11 2021 Davide Cavalca <dcavalca@fedoraproject.org> - 9-4
- Only gate out Recommends on el7
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 9-3
- Rebuilt for Python 3.10
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sat Jan 2 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 9-1
- Update to latest version (#1903407)
* Thu Dec 3 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 8-1
- Update to latest version (#1903407)
* Sat Oct 3 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 6-1
- Update to latest version (#1884879)
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Apr 30 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 5-1
- Update to latest version
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sat Feb 10 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4-2
- Update to latest version (#1544123)
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Jun 23 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2-1
- Update to latest version (#1464285)
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 1-2
- Rebuild for Python 3.6
* Thu Nov 3 2016 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1-1
- Initial version