summaryrefslogtreecommitdiff
path: root/sys-apps/kexec-tools
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/kexec-tools')
-rw-r--r--sys-apps/kexec-tools/Manifest16
-rw-r--r--sys-apps/kexec-tools/files/kexec-auto-load95
-rw-r--r--sys-apps/kexec-tools/files/kexec.conf42
-rw-r--r--sys-apps/kexec-tools/files/kexec.conf-2.0.46
-rw-r--r--sys-apps/kexec-tools/files/kexec.service-r116
-rw-r--r--sys-apps/kexec-tools/kexec-tools-2.0.22.ebuild127
-rw-r--r--sys-apps/kexec-tools/kexec-tools-2.0.28.ebuild4
-rw-r--r--sys-apps/kexec-tools/kexec-tools-2.0.29-r1.ebuild (renamed from sys-apps/kexec-tools/kexec-tools-2.0.24.ebuild)25
-rw-r--r--sys-apps/kexec-tools/kexec-tools-9999.ebuild23
9 files changed, 166 insertions, 188 deletions
diff --git a/sys-apps/kexec-tools/Manifest b/sys-apps/kexec-tools/Manifest
index cf1c41b71b1d..1c98e82a9cfd 100644
--- a/sys-apps/kexec-tools/Manifest
+++ b/sys-apps/kexec-tools/Manifest
@@ -1,17 +1,17 @@
AUX 90_kexec 199 BLAKE2B 37bcd66beccc32a884b0c2fca9cbba14784b8e6bc7238c14397f0ded788b503df1f7d6fff01c9b9a6bc159c1a6e01821c4c78c144091a7e13bb2bbe88ab5a98c SHA512 31837eb7df9b5c9b63c5f500e55fb584e315ac20f328490ff812a265f1a01604724bf4699f142255f7c5fa78cb2d8f2d6220a91961ac90df644b5d545d47ca39
AUX README.Gentoo 937 BLAKE2B 88a8912015e1cab0d382661d6bdc82689c91970d6d84c949e99a932b4d153b0753183380930b753d23d1c40ab7f44cae784f716e54bc3609a28741ab0b5b1348 SHA512 f082763692def43a97866b88443daf08a2bc1b0dccdc90160d12effa16e1293d8db6935c72ca9dd5502f844078241cbecdfde15b6e8f67a2cca8f3e89f14e654
+AUX kexec-auto-load 2452 BLAKE2B dc75b0cf23eae20868b80871e62385bd5ff4788ee8c7867d8c94c84aced59bc287a01e8863fbeb008c33ad21f1757d813f3eee1166a84916874c5cdf70d15aed SHA512 50deeb14f0fe0377281978f295cb4d04ebfc82627b051edde8e46b3a89107212adac1026b6226df1cba98ff60170f25af83b674d888ec9121a7ed0fe69c14db7
AUX kexec-r2.init 4061 BLAKE2B 40e0f89db9a1b95c8b389e093aee055402ca6ac450344c53de4e6e44127020bb51d33b41f4ec4a749303cbd67f873088aff151599c046f4fcb268da9397baa83 SHA512 9974ec312647dce2213bfaa80820ebf1571ce4d95daa8668a0626444e7d768a2dddc984f1a3b79df956b870e99e2f82ae970f11fc146baf7926fec45048a9e7c
AUX kexec-tools-2.0.28-binutils-2.42-x86_64.patch 2729 BLAKE2B 0f4f9cbf1f54310c4518afef6d0304cb2dd73f23b17975d4f5c5fd6d8393b32d60221daac6b60b58f0344a32c3cfebace282400f5545037f29c65c53436ffe83 SHA512 ad8c35b64361f44b8b6a28404c4eaef4701f3f4af9f3a76d22d90fa61d53f3d65cd769a9b996b4daee3e2e627b35bf7fff3b06274ae63b415a7181c08c4cfd25
AUX kexec-tools-2.0.4-disable-kexec-test.patch 473 BLAKE2B ad62ae055cd4443ee4dcb4d9a5be1c918a9e1337545f60c683a1a47b848020d0f8fbdc38c7111e505424783191faf3e221ffa642169d2d055d5e17e6b19b9d0d SHA512 c7fe9176db7c3f9c84add1c263c5a695684bf1db55d47152534f0bbb97c084ad5d3f2090307d0bdfcf5622fa810aca3c104f81b3d24baa76f42d3f32d1d4bbad
AUX kexec-tools-2.0.4-out-of-source.patch 816 BLAKE2B 88dc0a8f01c65a32b6ae081ea222760845fe243aad1057e3620ed4c932a32edebf943f9557b2f67751bbcea1f91778c0c065e246d419d5725eb68edcb1e58ced SHA512 4839800f99e2bdb7dfbf3aa1f3ad795feb63b4e493812a50d4baa839a27b5e96319c4e848969cbcedf627a32ed5fbfb312461c2ac89b73daaa7f8f680f35f504
-AUX kexec.conf 340 BLAKE2B a65aa0f402c712c10f6095b37b620dacfe883ad621f5403d8190febf582f3ab7e8b821091321036bff104ee5cebab21062830c774778ca17a34a2df76065cfb8 SHA512 66beb57ee13dba70f75f12326643270a0c888e178fdfca8ba7a566a874707aebe2afebb6ceae976dfb0aaf3135048daad6277e70580e4c7911b9ddbf74e4f00a
-AUX kexec.conf-2.0.4 1013 BLAKE2B 7594bf8c150d1165f30449526b658c78feab82526e649aa8cce35b6a47b2abd5a208b7ae4376f0330ea2194ae63f786bf0c30682f734f1b604be131e6e63570e SHA512 96db2834454aa4d038061e9b1f918932da3d3054021487425d0f70c6ad32096b9433ae2f3921e83196b23af901c32e591df3d6a84a6d14e064608d8ad895a599
+AUX kexec.conf 850 BLAKE2B 7adca88e0cc1fb57b32b84753e093f6553c0a33e3b96751081c346ec6c97d485567a7b19482364f928450ae3bf76c0ad886935f6934416e05cb3c41efbfd4407 SHA512 9f19446a88cc3bdb2abcc8c2a11185f3d7fd19649fdae1eea43da33d3eac3bc08f4b80ba0d2ac90d6a83197dc4cd6a9078b21ae65e3daf97d6680fa316417dbc
+AUX kexec.conf-2.0.4 1004 BLAKE2B d781228b53f2e2d0b8cf54cc40ae0487078851820a3da9a4bbbfb1b1941dac18e829736c05570fe7159a85726fe12cf9da714f6c30a75f43f533de8c077cc44b SHA512 ebe3aef5321b53b6bb4ddb7fe4ad8e16edf3e0cd09418cb31bce82e3e594758b3101d297d34925b11f5c9c41c7be7b025cb78f446d80b1e1349779e6883f06ce
AUX kexec.service 407 BLAKE2B 7854172c36f550fece58b6cb351a6bd8b4ab8b5a11da0fd629048f8cc2866baa11ee7311424f998360f02dc2c1210be32222283c2bd2f93e1bf4bf65ec903203 SHA512 9f0fa6d39c67048fe774fee0f2e8ed10e9e12a2468e7dda193cd8c5bd8b4cf49819d14703efad35c91265cd4e03c6f5460934b5fe92efd06eab8dc619920b1e3
-DIST kexec-tools-2.0.22.tar.xz 303564 BLAKE2B 977c741eabf9b6b882550713ba59b18289b4f997fb382e96338efce6d04a9390fea952fc46ca72fd0a0b782261841ab2002da84b1819f955e63996eac900b0f7 SHA512 7580860f272eee5af52139809f12961e5a5d3a65f4e191183ca9c845410425d25818945ac14ed04a60e6ce474dc2656fc6a14041177b0bf703f450820c7d6aba
-DIST kexec-tools-2.0.24.tar.xz 303808 BLAKE2B 8188602f1b843c1dccc0307131f8c9ec0426c6cb3de898040352c1fed5f6d4bd7c58a0c2bf54290b91c8fe3401180df682959ee6c41693d07acc199c087c7db2 SHA512 ef7cf78246e2d729d81a3649791a5a23c385353cc75cbe8ef279616329fdaccc876d614c7f51e1456822a13a11520296070d9897467d24310399909e049c3822
+AUX kexec.service-r1 355 BLAKE2B 90ba7fe6af6db107821acd61679e29db44e180d768624a6b5e3817ff0850dfa96c01ab701adbd13ca17c81b34b7b83b3267e052e6149e7cabdac0c800d382d52 SHA512 2b9bb9c8b250cdf7c2b519b76d6dee2d68ddd02f3b04c2b6f912def8864c5024a89d27ce236c6d8a49f605889b5afd73fe5b803870b810ad432daac800b0f123
DIST kexec-tools-2.0.28.tar.xz 312524 BLAKE2B b2ab25c632cd2bad21751940acee1816f9cd930e1bb5af1052f9f6c4979dcd62d82c487a88fa8015e3ce7c843de9f47a3f6ccf7efa9270b5f24c79ba30a82a91 SHA512 889a7bf1d26bb309e4ff7ce1c8dbcf48c01e47221ea3acf1c4ef2a98a652c496e31bddcdb627d3adebd85f7541d1fb9122c60e741e10b3726e31a9733cadc753
-EBUILD kexec-tools-2.0.22.ebuild 3399 BLAKE2B 78d97fe476cf153fbdc75eb7fc28472abd9e56404a0164bc5ce570ec68f4e679dc703d88440c79495ac2c55e58210d401bb5fcf9db2c655f26978ebd097c95b8 SHA512 6740b6434d2bf1399d9045cd1b93258cb9b48c8b486ee2543601874632f07b22692c7d7e95af1920819dad1b8ae6768ae47a1c9aca2acb37a6cb7e5fc92fa924
-EBUILD kexec-tools-2.0.24.ebuild 3450 BLAKE2B fc87c2d3950f9599c8460875074a110e4db86e3e5a3632743ee4597c64acd9d7747d2e85931fe81ccbf0ad52b536a6bfe1830f3314f0f6c9785c402f1000d16d SHA512 0d96aeae8646c6a74809e14491c298a8ef18ec82c50edd1c55162c81b4e7c8c4125714aefd1c80310edaa2a1a45b47ccab318dad5ef0cf87548bc9d623d3fb4e
-EBUILD kexec-tools-2.0.28.ebuild 3518 BLAKE2B 8f00ee950e429717a5254973e152e43d90e95360fa616f637085c807dd9c0762df42b1187da2c905cbeaf9906ead6f759c645380663594c226ce01f8b0fc6072 SHA512 f013c21fdacde62b38877a6a26fb282f70f5134ffb23a83dd88380c9fe0c32af6c1fa83d74237cf86ff7d8b5fa7c7b99cdae9b971e5f89d3e491213bb3b2376f
-EBUILD kexec-tools-9999.ebuild 3452 BLAKE2B f15144729531ac36ac4614b7c10a1077f05b12ae4cb3421cc173710dcd2d8c7096c5dcf3c779813c44a841270ecf91cf5d2f6a6d71349b1898efc6db6fe794a0 SHA512 982e577ea98aa8fca8b4b56051851ba0b35311187a978fef87bd53bd0c5b14f333b4c033ca1b7b719f06e5713cbc78d18aafe2d4b53713554889a56b6b959ec1
+DIST kexec-tools-2.0.29.tar.xz 314576 BLAKE2B 3cb94015d0bcd8ab13f25e23835758fc305093c4d1a81c590830ced852e61da66321617f04bda847e26c95ec44bd101eb235fa1d34f397e22ed4e80426efa162 SHA512 4c9e0b3df47b240f0eac2c31e8b515465f626ce043f64daa32b0b032d7132e54dada5d70875dab256345f66cf94a25dc3c160a9009ba60addd8dcb1e5205f5ca
+EBUILD kexec-tools-2.0.28.ebuild 3518 BLAKE2B eb7f52ad884eb38b72a710c8602bd7b006fb18a331aed5a755fe0365a3620750950ccbaea30780220f0017f0e9f5648dfa25f1f21eac2c837a2fc32f5dcf411a SHA512 dff2e7b8a8d3c8d907b8eaafe07dc7945d9b82e0b4c14e1d5f04b02984eefeebed934037b0d4f0ebb97d33c6340e08c7eb0fe91ec352a00da5728c17e58fe4c7
+EBUILD kexec-tools-2.0.29-r1.ebuild 3085 BLAKE2B 80c6be4bfc1aef542231dcf9b172942bb0ef4cd6f020732426435ead5edacb95a4f5780a5f95e280c9e88e57fb4a953b453fe2f46483ed7e53d01004af08cce4 SHA512 bf4f7f344836f16e75fd0e01ed23e3770d4cf105872bfaddc26f283fd4b2c60519b4df15a3043170a860d4814272cd0526fff3daf40fc3781329749fd3b503cf
+EBUILD kexec-tools-9999.ebuild 3085 BLAKE2B 80c6be4bfc1aef542231dcf9b172942bb0ef4cd6f020732426435ead5edacb95a4f5780a5f95e280c9e88e57fb4a953b453fe2f46483ed7e53d01004af08cce4 SHA512 bf4f7f344836f16e75fd0e01ed23e3770d4cf105872bfaddc26f283fd4b2c60519b4df15a3043170a860d4814272cd0526fff3daf40fc3781329749fd3b503cf
MISC metadata.xml 845 BLAKE2B c2e80468e673bd35bbe6c6dd63d6c95941d15e8671c29b9bee1be84b4735b89db861a17e2c7e2b80790e49a6586f9fe791e42523a25011a8074de0ef22b33070 SHA512 4a5165c6456d53f56855b4d701d6e4f8697995d66f4aa0c88ef03bc62432897e6261626b408d146f684c59bc1f619fa5a4f543e4d4ea6c3a93cdf3f9ff0915e8
diff --git a/sys-apps/kexec-tools/files/kexec-auto-load b/sys-apps/kexec-tools/files/kexec-auto-load
new file mode 100644
index 000000000000..62c828fd1c3d
--- /dev/null
+++ b/sys-apps/kexec-tools/files/kexec-auto-load
@@ -0,0 +1,95 @@
+#!/usr/bin/env bash
+
+# Defaults
+LAYOUT=compat
+BOOTPART=/boot
+KNAME=kernel
+INITRD=initramfs.img
+
+instkern_state=/var/lib/misc/installkernel
+if [[ -s ${instkern_state} ]]; then
+ # If we have a log file, set defaults from there.
+ IFS=$'\t' read -r -a LastKernArray <<< "$(tail -n1 ${instkern_state})"
+ LAYOUT="${LastKernArray[4]}"
+ BOOTPART="${LastKernArray[7]}"
+ KNAME="${LastKernArray[8]}"
+ if [[ "${LastKernArray[9]}" != unknown && ${LAYOUT} != uki ]]; then
+ INITRD="${LastKernArray[9]}"
+ else
+ INITRD=
+ fi
+fi
+
+if [[ ${LAYOUT} == uki ]]; then
+ echo "WARNING: kexec currently does not support UKIs"
+ KPARAM=
+else
+ if [[ -f /etc/kernel/cmdline ]]; then
+ KPARAM="$(tr -s "${IFS}" ' ' </etc/kernel/cmdline)"
+ elif [[ -f /usr/lib/kernel/cmdline ]]; then
+ KPARAM="$(tr -s "${IFS}" ' ' </usr/lib/kernel/cmdline)"
+ else
+ KPARAM=
+ fi
+fi
+
+
+# /etc/kexec.conf overrides installkernel.log
+kexec_conf=/etc/kexec.conf
+if [[ -f ${kexec_conf} ]]; then
+ source ${kexec_conf}
+fi
+
+if [[ -z ${DONT_MOUNT_BOOT} ]]; then
+ # Borrowed from mount-boot-utils.eclass
+ # note that /dev/BOOT is in the Gentoo default /etc/fstab file
+ fstabstate=$(awk "!/^[[:blank:]]*#|^\/dev\/BOOT/ && \$2 == \"${BOOTPART}\" \
+ { print 1; exit }" /etc/fstab || die "awk failed")
+
+ if [[ -z ${fstabstate} ]]; then
+ echo "Assuming you do not have a separate ${BOOTPART} partition."
+ else
+ procstate=$(awk "\$2 == \"${BOOTPART}\" { split(\$4, a, \",\"); \
+ for (i in a) if (a[i] ~ /^r[ow]\$/) { print a[i]; break }; exit }" \
+ /proc/mounts || die "awk failed")
+
+ if [[ -z ${procstate} ]]; then
+ echo "ERROR: Your ${BOOTPART} partition is not mounted"
+ exit 1
+ fi
+ fi
+fi
+
+if [[ ! -d ${BOOTPART} ]]; then
+ echo "ERROR: BOOTPART=${BOOTPART} not found"
+ exit 1
+fi
+
+KEXEC_ARGS=()
+
+if [[ -f ${BOOTPART}/${KNAME} ]]; then
+ KEXEC_ARGS+=( --load "${BOOTPART}/${KNAME}" )
+else
+ echo "ERROR: KNAME=${KNAME} not found"
+ exit 1
+fi
+
+if [[ -n ${INITRD} ]]; then
+ if [[ -f ${BOOTPART}/${INITRD} ]]; then
+ KEXEC_ARGS+=( --initrd "${BOOTPART}/${INITRD}" )
+ else
+ echo "WARNING: INITRD=${INITRD} not found"
+ fi
+fi
+
+if [[ -n ${KPARAM} ]]; then
+ KEXEC_ARGS+=( --command-line "${KPARAM}" )
+elif [[ ! -f /etc/kernel/cmdline && ! -f /usr/lib/kernel/cmdline ]]; then
+ # If it is still empty and we did not intentionally set it empty then reuse.
+ KEXEC_OPT_ARGS+=" --reuse-cmdline "
+fi
+
+KEXEC_ARGS+=( ${KEXEC_OPT_ARGS} )
+
+echo "Calling kexec with arguments: ${KEXEC_ARGS[@]}"
+exec kexec "${KEXEC_ARGS[@]}"
diff --git a/sys-apps/kexec-tools/files/kexec.conf b/sys-apps/kexec-tools/files/kexec.conf
index aa829b9c2349..34161117ec8f 100644
--- a/sys-apps/kexec-tools/files/kexec.conf
+++ b/sys-apps/kexec-tools/files/kexec.conf
@@ -1,16 +1,32 @@
-# Kernel image pathname, relative from /boot.
-KNAME="bzimage"
+# Kernel image partition.
+# Default: partition that last kernel image was installed on
+#BOOTPART="/boot"
+
+# Path to (unified) kernel image, relative to BOOTPART.
+# Default: last installed kernel image
+#KNAME="kernel"
+
+# Path to the initramfs image, relative to BOOTPART
+# Default: initramfs belonging to last kernel image, if any
+#INITRD="initramfs.img"
+
+# Kernel cmdline to use,
+# Default: contents of {/etc,/usr/lib}/kernel/cmdline if exists, otherwise --reuse-cmdline is used
+#KPARAM="quiet"
+
+# Additional arguments passed to kexec
+#KEXEC_OPT_ARGS=""
+
+# Do not try to mount /boot
+#DONT_MOUNT_BOOT="yes"
-# Additional arguments passed to kexec (8)
-# Following arguments are support:
-#
-# --reuse-cmdline
-# Use the current boot command line
-#
-# --command-line=string
-# Use a different command line
#
-# --initrd=file
-# Specify an initrd to use
+# The below is currently used by the OpenRC script only
#
-KEXEC_OPT_ARGS="--reuse-cmdline"
+
+# Load kexec kernel image into memory during shutdown instead of bootup
+# (default: yes)
+#LOAD_DURING_SHUTDOWN="yes"
+
+# Root partition (should be autodetected)
+#ROOTPART="/dev/hda3"
diff --git a/sys-apps/kexec-tools/files/kexec.conf-2.0.4 b/sys-apps/kexec-tools/files/kexec.conf-2.0.4
index b71ea2bae97f..215acca19d7a 100644
--- a/sys-apps/kexec-tools/files/kexec.conf-2.0.4
+++ b/sys-apps/kexec-tools/files/kexec.conf-2.0.4
@@ -13,12 +13,12 @@
#ROOTPART="/dev/hda3"
# Kernel image pathname, relative from BOOTPART.
-# If it's one of
+# If it's one of
# {kernel-genkernel,bzImage,vmlinuz,kernel}-<currently running kernel version>,
# or bzImage, vmlinuz (without suffix),
# then it's automaticaly detected.
# Setting it to "-" will disable kexec.
-#KNAME="vmlinuz-3.9.0"
+#KNAME="kernel"
# Initrd
# Same automatic detection restriction as for KNAME apply.
@@ -31,4 +31,4 @@
#KPARAM="splash=silent,theme:emergence"
# Do not try to mount /boot
-# DONT_MOUNT_BOOT="yes"
+#DONT_MOUNT_BOOT="yes"
diff --git a/sys-apps/kexec-tools/files/kexec.service-r1 b/sys-apps/kexec-tools/files/kexec.service-r1
new file mode 100644
index 000000000000..ce9adf0e5da2
--- /dev/null
+++ b/sys-apps/kexec-tools/files/kexec.service-r1
@@ -0,0 +1,16 @@
+[Unit]
+Description=Gracefully restart the box
+Documentation=man:kexec(8)
+After=boot.mount
+Before=shutdown.target umount.target final.target
+ConditionPathExists=!/nokexec
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+EnvironmentFile=/etc/kexec.conf
+ExecStart=/usr/sbin/kexec-auto-load
+ExecStop=/usr/sbin/kexec-auto-load
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sys-apps/kexec-tools/kexec-tools-2.0.22.ebuild b/sys-apps/kexec-tools/kexec-tools-2.0.22.ebuild
deleted file mode 100644
index 2f8eea8c0dee..000000000000
--- a/sys-apps/kexec-tools/kexec-tools-2.0.22.ebuild
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit libtool linux-info optfeature systemd
-
-if [[ ${PV} == "9999" ]] ; then
- inherit git-r3 autotools
- EGIT_REPO_URI="https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git"
-else
- SRC_URI="https://www.kernel.org/pub/linux/utils/kernel/kexec/${P/_/-}.tar.xz"
- [[ "${PV}" == *_rc* ]] || \
- KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-fi
-
-DESCRIPTION="Load another kernel from the currently executing Linux kernel"
-HOMEPAGE="https://kernel.org/pub/linux/utils/kernel/kexec/"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="booke lzma xen zlib"
-
-REQUIRED_USE="lzma? ( zlib )"
-
-DEPEND="
- lzma? ( app-arch/xz-utils )
- zlib? ( sys-libs/zlib )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${P/_/-}"
-
-CONFIG_CHECK="~KEXEC"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.0.4-disable-kexec-test.patch
- "${FILESDIR}"/${PN}-2.0.4-out-of-source.patch
-)
-
-pkg_setup() {
- # GNU Make's $(COMPILE.S) passes ASFLAGS to $(CCAS), CCAS=$(CC)
- export ASFLAGS="${CCASFLAGS}"
-}
-
-src_prepare() {
- default
-
- # Append PURGATORY_EXTRA_CFLAGS flags set by configure, instead of overriding them completely.
- sed -e "/^PURGATORY_EXTRA_CFLAGS =/s/=/+=/" -i Makefile.in || die
-
- if [[ "${PV}" == 9999 ]] ; then
- eautoreconf
- else
- elibtoolize
- fi
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_with booke)
- $(use_with lzma)
- $(use_with xen)
- $(use_with zlib)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # Respect CFLAGS for purgatory.
- # purgatory/Makefile uses PURGATORY_EXTRA_CFLAGS variable.
- # -mfunction-return=thunk and -mindirect-branch=thunk conflict with
- # -mcmodel=large which is added by build system.
- # Replace them with -mfunction-return=thunk-inline and -mindirect-branch=thunk-inline.
- local flag flags=()
- for flag in ${CFLAGS}; do
- [[ ${flag} == -mfunction-return=thunk ]] && flag="-mfunction-return=thunk-inline"
- [[ ${flag} == -mindirect-branch=thunk ]] && flag="-mindirect-branch=thunk-inline"
- flags+=("${flag}")
- done
- local -x PURGATORY_EXTRA_CFLAGS="${flags[*]}"
-
- default
-}
-
-src_install() {
- default
-
- dodoc "${FILESDIR}"/README.Gentoo
-
- newinitd "${FILESDIR}"/kexec-r2.init kexec
- newconfd "${FILESDIR}"/kexec.conf-2.0.4 kexec
-
- insinto /etc
- doins "${FILESDIR}"/kexec.conf
-
- insinto /etc/kernel/postinst.d
- doins "${FILESDIR}"/90_kexec
-
- systemd_dounit "${FILESDIR}"/kexec.service
-}
-
-pkg_postinst() {
- if systemd_is_booted || has_version sys-apps/systemd; then
- elog "For systemd support the new config file is"
- elog " /etc/kexec.conf"
- elog "Please adopt it to your needs as there is no autoconfig anymore"
- fi
-
- local n_root_args=$(grep -o -- '\<root=' /proc/cmdline 2>/dev/null | wc -l)
- local has_rootpart_set=no
- if [[ -f "${EROOT}/etc/conf.d/kexec" ]]; then
- if grep -q -E -- '^ROOTPART=' "${EROOT}/etc/conf.d/kexec" 2>/dev/null; then
- has_rootpart_set=yes
- fi
- fi
-
- if [[ ${n_root_args} -gt 1 && "${has_rootpart_set}" == "no" ]]; then
- ewarn "WARNING: Multiple root arguments (root=) on kernel command-line detected!"
- ewarn "This was probably caused by a previous version of ${PN}."
- ewarn "Please reboot system once *without* kexec to avoid boot problems"
- ewarn "in case running system and initramfs do not agree on detected"
- ewarn "root device name!"
- fi
-
- optfeature "automatically updating /etc/kexec.conf on each kernel installation" \
- "sys-kernel/installkernel[-systemd]"
-}
diff --git a/sys-apps/kexec-tools/kexec-tools-2.0.28.ebuild b/sys-apps/kexec-tools/kexec-tools-2.0.28.ebuild
index e87b00d0d986..c559e6328f31 100644
--- a/sys-apps/kexec-tools/kexec-tools-2.0.28.ebuild
+++ b/sys-apps/kexec-tools/kexec-tools-2.0.28.ebuild
@@ -17,6 +17,8 @@ fi
DESCRIPTION="Load another kernel from the currently executing Linux kernel"
HOMEPAGE="https://kernel.org/pub/linux/utils/kernel/kexec/"
+S="${WORKDIR}/${P/_/-}"
+
LICENSE="GPL-2"
SLOT="0"
IUSE="booke lzma selinux xen zlib"
@@ -32,8 +34,6 @@ RDEPEND="
selinux? ( sec-policy/selinux-kdump )
"
-S="${WORKDIR}/${P/_/-}"
-
CONFIG_CHECK="~KEXEC"
PATCHES=(
diff --git a/sys-apps/kexec-tools/kexec-tools-2.0.24.ebuild b/sys-apps/kexec-tools/kexec-tools-2.0.29-r1.ebuild
index 924cf21eef4a..c8af4693cfed 100644
--- a/sys-apps/kexec-tools/kexec-tools-2.0.24.ebuild
+++ b/sys-apps/kexec-tools/kexec-tools-2.0.29-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit libtool linux-info optfeature systemd
+inherit libtool linux-info systemd
if [[ ${PV} == "9999" ]] ; then
inherit git-r3 autotools
@@ -11,12 +11,14 @@ if [[ ${PV} == "9999" ]] ; then
else
SRC_URI="https://www.kernel.org/pub/linux/utils/kernel/kexec/${P/_/-}.tar.xz"
[[ "${PV}" == *_rc* ]] || \
- KEYWORDS="amd64 ~arm64 ~ppc64 x86"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
fi
DESCRIPTION="Load another kernel from the currently executing Linux kernel"
HOMEPAGE="https://kernel.org/pub/linux/utils/kernel/kexec/"
+S="${WORKDIR}/${P/_/-}"
+
LICENSE="GPL-2"
SLOT="0"
IUSE="booke lzma selinux xen zlib"
@@ -32,8 +34,6 @@ RDEPEND="
selinux? ( sec-policy/selinux-kdump )
"
-S="${WORKDIR}/${P/_/-}"
-
CONFIG_CHECK="~KEXEC"
PATCHES=(
@@ -92,24 +92,16 @@ src_install() {
dodoc "${FILESDIR}"/README.Gentoo
newinitd "${FILESDIR}"/kexec-r2.init kexec
- newconfd "${FILESDIR}"/kexec.conf-2.0.4 kexec
insinto /etc
doins "${FILESDIR}"/kexec.conf
+ dosym ../kexec.conf /etc/conf.d/kexec
- insinto /etc/kernel/postinst.d
- doins "${FILESDIR}"/90_kexec
-
- systemd_dounit "${FILESDIR}"/kexec.service
+ dosbin "${FILESDIR}"/kexec-auto-load
+ systemd_newunit "${FILESDIR}"/kexec.service-r1 kexec.service
}
pkg_postinst() {
- if systemd_is_booted || has_version sys-apps/systemd; then
- elog "For systemd support the new config file is"
- elog " /etc/kexec.conf"
- elog "Please adopt it to your needs as there is no autoconfig anymore"
- fi
-
local n_root_args=$(grep -o -- '\<root=' /proc/cmdline 2>/dev/null | wc -l)
local has_rootpart_set=no
if [[ -f "${EROOT}/etc/conf.d/kexec" ]]; then
@@ -125,7 +117,4 @@ pkg_postinst() {
ewarn "in case running system and initramfs do not agree on detected"
ewarn "root device name!"
fi
-
- optfeature "automatically updating /etc/kexec.conf on each kernel installation" \
- "sys-kernel/installkernel[-systemd]"
}
diff --git a/sys-apps/kexec-tools/kexec-tools-9999.ebuild b/sys-apps/kexec-tools/kexec-tools-9999.ebuild
index c107633e4b71..c8af4693cfed 100644
--- a/sys-apps/kexec-tools/kexec-tools-9999.ebuild
+++ b/sys-apps/kexec-tools/kexec-tools-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit libtool linux-info optfeature systemd
+inherit libtool linux-info systemd
if [[ ${PV} == "9999" ]] ; then
inherit git-r3 autotools
@@ -17,6 +17,8 @@ fi
DESCRIPTION="Load another kernel from the currently executing Linux kernel"
HOMEPAGE="https://kernel.org/pub/linux/utils/kernel/kexec/"
+S="${WORKDIR}/${P/_/-}"
+
LICENSE="GPL-2"
SLOT="0"
IUSE="booke lzma selinux xen zlib"
@@ -32,8 +34,6 @@ RDEPEND="
selinux? ( sec-policy/selinux-kdump )
"
-S="${WORKDIR}/${P/_/-}"
-
CONFIG_CHECK="~KEXEC"
PATCHES=(
@@ -92,24 +92,16 @@ src_install() {
dodoc "${FILESDIR}"/README.Gentoo
newinitd "${FILESDIR}"/kexec-r2.init kexec
- newconfd "${FILESDIR}"/kexec.conf-2.0.4 kexec
insinto /etc
doins "${FILESDIR}"/kexec.conf
+ dosym ../kexec.conf /etc/conf.d/kexec
- insinto /etc/kernel/postinst.d
- doins "${FILESDIR}"/90_kexec
-
- systemd_dounit "${FILESDIR}"/kexec.service
+ dosbin "${FILESDIR}"/kexec-auto-load
+ systemd_newunit "${FILESDIR}"/kexec.service-r1 kexec.service
}
pkg_postinst() {
- if systemd_is_booted || has_version sys-apps/systemd; then
- elog "For systemd support the new config file is"
- elog " /etc/kexec.conf"
- elog "Please adopt it to your needs as there is no autoconfig anymore"
- fi
-
local n_root_args=$(grep -o -- '\<root=' /proc/cmdline 2>/dev/null | wc -l)
local has_rootpart_set=no
if [[ -f "${EROOT}/etc/conf.d/kexec" ]]; then
@@ -125,7 +117,4 @@ pkg_postinst() {
ewarn "in case running system and initramfs do not agree on detected"
ewarn "root device name!"
fi
-
- optfeature "automatically updating /etc/kexec.conf on each kernel installation" \
- "sys-kernel/installkernel[-systemd]"
}