Blame mkosi.spec

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