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