diff options
Diffstat (limited to 'sys-apps/kexec-tools')
-rw-r--r-- | sys-apps/kexec-tools/Manifest | 16 | ||||
-rw-r--r-- | sys-apps/kexec-tools/files/kexec-auto-load | 95 | ||||
-rw-r--r-- | sys-apps/kexec-tools/files/kexec.conf | 42 | ||||
-rw-r--r-- | sys-apps/kexec-tools/files/kexec.conf-2.0.4 | 6 | ||||
-rw-r--r-- | sys-apps/kexec-tools/files/kexec.service-r1 | 16 | ||||
-rw-r--r-- | sys-apps/kexec-tools/kexec-tools-2.0.22.ebuild | 127 | ||||
-rw-r--r-- | sys-apps/kexec-tools/kexec-tools-2.0.28.ebuild | 4 | ||||
-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.ebuild | 23 |
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]" } |