commit:     fd596919164d57a198e93ae4f94d098138f16ec7
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 21 17:24:42 2022 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Tue Jun 21 17:40:27 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd596919

sys-apps/kexec-tools: Version bump to 2.0.24

Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 sys-apps/kexec-tools/Manifest                  |   1 +
 sys-apps/kexec-tools/kexec-tools-2.0.24.ebuild | 124 +++++++++++++++++++++++++
 2 files changed, 125 insertions(+)

diff --git a/sys-apps/kexec-tools/Manifest b/sys-apps/kexec-tools/Manifest
index b07611344429..3f1cd08e7ece 100644
--- a/sys-apps/kexec-tools/Manifest
+++ b/sys-apps/kexec-tools/Manifest
@@ -1,2 +1,3 @@
 DIST kexec-tools-2.0.22.tar.xz 303564 BLAKE2B 
977c741eabf9b6b882550713ba59b18289b4f997fb382e96338efce6d04a9390fea952fc46ca72fd0a0b782261841ab2002da84b1819f955e63996eac900b0f7
 SHA512 
7580860f272eee5af52139809f12961e5a5d3a65f4e191183ca9c845410425d25818945ac14ed04a60e6ce474dc2656fc6a14041177b0bf703f450820c7d6aba
 DIST kexec-tools-2.0.23.tar.xz 304024 BLAKE2B 
0150985093dc0012d3870c127ac5eab81d4cc839c0a79ff20224d1a409462a194d7e304f54ed8f0952e4d325dbff11bcbe1565b2c57c45c212302810dc06ed62
 SHA512 
b6e3b967cacc31c434b185d25da4d53c822ae4bbcec26ef9d6cb171f294fdcc80913d381e686a0a41e025187835f4dc088052ff88efe75a021d7624c8b1a1ed8
+DIST kexec-tools-2.0.24.tar.xz 303808 BLAKE2B 
8188602f1b843c1dccc0307131f8c9ec0426c6cb3de898040352c1fed5f6d4bd7c58a0c2bf54290b91c8fe3401180df682959ee6c41693d07acc199c087c7db2
 SHA512 
ef7cf78246e2d729d81a3649791a5a23c385353cc75cbe8ef279616329fdaccc876d614c7f51e1456822a13a11520296070d9897467d24310399909e049c3822

diff --git a/sys-apps/kexec-tools/kexec-tools-2.0.24.ebuild 
b/sys-apps/kexec-tools/kexec-tools-2.0.24.ebuild
new file mode 100644
index 000000000000..5723fa802401
--- /dev/null
+++ b/sys-apps/kexec-tools/kexec-tools-2.0.24.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit libtool linux-info 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
+}

Reply via email to