%define kpatch_dnf_ver 0.4 Name: kpatch Version: 0.9.4 Release: 3%{?dist} Summary: Dynamic kernel patch manager Group: System Environment/Kernel License: GPLv2 URL: https://github.com/dynup/kpatch Source0: https://github.com/dynup/kpatch/archive/v%{version}.tar.gz Source1: kpatch-dnf-v%{kpatch_dnf_ver}.tar.gz # RHEL-only Patch0: 0001-contrib-disable-upstart-kpatch.conf-install.patch Patch1: 0002-kpatch-clarify-unload-unsupport.patch Patch2: 0003-do-not-rm-selinux-rpm-owned-directory.patch # Upstream backports (inactive -- for future reference) #Patch100: 0100-xxx.patch # kpatch-dnf backports (inactive -- for future reference) #Patch200: 0200-foo-bar-etcetera.patch %description kpatch is a live kernel patch module manager. It allows the user to manage a collection of binary kernel patch modules which can be used to dynamically patch the kernel without rebooting. %package -n kpatch-build Summary: Build tool for kpatch BuildRequires: gcc kernel-devel elfutils elfutils-devel ExcludeArch: aarch64 %description -n kpatch-build kpatch-build is a tool to build patches for kpatch. %package -n kpatch-runtime Summary: Dynamic kernel patch manager Requires: bash kmod binutils Suggests: kpatch-dnf Provides: kpatch = %{version}-%{release} Obsoletes: kpatch < 0.9.4-1.6 BuildArch: noarch %description -n kpatch-runtime kpatch is a live kernel patch module manager. It allows the user to manage a collection of binary kernel patch modules which can be used to dynamically patch the kernel without rebooting. %package -n kpatch-dnf Summary: patch-patch manager plugin for DNF Version: %kpatch_dnf_ver BuildRequires: python3-devel python3-dnf Requires: python3-dnf python3-hawkey Provides: kpatch-dnf BuildArch: noarch %description -n kpatch-dnf kpatch-dnf is a DNF plugin that manages subscription to kpatch-patch updates. When enabled, kernel packages are automatically subscribed to corresponding kpatch-patch packages updates. %prep %setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 # Use this to apply upstream patches to kpatch #%patch100 -p1 %setup -D -T -a 1 # Use this to apply patches to kpatch-dnf (inactive) #cd kpatch-dnf-%{kpatch_dnf_ver} #%patch200 -p1 #cd .. %build make make -C kpatch-dnf-%{kpatch_dnf_ver} %install make install PREFIX=/usr DESTDIR=%{buildroot} mkdir -p %{buildroot}/%{_sharedstatedir}/kpatch make install PREFIX=/usr DESTDIR=%{buildroot} PYTHONSITES=%{python3_sitelib} -C kpatch-dnf-%{kpatch_dnf_ver} %files -n kpatch-build %{_bindir}/kpatch-build %{_libexecdir}/%{name} %{_datadir}/%{name} %{_mandir}/man1/kpatch-build.1* %files -n kpatch-runtime %{_sbindir}/kpatch %{_usr}/lib/systemd/system/kpatch.service %{_sharedstatedir}/kpatch %doc %{_mandir}/man1/kpatch.1.gz %files -n kpatch-dnf %{python3_sitelib}/dnf-plugins/kpatch.py %{python3_sitelib}/dnf-plugins/__pycache__ %config(noreplace) %{_sysconfdir}/dnf/plugins/kpatch.conf %doc %{_mandir}/man8/dnf.kpatch.8.gz %post -n kpatch-dnf echo "To enable automatic kpatch-patch subscription, run:" echo -e "\t$ dnf kpatch auto" %changelog * Fri Jun 10 2022 Yannick Cote 0.9.4-3 - Do not rm selinux rpm owned directory (rhbz#2053413) * Thu Jan 27 2022 Yannick Cote 0.9.4-2 - Add /usr/lib/kpatch to install and files list to appease SELinux (rhbz#2030004) * Wed Sep 29 2021 Artem Savkov - 0.9.4-1 - Rebase to 0.9.4 * Fri Sep 03 2021 Davide Cavalca - 0.9.4-1.6 - Sync with c8s-sig-hyperscale - Update to 0.9.4 - Add kpatch-build arched subpackage - Add kpatch-runtime noarch subpackage to provide and obsolete kpatch * Mon Aug 09 2021 Mohan Boddu - 0.9.3-3 - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags Related: rhbz#1991688 * Thu Jun 10 2021 Joe Lawrence - 0.9.3-2 - Rebase to latest upstream (via backport patch) * Tue May 18 2021 Joel Savitz - 0.9.3-1 - Rebase to latest upstream * Fri Apr 16 2021 Mohan Boddu - 0.9.2-5 - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 * Fri Mar 05 2021 Joe Lawrence 0.9.2-4 - Fix kpatch-dnf package description typos (rhbz#1934292) * Mon Jan 04 2021 Julien Thierry 0.9.2-2 - Remove kpatch-dnf dependency on python3 (rhbz#1912457) * Wed Dec 2 2020 Joe Lawrence 0.9.2-1 - initial kpatch utility build for rhel-9.0.0 (rhbz#1901593)