sys-apps/kexec-tools: Sync with Gentoo upstream; updates to 2.0.24

Signed-off-by: Sayan Chowdhury <schowdhury@microsoft.com>
This commit is contained in:
Sayan Chowdhury 2023-05-04 18:40:44 +05:30
parent 481f371577
commit 8f8914f925
No known key found for this signature in database
GPG Key ID: B02399319CD05C8B
6 changed files with 133 additions and 6 deletions

View File

@ -25,7 +25,7 @@
=sys-apps/checkpolicy-3.1 ~arm64
=sys-apps/policycoreutils-3.1-r3 ~arm64
=sys-apps/kexec-tools-2.0.22 ~arm64
=sys-apps/kexec-tools-2.0.24 ~arm64
=sys-apps/semodule-utils-3.1 ~arm64

View File

@ -1,2 +1,2 @@
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

View File

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -114,7 +114,7 @@ pkg_postinst() {
fi
fi
if [[ ${n_root_args} > 1 && "${has_rootpart_set}" == "no" ]]; then
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"

View File

@ -0,0 +1,124 @@
# Copyright 1999-2023 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
}

View File

@ -1,4 +1,4 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -114,7 +114,7 @@ pkg_postinst() {
fi
fi
if [[ ${n_root_args} > 1 && "${has_rootpart_set}" == "no" ]]; then
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"

View File

@ -10,4 +10,7 @@
<flag name="booke">Include support for Book-E memory management</flag>
<flag name="xen">Enable extended xen support</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:kernel:kexec-tools</remote-id>
</upstream>
</pkgmetadata>