%global summary A set of libraries and tools for managing boot loader entries %global sphinx_docs 1 Name: boom-boot Version: 1.2 Release: 1%{?dist} Summary: %{summary} License: GPLv2 URL: https://github.com/snapshotmanager/boom Source0: https://github.com/snapshotmanager/boom/archive/%{version}/boom-%{version}.tar.gz Patch1: 0001-etc-Remove-executable-permission-from-etc-default-bo.patch Patch2: 0002-man-Fix-line-starting-with.patch BuildArch: noarch BuildRequires: python3-setuptools BuildRequires: python3-devel %if 0%{?sphinx_docs} BuildRequires: python3-sphinx %endif Requires: python3-boom = %{version}-%{release} Requires: %{name}-conf = %{version}-%{release} %package -n python3-boom Summary: %{summary} %{?python_provide:%python_provide python3-boom} Requires: %{__python3} Recommends: (lvm2 or brtfs-progs) Recommends: %{name}-conf = %{version}-%{release} # There used to be a boom package in fedora, and there is boom packaged in # copr. How to tell which one is installed? We need python3-boom and no boom # only. Conflicts: boom %package conf Summary: %{summary} %package grub2 Summary: %{summary} Supplements: (grub2 and boom-boot = %{version}-%{release}) %description Boom is a boot manager for Linux systems using boot loaders that support the BootLoader Specification for boot entry configuration. Boom requires a BLS compatible boot loader to function: either the systemd-boot project, or Grub2 with the BLS patch (Red Hat Grub2 builds include this support in both Red Hat Enterprise Linux 7 and Fedora). %description -n python3-boom Boom is a boot manager for Linux systems using boot loaders that support the BootLoader Specification for boot entry configuration. Boom requires a BLS compatible boot loader to function: either the systemd-boot project, or Grub2 with the BLS patch (Red Hat Grub2 builds include this support in both Red Hat Enterprise Linux 7 and Fedora). This package provides python3 boom module. %description conf Boom is a boot manager for Linux systems using boot loaders that support the BootLoader Specification for boot entry configuration. Boom requires a BLS compatible boot loader to function: either the systemd-boot project, or Grub2 with the BLS patch (Red Hat Grub2 builds include this support in both Red Hat Enterprise Linux 7 and Fedora). This package provides configuration files for boom. %description grub2 Boom is a boot manager for Linux systems using boot loaders that support the BootLoader Specification for boot entry configuration. Boom requires a BLS compatible boot loader to function: either the systemd-boot project, or Grub2 with the BLS patch (Red Hat Grub2 builds include this support in both Red Hat Enterprise Linux 7 and Fedora). This package provides integration scripts for grub2 bootloader. %prep %setup -n boom-%{version} # NOTE: Do not use backup extension - MANIFEST.in is picking them %patch1 -p1 %patch2 -p1 %build %if 0%{?sphinx_docs} make -C doc html rm doc/_build/html/.buildinfo mv doc/_build/html doc/html rm -r doc/_build %endif %py3_build %install %py3_install # Install Grub2 integration scripts mkdir -p ${RPM_BUILD_ROOT}/etc/grub.d mkdir -p ${RPM_BUILD_ROOT}/etc/default install -m 755 etc/grub.d/42_boom ${RPM_BUILD_ROOT}/etc/grub.d install -m 644 etc/default/boom ${RPM_BUILD_ROOT}/etc/default # Make configuration directories # mode 0700 - in line with /boot/grub2 directory: install -d -m 700 ${RPM_BUILD_ROOT}/boot/boom/profiles install -d -m 700 ${RPM_BUILD_ROOT}/boot/boom/hosts install -d -m 700 ${RPM_BUILD_ROOT}/boot/loader/entries install -d -m 700 ${RPM_BUILD_ROOT}/boot/boom/cache install -m 644 examples/boom.conf ${RPM_BUILD_ROOT}/boot/boom mkdir -p ${RPM_BUILD_ROOT}/%{_mandir}/man8 mkdir -p ${RPM_BUILD_ROOT}/%{_mandir}/man5 install -m 644 man/man8/boom.8 ${RPM_BUILD_ROOT}/%{_mandir}/man8 install -m 644 man/man5/boom.5 ${RPM_BUILD_ROOT}/%{_mandir}/man5 rm doc/Makefile rm doc/conf.py # Test suite currently does not operate in rpmbuild environment #%%check #%%{__python3} setup.py test %files %license COPYING %doc README.md %{_bindir}/boom %doc %{_mandir}/man*/boom.* %files -n python3-boom %license COPYING %doc README.md %{python3_sitelib}/* %doc doc %doc examples %doc tests %files conf %license COPYING %doc README.md %dir /boot/boom %config(noreplace) /boot/boom/boom.conf %dir /boot/boom/profiles %dir /boot/boom/hosts %dir /boot/boom/cache %dir /boot/loader/entries %files grub2 %license COPYING %doc README.md %{_sysconfdir}/grub.d/42_boom %config(noreplace) %{_sysconfdir}/default/boom %changelog * Sun Jun 07 2020 Marian Csontos 1.2-1 - Update to bug fix release 1.2. * Tue May 26 2020 Miro Hrončok - 1.1-4 - Rebuilt for Python 3.9 * Tue May 26 2020 Marian Csontos 1.1-3 - Fix unicode entries handling. - Add tracebacks when --debug is used. * Tue May 26 2020 Miro Hrončok - 1.1-2 - Rebuilt for Python 3.9 * Thu May 14 2020 Marian Csontos 1.1-1 - Update to new upstream release 1.1. - Add caching of kernel and init ramdisk images. * Tue Jan 28 2020 Fedora Release Engineering - 1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Mon Jan 20 2020 Marian Csontos 1.0-1 - Update to new upstream release 1.0. * Thu Oct 03 2019 Miro Hrončok - 1.0-0.5.20190329git6ff3e08 - Rebuilt for Python 3.8.0rc1 (#1748018) * Mon Aug 19 2019 Miro Hrončok - 1.0-0.4.20190329git6ff3e08 - Rebuilt for Python 3.8 * Wed Jul 24 2019 Fedora Release Engineering - 1.0-0.3.20190329git6ff3e08 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Thu May 09 2019 Marian Csontos 1.0-0.2.20190329git6ff3e08 - Fix packaging issues. * Thu May 09 2019 Marian Csontos 1.0-0.1.20190329git6ff3e08 - Pre-release of new version. * Thu Jan 31 2019 Fedora Release Engineering - 0.9-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Tue Jul 17 2018 Marian Csontos 0.9-4 - Change dependencies. * Mon Jul 16 2018 Marian Csontos 0.9-3 - Split executable, python module and configuration. * Wed Jun 27 2018 Marian Csontos 0.9-2 - Spin off grub2 into subpackage * Wed Jun 27 2018 Marian Csontos 0.9-1 - Update to new upstream 0.9. - Fix boot_id caching. * Fri Jun 08 2018 Marian Csontos 0.8.5-6.2 - Remove example files from /boot/boom/profiles. * Fri May 11 2018 Marian Csontos 0.8.5-6.1 - Files in /boot are treated as configuration files. * Thu Apr 26 2018 Marian Csontos 0.8.5-6 - Package upstream version 0.8-5.6