public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Alice Ferrazzi" <alicef@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-kernel/kpatch/
Date: Tue, 27 Jun 2023 03:05:51 +0000 (UTC)	[thread overview]
Message-ID: <1687835136.8c59e41530c5f2cd6a85a89d22f545d26d9c62a5.alicef@gentoo> (raw)

commit:     8c59e41530c5f2cd6a85a89d22f545d26d9c62a5
Author:     Alice Ferrazzi <alicef <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 27 03:02:55 2023 +0000
Commit:     Alice Ferrazzi <alicef <AT> gentoo <DOT> org>
CommitDate: Tue Jun 27 03:05:36 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8c59e415

sys-kernel/kpatch: add 0.9.8

Signed-off-by: Alice Ferrazzi <alicef <AT> gentoo.org>

 sys-kernel/kpatch/Manifest            |   1 +
 sys-kernel/kpatch/kpatch-0.9.8.ebuild | 100 ++++++++++++++++++++++++++++++++++
 2 files changed, 101 insertions(+)

diff --git a/sys-kernel/kpatch/Manifest b/sys-kernel/kpatch/Manifest
index 2e6869005550..f43602278dad 100644
--- a/sys-kernel/kpatch/Manifest
+++ b/sys-kernel/kpatch/Manifest
@@ -1 +1,2 @@
 DIST kpatch-0.9.7.tar.gz 283662 BLAKE2B c57578b2e5db8582cb09b9ba2bf2040cc5a178cd6c8fdb7f14a0819c50fd71eb8576b08264d019678498e98baf2875c3bd38247ebae31a9631f0e6a17ec5941a SHA512 c876d9b1e5f6e6ab858fa6f302e78152beb3e50cedd93f3c61ab6f747e32199b0601ad4a36d426d43d0e9a37d9bf1d6bbfddccc86df4b31d5e3e6edead6cded3
+DIST kpatch-0.9.8.tar.gz 297451 BLAKE2B 7970da061d2dfb66871e6fc3ff058da97dfb6bc224c9cff3fb25df586056389e1632e891cc481b007405f4662466441f78f82032ad0803d5ac7b10f9b5c500b6 SHA512 ab3a771dfcde92a9eee768afcf7fddb6f1ad5ba9e8c7f44d579d258ce9b6ee1722869b1b70c4597ae951b0faf71413efa26a5b135f50308c996b284a9dcee5b7

diff --git a/sys-kernel/kpatch/kpatch-0.9.8.ebuild b/sys-kernel/kpatch/kpatch-0.9.8.ebuild
new file mode 100644
index 000000000000..a4988affe34f
--- /dev/null
+++ b/sys-kernel/kpatch/kpatch-0.9.8.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic linux-mod
+
+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
+	sys-devel/bison
+	test? ( dev-util/shellcheck-bin )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.9.4-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
+
+}
+
+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
+}


             reply	other threads:[~2023-06-27  3:05 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-27  3:05 Alice Ferrazzi [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-01-08 12:28 [gentoo-commits] repo/gentoo:master commit in: sys-kernel/kpatch/ Sam James
2023-06-30 11:53 Mike Pagano
2023-06-30 11:52 Mike Pagano
2023-06-30 11:49 Mike Pagano
2023-06-29 16:14 Mike Pagano
2023-06-27  3:25 Sam James
2023-06-27  3:12 Alice Ferrazzi
2022-10-19  5:42 Alice Ferrazzi
2022-10-19  5:41 Alice Ferrazzi
2022-10-19  5:38 Alice Ferrazzi
2022-10-19  5:37 Alice Ferrazzi
2022-06-15 17:38 Alice Ferrazzi
2022-06-15 17:38 Alice Ferrazzi
2022-02-04 17:26 Alice Ferrazzi
2020-08-08 12:18 Mikle Kolyada
2019-07-30  1:13 Stefan Strogin
2019-07-30  1:13 Stefan Strogin
2019-06-02 18:47 Alice Ferrazzi
2019-06-02 18:45 Alice Ferrazzi
2018-10-23  0:16 Alice Ferrazzi
2018-05-22 14:40 Alice Ferrazzi
2017-10-24  0:08 Göktürk Yüksek
2017-08-03 20:06 Michał Górny
2017-06-15  6:33 Alice Ferrazzi
2017-06-06 17:52 David Seifert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1687835136.8c59e41530c5f2cd6a85a89d22f545d26d9c62a5.alicef@gentoo \
    --to=alicef@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox