From d8e287f0a190f79561f93ae97f80cc4f9e77330b Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Oct 25 2022 19:53:07 +0000 Subject: Merge remote-tracking branch 'gitlab/c9s' into c9s-sig-hyperscale --- diff --git a/.gitignore b/.gitignore index bb853e3..4524524 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ -SOURCES/kpatch-dnf-v0.3.tar.gz -SOURCES/v0.9.3.tar.gz -SOURCES/v0.9.4.tar.gz +/v0.9.4.tar.gz +/kpatch-dnf-v0.4.tar.gz diff --git a/0001-contrib-disable-upstart-kpatch.conf-install.patch b/0001-contrib-disable-upstart-kpatch.conf-install.patch new file mode 100644 index 0000000..44eb5b4 --- /dev/null +++ b/0001-contrib-disable-upstart-kpatch.conf-install.patch @@ -0,0 +1,46 @@ +From f056d60fb309896a52882fd3fc10fb5305f5a47e Mon Sep 17 00:00:00 2001 +From: Joe Lawrence +Date: Thu, 21 Jun 2018 15:40:20 -0400 +Subject: [PATCH] contrib: disable upstart kpatch.conf install + +Do not install the upstart configuration file to avoid this rhpkg +build complaint: + + Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/kpatch-0.6.1-1.el7.noarch + error: Installed (but unpackaged) file(s) found: + /etc/init/kpatch.conf + Installed (but unpackaged) file(s) found: + /etc/init/kpatch.conf + +We'll need to think of a better way to do this upstream, but for now, +just skip the unneeded file on RHEL. + +Signed-off-by: Joe Lawrence +--- + contrib/Makefile | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/contrib/Makefile b/contrib/Makefile +index 0b0eeeb23a56..e873f27d6eae 100644 +--- a/contrib/Makefile ++++ b/contrib/Makefile +@@ -6,12 +6,12 @@ install: all + $(INSTALL) -d $(SYSTEMDDIR) + $(INSTALL) -m 0644 kpatch.service $(SYSTEMDDIR) + sed -i 's~PREFIX~$(PREFIX)~' $(SYSTEMDDIR)/kpatch.service +- $(INSTALL) -d $(UPSTARTDIR) +- $(INSTALL) -m 0644 kpatch.conf $(UPSTARTDIR) +- sed -i 's~PREFIX~$(PREFIX)~' $(UPSTARTDIR)/kpatch.conf ++# $(INSTALL) -d $(UPSTARTDIR) ++# $(INSTALL) -m 0644 kpatch.conf $(UPSTARTDIR) ++# sed -i 's~PREFIX~$(PREFIX)~' $(UPSTARTDIR)/kpatch.conf + + uninstall: + $(RM) $(SYSTEMDDIR)/kpatch.service +- $(RM) $(UPSTARTDIR)/kpatch.conf ++# $(RM) $(UPSTARTDIR)/kpatch.conf + + clean: +-- +1.8.3.1 + diff --git a/0002-kpatch-clarify-unload-unsupport.patch b/0002-kpatch-clarify-unload-unsupport.patch new file mode 100644 index 0000000..b1c0d2d --- /dev/null +++ b/0002-kpatch-clarify-unload-unsupport.patch @@ -0,0 +1,78 @@ +kpatch: clarify that "kpatch unload" isn't supported + +Add a user-prompt to the kpatch unload subcommand and make a similiar +mention in the manual page. + +Provide an undocumented force option so that QE and dev scripts can +still run unload kpatch modules from scripts. + +RHEL-only. + +Signed-off-by: Joe Lawrence +diff -Nupr kpatch-0.6.1.old/kpatch/kpatch kpatch-0.6.1/kpatch/kpatch +--- kpatch-0.9.2.old/kpatch/kpatch 2019-08-28 10:35:01.191259434 -0400 ++++ kpatch-0.9.2/kpatch/kpatch 2019-08-28 16:11:13.067926576 -0400 +@@ -49,8 +49,8 @@ usage () { + echo >&2 + usage_cmd "load --all" "load all installed patch modules into the running kernel" + usage_cmd "load " "load patch module into the running kernel" +- usage_cmd "unload --all" "unload all patch modules from the running kernel" +- usage_cmd "unload " "unload patch module from the running kernel" ++ usage_cmd "unload --all (UNSUPPORTED)" "unload all patch modules from the running kernel" ++ usage_cmd "unload (UNSUPPORTED)" "unload patch module from the running kernel" + echo >&2 + usage_cmd "info " "show information about a patch module" + echo >&2 +@@ -71,6 +71,16 @@ die() { + exit 1 + } + ++confirm_prompt() { ++ local prompt="$1" ++ local answer ++ while true; do ++ read -rp "$prompt [Y/N] " answer ++ [[ $answer == 'Y' || $answer == 'y' ]] && return 0 ++ [[ $answer == 'N' || $answer == 'n' ]] && return 1 ++ done ++} ++ + __find_module () { + MODULE="$1" + [[ -f "$MODULE" ]] && return +@@ -406,6 +416,19 @@ unset MODULE + init_sysfs_var + + [[ "$#" -lt 1 ]] && usage ++ ++# RHEL-specific support options ++case "$1" in ++"force") ++ # For scripting purposes, support "kpatch force unload". ++ # Shift out the "force" to avoid the user-prompt check below. ++ shift ++ ;; ++"unload") ++ confirm_prompt "WARNING: Red Hat doesn't support unloading of kpatches, continue anyway?" || exit 1 ++ ;; ++esac ++ + case "$1" in + "load") + [[ "$#" -ne 2 ]] && usage +diff -Nupr kpatch-0.6.1.old/man/kpatch.1 kpatch-0.6.1/man/kpatch.1 +--- kpatch-0.9.2.old/man/kpatch.1 2019-08-28 10:35:01.191259434 -0400 ++++ kpatch-0.9.2/man/kpatch.1 2019-08-28 14:51:23.268198897 -0400 +@@ -23,10 +23,10 @@ load --all + load + load patch module into the running kernel + +-unload --all ++unload --all (UNSUPPORTED) + unload all patch modules from the running kernel + +-unload ++unload (UNSUPPORTED) + unload patch module from the running kernel + + info diff --git a/0003-do-not-rm-selinux-rpm-owned-directory.patch b/0003-do-not-rm-selinux-rpm-owned-directory.patch new file mode 100644 index 0000000..a38e831 --- /dev/null +++ b/0003-do-not-rm-selinux-rpm-owned-directory.patch @@ -0,0 +1,28 @@ +kpatch: do not rm selinux rpm owned directory + +As part of the kpatch rpm package installation, the /var/lib/kpatch directory +gets created and is set to be selinux owned by the kpatch rpm package. + +There is a problem where uninstalling the last kpatch-patch will also remove +this directory. When another kpatch-patch installation occurs, the +/var/lib/kpatch get recreated but withtout the selinux context which triggers a +policy error. + +Since /var/lib/kpatch is now created by the rpm spec file, do not remove it +from the uinstall target of the kpatch script. This insures selinux context +consistency. + +RHEL-only. + +Signed-off-by: Yannick Cote +diff -Nupr kpatch-0.9.4.old/kpatch/kpatch kpatch-0.9.4/kpatch/kpatch +--- kpatch-0.9.4.old/kpatch/kpatch 2021-08-26 15:31:07.000000000 -0400 ++++ kpatch-0.9.4/kpatch/kpatch 2022-06-10 12:19:55.791538218 -0400 +@@ -584,7 +584,6 @@ case "$1" in + echo "uninstalling $PATCH ($KVER)" + rm -f "$MODULE" || die "failed to uninstall module $PATCH" + rmdir --ignore-fail-on-non-empty "$INSTALLDIR/$KVER" || die "failed to remove directory $INSTALLDIR/$KVER" +- rmdir --ignore-fail-on-non-empty "$INSTALLDIR" || die "failed to remove directory $INSTALLDIR" + + ;; + diff --git a/SOURCES/0001-contrib-disable-upstart-kpatch.conf-install.patch b/SOURCES/0001-contrib-disable-upstart-kpatch.conf-install.patch deleted file mode 100644 index 44eb5b4..0000000 --- a/SOURCES/0001-contrib-disable-upstart-kpatch.conf-install.patch +++ /dev/null @@ -1,46 +0,0 @@ -From f056d60fb309896a52882fd3fc10fb5305f5a47e Mon Sep 17 00:00:00 2001 -From: Joe Lawrence -Date: Thu, 21 Jun 2018 15:40:20 -0400 -Subject: [PATCH] contrib: disable upstart kpatch.conf install - -Do not install the upstart configuration file to avoid this rhpkg -build complaint: - - Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/kpatch-0.6.1-1.el7.noarch - error: Installed (but unpackaged) file(s) found: - /etc/init/kpatch.conf - Installed (but unpackaged) file(s) found: - /etc/init/kpatch.conf - -We'll need to think of a better way to do this upstream, but for now, -just skip the unneeded file on RHEL. - -Signed-off-by: Joe Lawrence ---- - contrib/Makefile | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/contrib/Makefile b/contrib/Makefile -index 0b0eeeb23a56..e873f27d6eae 100644 ---- a/contrib/Makefile -+++ b/contrib/Makefile -@@ -6,12 +6,12 @@ install: all - $(INSTALL) -d $(SYSTEMDDIR) - $(INSTALL) -m 0644 kpatch.service $(SYSTEMDDIR) - sed -i 's~PREFIX~$(PREFIX)~' $(SYSTEMDDIR)/kpatch.service -- $(INSTALL) -d $(UPSTARTDIR) -- $(INSTALL) -m 0644 kpatch.conf $(UPSTARTDIR) -- sed -i 's~PREFIX~$(PREFIX)~' $(UPSTARTDIR)/kpatch.conf -+# $(INSTALL) -d $(UPSTARTDIR) -+# $(INSTALL) -m 0644 kpatch.conf $(UPSTARTDIR) -+# sed -i 's~PREFIX~$(PREFIX)~' $(UPSTARTDIR)/kpatch.conf - - uninstall: - $(RM) $(SYSTEMDDIR)/kpatch.service -- $(RM) $(UPSTARTDIR)/kpatch.conf -+# $(RM) $(UPSTARTDIR)/kpatch.conf - - clean: --- -1.8.3.1 - diff --git a/SOURCES/0002-kpatch-clarify-unload-unsupport.patch b/SOURCES/0002-kpatch-clarify-unload-unsupport.patch deleted file mode 100644 index b1c0d2d..0000000 --- a/SOURCES/0002-kpatch-clarify-unload-unsupport.patch +++ /dev/null @@ -1,78 +0,0 @@ -kpatch: clarify that "kpatch unload" isn't supported - -Add a user-prompt to the kpatch unload subcommand and make a similiar -mention in the manual page. - -Provide an undocumented force option so that QE and dev scripts can -still run unload kpatch modules from scripts. - -RHEL-only. - -Signed-off-by: Joe Lawrence -diff -Nupr kpatch-0.6.1.old/kpatch/kpatch kpatch-0.6.1/kpatch/kpatch ---- kpatch-0.9.2.old/kpatch/kpatch 2019-08-28 10:35:01.191259434 -0400 -+++ kpatch-0.9.2/kpatch/kpatch 2019-08-28 16:11:13.067926576 -0400 -@@ -49,8 +49,8 @@ usage () { - echo >&2 - usage_cmd "load --all" "load all installed patch modules into the running kernel" - usage_cmd "load " "load patch module into the running kernel" -- usage_cmd "unload --all" "unload all patch modules from the running kernel" -- usage_cmd "unload " "unload patch module from the running kernel" -+ usage_cmd "unload --all (UNSUPPORTED)" "unload all patch modules from the running kernel" -+ usage_cmd "unload (UNSUPPORTED)" "unload patch module from the running kernel" - echo >&2 - usage_cmd "info " "show information about a patch module" - echo >&2 -@@ -71,6 +71,16 @@ die() { - exit 1 - } - -+confirm_prompt() { -+ local prompt="$1" -+ local answer -+ while true; do -+ read -rp "$prompt [Y/N] " answer -+ [[ $answer == 'Y' || $answer == 'y' ]] && return 0 -+ [[ $answer == 'N' || $answer == 'n' ]] && return 1 -+ done -+} -+ - __find_module () { - MODULE="$1" - [[ -f "$MODULE" ]] && return -@@ -406,6 +416,19 @@ unset MODULE - init_sysfs_var - - [[ "$#" -lt 1 ]] && usage -+ -+# RHEL-specific support options -+case "$1" in -+"force") -+ # For scripting purposes, support "kpatch force unload". -+ # Shift out the "force" to avoid the user-prompt check below. -+ shift -+ ;; -+"unload") -+ confirm_prompt "WARNING: Red Hat doesn't support unloading of kpatches, continue anyway?" || exit 1 -+ ;; -+esac -+ - case "$1" in - "load") - [[ "$#" -ne 2 ]] && usage -diff -Nupr kpatch-0.6.1.old/man/kpatch.1 kpatch-0.6.1/man/kpatch.1 ---- kpatch-0.9.2.old/man/kpatch.1 2019-08-28 10:35:01.191259434 -0400 -+++ kpatch-0.9.2/man/kpatch.1 2019-08-28 14:51:23.268198897 -0400 -@@ -23,10 +23,10 @@ load --all - load - load patch module into the running kernel - --unload --all -+unload --all (UNSUPPORTED) - unload all patch modules from the running kernel - --unload -+unload (UNSUPPORTED) - unload patch module from the running kernel - - info diff --git a/SOURCES/0100-kpatch-Sync-signal-subcmd-usage-output-with-manpage.patch b/SOURCES/0100-kpatch-Sync-signal-subcmd-usage-output-with-manpage.patch deleted file mode 100644 index e1941ba..0000000 --- a/SOURCES/0100-kpatch-Sync-signal-subcmd-usage-output-with-manpage.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 17539e71e7ac112f04d5e34aa2644b41be39926d Mon Sep 17 00:00:00 2001 -From: Joel Savitz -Date: Mon, 7 Jun 2021 16:26:00 -0400 -Subject: [PATCH] kpatch: Sync signal subcmd usage output with manpage - -Fixes: 1188 - -Signed-off-by: Joel Savitz ---- - kpatch/kpatch | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/kpatch/kpatch b/kpatch/kpatch -index da538069c014..4e46b124e492 100755 ---- a/kpatch/kpatch -+++ b/kpatch/kpatch -@@ -36,7 +36,7 @@ MAX_LOAD_ATTEMPTS=5 - RETRY_INTERVAL=2 - - usage_cmd() { -- printf ' %-20s\n %s\n' "$1" "$2" >&2 -+ printf ' %-20s\n%s\n' "$1" "$(fmt -w 80 <(echo " $2"))" >&2 - } - - usage () { -@@ -57,7 +57,7 @@ usage () { - echo >&2 - usage_cmd "list" "list installed patch modules" - echo >&2 -- usage_cmd "signal" "signal/poke any process stalling the current patch transition" -+ usage_cmd "signal" "signal/poke any process stalling the current patch transition. This is only useful on systems that have the sysfs livepatch signal interface. On other systems, the signaling should be done automatically by the OS and this subcommand is a no-op." - echo >&2 - usage_cmd "version" "display the kpatch version" - exit 1 --- -2.26.3 - diff --git a/SPECS/kpatch.spec b/SPECS/kpatch.spec deleted file mode 100644 index 0d44da2..0000000 --- a/SPECS/kpatch.spec +++ /dev/null @@ -1,135 +0,0 @@ -%define kpatch_dnf_ver 0.3 - -Name: kpatch -Version: 0.9.4 -Release: 1.6%{?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 - -# Upstream backports (inactive -- for future reference) -#Patch100: 0100-kpatch-Sync-signal-subcmd-usage-output-with-manpage.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-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: kpatch-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. - -%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. - -%prep -%setup -q -%patch0 -p1 -%patch1 -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} - -make install PREFIX=/usr DESTDIR=%{buildroot} PYTHONSITES=%{python3_sitelib} -C kpatch-dnf-%{kpatch_dnf_ver} - -%files -n kpatch-runtime -%{_sbindir}/kpatch -%{_usr}/lib/systemd/system/kpatch.service -%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" - -%files -n kpatch-build -%{_bindir}/kpatch-build -%{_libexecdir}/%{name} -%{_datadir}/%{name} -%{_mandir}/man1/kpatch-build.1* - -%changelog -* 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) diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..c821aac --- /dev/null +++ b/gating.yaml @@ -0,0 +1,6 @@ +--- !Policy +product_versions: + - rhel-9 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.general-kpatch.tier0.functional} diff --git a/kpatch.spec b/kpatch.spec new file mode 100644 index 0000000..0d4e72f --- /dev/null +++ b/kpatch.spec @@ -0,0 +1,148 @@ +%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) diff --git a/sources b/sources new file mode 100644 index 0000000..0cf3072 --- /dev/null +++ b/sources @@ -0,0 +1,2 @@ +SHA512 (v0.9.4.tar.gz) = 647509fb9772b7564c0533ea043a15a66e29d413e045258036e78890c1d9cb072622bf458dda9bd4a87fe0855522c9b6ec3761f9bb4ab7e08157a179abfbaa62 +SHA512 (kpatch-dnf-v0.4.tar.gz) = d76b2ec5595e06fd560ae928f43ad275b4ce07574a1fc829d184d56c5f09a88ce0cb1d1b05e58eb53e6d934a879886b7f0149f782950d7856fbb99c61ce436c3