python-virt-firmware/python-virt-firmware.spec
2024-04-15 12:16:35 +02:00

117 lines
3.6 KiB
RPMSpec

%global pypi_version 24.4
Name: python-virt-firmware
Version: %{pypi_version}
Release: %autorelease
Summary: Tools for virtual machine firmware volumes
License: GPL-2.0-only
URL: https://pypi.org/project/virt-firmware/
Source0: virt-firmware-%{pypi_version}.tar.gz
BuildArch: noarch
BuildRequires: python3-devel
BuildRequires: python3dist(cryptography)
BuildRequires: python3dist(setuptools)
BuildRequires: make help2man
BuildRequires: systemd systemd-rpm-macros
%description
Tools for ovmf / armvirt firmware volumes This is a small collection of tools
for edk2 firmware images. They support decoding and printing the content of
firmware volumes. Variable stores (OVMF_VARS.fd) can be modified, for example
to enroll secure boot certificates.
%package -n python3-virt-firmware
Summary: %{summary}
%{?python_provide:%python_provide python3-virt-firmware}
Provides: virt-firmware
Conflicts: python3-virt-firmware-peutils < 23.9
Obsoletes: python3-virt-firmware-peutils < 23.9
Requires: python3dist(cryptography)
Requires: python3dist(setuptools)
Requires: python3dist(pefile)
%description -n python3-virt-firmware
Tools for ovmf / armvirt firmware volumes This is a small collection of tools
for edk2 firmware images. They support decoding and printing the content of
firmware volumes. Variable stores (OVMF_VARS.fd) can be modified, for example
to enroll secure boot certificates.
%package -n python3-virt-firmware-tests
Summary: %{summary} - test cases
Requires: python3-virt-firmware
Requires: python3dist(pytest)
Requires: edk2-ovmf
%description -n python3-virt-firmware-tests
test cases
%package -n uki-direct
Provides: ukidirect
Summary: %{summary} - manage UKI kernels.
Requires: python3-virt-firmware
Conflicts: systemd < 254
%description -n uki-direct
kernel-install plugin and systemd unit to manage automatic
UKI (unified kernel image) updates.
%prep
%autosetup -n virt-firmware-%{pypi_version}
%build
%py3_build
%install
%py3_install
# manpages
install -m 755 -d %{buildroot}%{_mandir}/man1
install -m 644 man/*.1 %{buildroot}%{_mandir}/man1
# tests
mkdir -p %{buildroot}%{_datadir}/%{name}
cp -ar tests %{buildroot}%{_datadir}/%{name}
# uki-direct
install -m 755 -d %{buildroot}%{_unitdir}
install -m 755 -d %{buildroot}%{_libdir}/kernel/install.d
install -m 644 systemd/kernel-bootcfg-boot-successful.service %{buildroot}%{_unitdir}
install -m 755 systemd/99-uki-uefi-setup.install %{buildroot}%{_libdir}/kernel/install.d
%post -n uki-direct
%systemd_post kernel-bootcfg-boot-successful.service
%preun -n uki-direct
%systemd_preun kernel-bootcfg-boot-successful.service
%postun -n uki-direct
%systemd_postun kernel-bootcfg-boot-successful.service
%files -n python3-virt-firmware
%license LICENSE
%doc README.md experimental
%{_bindir}/host-efi-vars
%{_bindir}/virt-fw-dump
%{_bindir}/virt-fw-vars
%{_bindir}/virt-fw-sigdb
%{_bindir}/kernel-bootcfg
%{_bindir}/uefi-boot-menu
%{_bindir}/migrate-vars
%{_bindir}/pe-dumpinfo
%{_bindir}/pe-listsigs
%{_bindir}/pe-addsigs
%{_bindir}/pe-inspect
%{_mandir}/man1/virt-*.1*
%{_mandir}/man1/kernel-bootcfg.1*
%{_mandir}/man1/uefi-boot-menu.1*
%{_mandir}/man1/pe-*.1*
%{python3_sitelib}/virt/firmware
%{python3_sitelib}/virt/peutils
%{python3_sitelib}/virt_firmware-%{pypi_version}-py%{python3_version}.egg-info
%files -n python3-virt-firmware-tests
%{_datadir}/%{name}/tests
%files -n uki-direct
%{_unitdir}/kernel-bootcfg-boot-successful.service
%{_libdir}/kernel/install.d/99-uki-uefi-setup.install
%changelog
%autochangelog