summaryrefslogtreecommitdiff
path: root/sys-kernel/kpatch
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-03-13 00:28:24 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-03-13 00:28:24 +0000
commitb3f96499c112618ec301a4852f24b8b8be123d3a (patch)
tree90d1f3a681c108834f888ca502d93702f101fbce /sys-kernel/kpatch
parentef0fedb39c21a343a3f316726f272bad9005b22c (diff)
gentoo auto-resync : 13:03:2025 - 00:28:24
Diffstat (limited to 'sys-kernel/kpatch')
-rw-r--r--sys-kernel/kpatch/Manifest3
-rw-r--r--sys-kernel/kpatch/files/kpatch-0.9.10-no-werror.patch14
-rw-r--r--sys-kernel/kpatch/kpatch-0.9.10.ebuild101
3 files changed, 118 insertions, 0 deletions
diff --git a/sys-kernel/kpatch/Manifest b/sys-kernel/kpatch/Manifest
index 529d66fa0731..2d6f446c0f24 100644
--- a/sys-kernel/kpatch/Manifest
+++ b/sys-kernel/kpatch/Manifest
@@ -1,6 +1,9 @@
+AUX kpatch-0.9.10-no-werror.patch 473 BLAKE2B 22950df150f6d9f9fc81b02c475b82c4f4f107f33c16baf15070f6c136240673dfed7c3c34266d24a5948c7c1e18996d3095ccdf1194a672d978777b31009351 SHA512 b26ad55bad3a91a3b454c539db4bd259446fa9b47b8fc4d2b9f584e3edab7e1b8b3997af149c8d1ed89efadafe292f77b2e73d92cba45a2eac06af5b677d143f
AUX kpatch-0.9.4-no-werror.patch 373 BLAKE2B b7e0d7c35fc87df6d2cb9f0a86a82f01d5a72561d62281abaf7290696d890a997ce3221be506e6213dda891a2f5100b9de83edccac8c6b6af3322353fef9f394 SHA512 3a4392ca1d56a3b2625f11b8a91c140a51d8a5ce45bec8f1a5d901d7515d07ffc85922623464576af0f89966a725faec99b9bc801610ead9102d7f69108f5cc6
+DIST kpatch-0.9.10.tar.gz 341303 BLAKE2B 90cdad8b065ad93bac07c60ba990c6ef2c5311b53e5e9ae715d84ae8207c46b467db68ec17510d1238b86a1722f1b056bd4e2082ea90bc93bfc91a0f8414dca4 SHA512 d27f0e92d93539cc6ae6137419a99d124e5e2dba8bfbf67d15b0bf89230d2e92584c974ccae6932ce7a02460d73da9d46806e9104ee019ea3c6d3cfe8658be83
DIST kpatch-0.9.7.tar.gz 283662 BLAKE2B c57578b2e5db8582cb09b9ba2bf2040cc5a178cd6c8fdb7f14a0819c50fd71eb8576b08264d019678498e98baf2875c3bd38247ebae31a9631f0e6a17ec5941a SHA512 c876d9b1e5f6e6ab858fa6f302e78152beb3e50cedd93f3c61ab6f747e32199b0601ad4a36d426d43d0e9a37d9bf1d6bbfddccc86df4b31d5e3e6edead6cded3
DIST kpatch-0.9.8.tar.gz 297451 BLAKE2B 7970da061d2dfb66871e6fc3ff058da97dfb6bc224c9cff3fb25df586056389e1632e891cc481b007405f4662466441f78f82032ad0803d5ac7b10f9b5c500b6 SHA512 ab3a771dfcde92a9eee768afcf7fddb6f1ad5ba9e8c7f44d579d258ce9b6ee1722869b1b70c4597ae951b0faf71413efa26a5b135f50308c996b284a9dcee5b7
+EBUILD kpatch-0.9.10.ebuild 2808 BLAKE2B f6667dab7c2be04af105f3788667dc3ae379e2e4abeda32e2958fc594ca264b60ceefcfce7a15a7f5f15abaa2c85445ae53cae83f6b996281859a0a1d91dccae SHA512 1d0125c08ee907527526cdfa3a4b7b8b6d69bb4355fb628e695d039d51279b5eb23f318ad63eaf81bcad6b044e8e8e9b8cbf37494428f7fc3ef743fcc41d2b87
EBUILD kpatch-0.9.7.ebuild 2780 BLAKE2B 7e275647f979bda83e2b42461f248ba1b72846c89b3a26463c43c30219642ed3c7218f7a0318eea680bd09ea32a8c473fde083692348b32f2fbf52fdba234fcb SHA512 c9b43d46ccc460e1ad0c20f8fb324dee1c499c19e578be402c6cfe894c2e63cb5817486bbbfb600ae33f7c7908aa15dfa85713877a4c6f3592972d8440c32c6d
EBUILD kpatch-0.9.8.ebuild 2807 BLAKE2B baeee67cf8cfe867e9ddeb94207f3a183d6af2db6f177e19234969fd99f4a222c6aab62b71b7b3902e34a2fbaf6858816b902d4ad3d3caf47f485ca61b107f15 SHA512 b4e9836485b21568aca4c86f836b9d6d26818c6a64a7d471236fe5add2838b102b2144b2cc6bc483038d3cbad2e2eb9c41c239dccfa756aaad5de929489feb64
EBUILD kpatch-9999.ebuild 2727 BLAKE2B 8ccc9cffadf951c755e32f5dccacfbf9aa28274a424cae0fa1f50f728524d1a591bf4c8e22b4e01669b1e9797f79b94aa51bdda5586eef4004f690fd5a4dc52c SHA512 0a70be3862e6b1e5159f7239a216c06230d827941f5117245530c6b352885fdce17d334b0a243a809849b2bda5c4e534f0cc0573778cff412a85300b0d0f06dc
diff --git a/sys-kernel/kpatch/files/kpatch-0.9.10-no-werror.patch b/sys-kernel/kpatch/files/kpatch-0.9.10-no-werror.patch
new file mode 100644
index 000000000000..73b8b115fcbd
--- /dev/null
+++ b/sys-kernel/kpatch/files/kpatch-0.9.10-no-werror.patch
@@ -0,0 +1,14 @@
+https://bugs.gentoo.org/776925
+diff --git a/kpatch-build/Makefile b/kpatch-build/Makefile
+index 4e964b7..fc2d796 100644
+--- a/kpatch-build/Makefile
++++ b/kpatch-build/Makefile
+@@ -1,7 +1,7 @@
+ include ../Makefile.inc
+
+ CFLAGS += -std=gnu11 -MMD -MP -I../kmod/patch -Iinsn -Wall -Wsign-compare \
+- -Wconversion -Wno-sign-conversion -g -Werror
++ -Wconversion -Wno-sign-conversion -g
+ LDLIBS = -lelf
+
+ TARGETS = create-diff-object create-klp-module create-kpatch-module
diff --git a/sys-kernel/kpatch/kpatch-0.9.10.ebuild b/sys-kernel/kpatch/kpatch-0.9.10.ebuild
new file mode 100644
index 000000000000..4127a4d55868
--- /dev/null
+++ b/sys-kernel/kpatch/kpatch-0.9.10.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic linux-mod-r1
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/dynup/${PN}.git"
+else
+ SRC_URI="https://github.com/dynup/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Dynamic kernel patching for Linux"
+HOMEPAGE="https://github.com/dynup/kpatch"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="contrib +kpatch +kpatch-build kmod test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-crypt/pesign
+ sys-libs/zlib
+ sys-apps/pciutils
+"
+
+DEPEND="
+ ${RDEPEND}
+ dev-libs/elfutils
+ app-alternatives/yacc
+ test? ( || ( dev-util/shellcheck-bin dev-util/shellcheck ) )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.10-no-werror.patch
+)
+
+pkg_setup() {
+ if use kmod; then
+ if kernel_is gt 3 9 0; then
+ if ! linux_config_exists; then
+ eerror "Unable to check the currently running kernel for kpatch support"
+ eerror "Please be sure a .config file is available in the kernel src dir"
+ eerror "and ensure the kernel has been built."
+ else
+ # Fail to build if these kernel options are not enabled (see kpatch/kmod/core/Makefile)
+ CONFIG_CHECK="FUNCTION_TRACER HAVE_FENTRY MODULES SYSFS KALLSYMS_ALL"
+ ERROR_FUNCTION_TRACER="CONFIG_FUNCTION_TRACER must be enabled in the kernel's config file"
+ ERROR_HAVE_FENTRY="CONFIG_HAVE_FENTRY must be enabled in the kernel's config file"
+ ERROR_MODULES="CONFIG_MODULES must be enabled in the kernel's config file"
+ ERROR_SYSFS="CONFIG_SYSFS must be enabled in the kernel's config file"
+ ERROR_KALLSYMS_ALL="CONFIG_KALLSYMS_ALL must be enabled in the kernel's config file"
+ fi
+ else
+ eerror
+ eerror "kpatch is not available for Linux kernels below 4.0.0"
+ eerror
+ die "Upgrade the kernel sources before installing kpatch."
+ fi
+ check_extra_config
+ fi
+
+ linux-mod-r1_pkg_setup
+}
+
+src_prepare() {
+ replace-flags '-O?' '-O1'
+ default
+}
+
+src_compile() {
+ use kpatch-build && emake -C kpatch-build
+ use kpatch && emake -C kpatch
+ use kmod && set_arch_to_kernel && emake -C kmod
+ use contrib && emake -C contrib
+ use test && emake check
+}
+
+src_install() {
+ if use kpatch-build; then
+ emake DESTDIR="${D}" PREFIX="/usr" install -C kpatch-build
+ insinto /usr/share/${PN}/patch
+ doins kmod/patch/kpatch{.lds.S,-macros.h,-patch.h,-patch-hook.c}
+ doins kmod/patch/{livepatch-patch-hook.c,Makefile,patch-hook.c}
+ doins kmod/core/kpatch.h
+ doman man/kpatch-build.1
+ fi
+
+ if use kpatch; then
+ emake DESTDIR="${D}" PREFIX="/usr" install -C kpatch
+ doman man/kpatch.1
+ fi
+
+ use kmod && set_arch_to_kernel && emake DESTDIR="${D}" PREFIX="/usr" install -C kmod
+ use contrib && emake DESTDIR="${D}" PREFIX="/usr" install -C contrib
+
+ dodoc README.md doc/patch-author-guide.md
+}