Skip to content

Commit

Permalink
Added sys-kernel/kpatch
Browse files Browse the repository at this point in the history
  • Loading branch information
Jacob Hrbek committed Apr 12, 2019
1 parent 6d25157 commit 14ce62d
Show file tree
Hide file tree
Showing 8 changed files with 510 additions and 0 deletions.
9 changes: 9 additions & 0 deletions sys-kernel/kpatch/Manifest
@@ -0,0 +1,9 @@
DIST kpatch-0.4.0.tar.gz 124433 BLAKE2B 6ea18c4d590426f9db95e16d555307e264d1b7db362d421f72eaaf897703f7883c44cc49bd98b48d8789453962259d0b0e301aca325c94be6c21061d0621a9cf SHA512 0bbb49a06d02e9eb026be458eb904cf50f50461a67f16835a306bb3a4a57ef88b86ecf6bca6dfc91b921ba87b4c8b9d532e2a77e987e7c71583b8cb53520a1d7
DIST kpatch-0.6.0.tar.gz 153337 BLAKE2B 5c132b885f9f8bc3c7b514997a0b8b77280d0387431dd3eb73f45da4678b281961a03452b0ec590b37fc9568192135528a9a42bd5005530bd8b9175fe652f7b1 SHA512 7ac27639773a851ad6689743100ff973b4e3a30efc386bdf413c8f6167068d93c2d18820d87e1f1e96405fa3545dcb80a72db0011f07218a692f91f1f3c3655a
DIST kpatch-0.6.2.tar.gz 148110 BLAKE2B 9903c9423ee6268a0d87c55336e418a964474a3d7f35dd1ad613be7645a932cd09991652cd4a3af0b08a686f39e7c6c7f4b12d80c20c7ecd663aa703821503f8 SHA512 65098195330a2dbea4f8648c87c41f3a7751ffcb83b4e4c5f0a1146f91a8ae8c305d8f111a69304b31f1f12dd26da788af31a5477899bda098b7391cd0a32eca
EBUILD kpatch-0.4.0-r1.ebuild 2121 BLAKE2B 0a048f17c841cdb1f108f5534a290b26e60f7f6420ba0e6f26440d2df2766181227b22d610f44d7334c9dd374599a7958c114ed93bb38c4ab660ac0ed03d0234 SHA512 0d6a327e5470c08a2f9b313024494a3513fe0ba1358851d6dc7c57ea5e1f81a71c0fc50ede9593eae9aed46f761f35d8a4a9a4de80e494cb99c6c1f365503d74
EBUILD kpatch-0.6.0.ebuild 2121 BLAKE2B 0a048f17c841cdb1f108f5534a290b26e60f7f6420ba0e6f26440d2df2766181227b22d610f44d7334c9dd374599a7958c114ed93bb38c4ab660ac0ed03d0234 SHA512 0d6a327e5470c08a2f9b313024494a3513fe0ba1358851d6dc7c57ea5e1f81a71c0fc50ede9593eae9aed46f761f35d8a4a9a4de80e494cb99c6c1f365503d74
EBUILD kpatch-0.6.2.ebuild 2121 BLAKE2B 0a048f17c841cdb1f108f5534a290b26e60f7f6420ba0e6f26440d2df2766181227b22d610f44d7334c9dd374599a7958c114ed93bb38c4ab660ac0ed03d0234 SHA512 0d6a327e5470c08a2f9b313024494a3513fe0ba1358851d6dc7c57ea5e1f81a71c0fc50ede9593eae9aed46f761f35d8a4a9a4de80e494cb99c6c1f365503d74
EBUILD kpatch-0.6.3.ebuild 2121 BLAKE2B 0a048f17c841cdb1f108f5534a290b26e60f7f6420ba0e6f26440d2df2766181227b22d610f44d7334c9dd374599a7958c114ed93bb38c4ab660ac0ed03d0234 SHA512 0d6a327e5470c08a2f9b313024494a3513fe0ba1358851d6dc7c57ea5e1f81a71c0fc50ede9593eae9aed46f761f35d8a4a9a4de80e494cb99c6c1f365503d74
EBUILD kpatch-9999.ebuild 2122 BLAKE2B 4cbfa85ed008210cfe9006f6a2e54482f0f47b5aaa028f3b7f4b78eb99d954f07b4ce744fe92d0899957ca57b20d81df9ee5c991c8db2c9bca4522153e7732e9 SHA512 ae6206687bf4b9c276e77e84efe997a6e12f6f402ea411ac9b927021c45f3627de68ebf9b77fbecfde5ed9d2d277b452d13041b2c94b617e3c7177bee3f129be
MISC SOURCE 2122 BLAKE2B 4cbfa85ed008210cfe9006f6a2e54482f0f47b5aaa028f3b7f4b78eb99d954f07b4ce744fe92d0899957ca57b20d81df9ee5c991c8db2c9bca4522153e7732e9 SHA512 ae6206687bf4b9c276e77e84efe997a6e12f6f402ea411ac9b927021c45f3627de68ebf9b77fbecfde5ed9d2d277b452d13041b2c94b617e3c7177bee3f129be
83 changes: 83 additions & 0 deletions sys-kernel/kpatch/SOURCE
@@ -0,0 +1,83 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI="6"

inherit linux-info linux-mod flag-o-matic

if [[ "${PV}" == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/dynup/${PN}.git"

elif [[ "${PV}" == "0.6.3" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/dynup/${PN}.git"
EGIT_COMMIT="da3eed612df1d26e19b0678763e116f666da13b2"

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="examples +modules test"

RDEPEND="
app-crypt/pesign
dev-libs/openssl:0=
sys-libs/zlib
sys-apps/pciutils
"

DEPEND="
${RDEPEND}
test? ( dev-util/shellcheck )
dev-libs/elfutils
sys-devel/bison
"

pkg_pretend() {
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
}

src_prepare() {
replace-flags '-O?' '-O1'
default
}

src_compile() {
set_arch_to_kernel
emake all
}

src_install() {
set_arch_to_kernel
emake DESTDIR="${D}" PREFIX="/usr" install

einstalldocs
}
83 changes: 83 additions & 0 deletions sys-kernel/kpatch/kpatch-0.4.0-r1.ebuild
@@ -0,0 +1,83 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI="6"

inherit linux-info linux-mod flag-o-matic

if [[ "${PV}" == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/dynup/${PN}.git"

elif [[ "${PV}" == "0.6.3" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/dynup/${PN}.git"
EGIT_COMMIT="da3eed612df1d26e19b0678763e116f666da13b2"

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="examples +modules test"

RDEPEND="
app-crypt/pesign
dev-libs/openssl:0=
sys-libs/zlib
sys-apps/pciutils
"

DEPEND="
${RDEPEND}
test? ( dev-util/shellcheck )
dev-libs/elfutils
sys-devel/bison
"

pkg_pretend() {
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
}

src_prepare() {
replace-flags '-O?' '-O1'
default
}

src_compile() {
set_arch_to_kernel
emake all
}

src_install() {
set_arch_to_kernel
emake DESTDIR="${D}" PREFIX="/usr" install

einstalldocs
}
83 changes: 83 additions & 0 deletions sys-kernel/kpatch/kpatch-0.6.0.ebuild
@@ -0,0 +1,83 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI="6"

inherit linux-info linux-mod flag-o-matic

if [[ "${PV}" == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/dynup/${PN}.git"

elif [[ "${PV}" == "0.6.3" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/dynup/${PN}.git"
EGIT_COMMIT="da3eed612df1d26e19b0678763e116f666da13b2"

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="examples +modules test"

RDEPEND="
app-crypt/pesign
dev-libs/openssl:0=
sys-libs/zlib
sys-apps/pciutils
"

DEPEND="
${RDEPEND}
test? ( dev-util/shellcheck )
dev-libs/elfutils
sys-devel/bison
"

pkg_pretend() {
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
}

src_prepare() {
replace-flags '-O?' '-O1'
default
}

src_compile() {
set_arch_to_kernel
emake all
}

src_install() {
set_arch_to_kernel
emake DESTDIR="${D}" PREFIX="/usr" install

einstalldocs
}
83 changes: 83 additions & 0 deletions sys-kernel/kpatch/kpatch-0.6.2.ebuild
@@ -0,0 +1,83 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI="6"

inherit linux-info linux-mod flag-o-matic

if [[ "${PV}" == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/dynup/${PN}.git"

elif [[ "${PV}" == "0.6.3" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/dynup/${PN}.git"
EGIT_COMMIT="da3eed612df1d26e19b0678763e116f666da13b2"

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="examples +modules test"

RDEPEND="
app-crypt/pesign
dev-libs/openssl:0=
sys-libs/zlib
sys-apps/pciutils
"

DEPEND="
${RDEPEND}
test? ( dev-util/shellcheck )
dev-libs/elfutils
sys-devel/bison
"

pkg_pretend() {
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
}

src_prepare() {
replace-flags '-O?' '-O1'
default
}

src_compile() {
set_arch_to_kernel
emake all
}

src_install() {
set_arch_to_kernel
emake DESTDIR="${D}" PREFIX="/usr" install

einstalldocs
}

0 comments on commit 14ce62d

Please sign in to comment.