diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/Manifest index a064ecc472..b335e08080 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/Manifest @@ -1,2 +1,3 @@ DIST kexec-tools-2.0.28.tar.xz 312524 BLAKE2B b2ab25c632cd2bad21751940acee1816f9cd930e1bb5af1052f9f6c4979dcd62d82c487a88fa8015e3ce7c843de9f47a3f6ccf7efa9270b5f24c79ba30a82a91 SHA512 889a7bf1d26bb309e4ff7ce1c8dbcf48c01e47221ea3acf1c4ef2a98a652c496e31bddcdb627d3adebd85f7541d1fb9122c60e741e10b3726e31a9733cadc753 DIST kexec-tools-2.0.29.tar.xz 314576 BLAKE2B 3cb94015d0bcd8ab13f25e23835758fc305093c4d1a81c590830ced852e61da66321617f04bda847e26c95ec44bd101eb235fa1d34f397e22ed4e80426efa162 SHA512 4c9e0b3df47b240f0eac2c31e8b515465f626ce043f64daa32b0b032d7132e54dada5d70875dab256345f66cf94a25dc3c160a9009ba60addd8dcb1e5205f5ca +DIST kexec-tools-2.0.30.tar.xz 316548 BLAKE2B 06789dda9526e0d507f50861468baf674dc702eef015dee00b72946c72e78e8d11636db164c2f41c6dd8e5bd647b33a64d079ac624e0d45938b466a61f972e43 SHA512 4550607ad7eb51d169c2565cfee9195441634624d1c8859e21bca6bd7f15031713c39ba475301c1ef5fc67c009bc6599d254da184be25e68b226155e515e3852 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.29-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.29-r1.ebuild index 7513e15106..750e3445b4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.29-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.29-r1.ebuild @@ -11,7 +11,7 @@ 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" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.30.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.30.ebuild new file mode 100644 index 0000000000..01ccb6c2cf --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.30.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2025 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/" + +S="${WORKDIR}/${P/_/-}" + +LICENSE="GPL-2" +SLOT="0" +IUSE="booke lzma selinux xen zlib" + +REQUIRED_USE="lzma? ( zlib )" + +DEPEND=" + lzma? ( app-arch/xz-utils ) + zlib? ( sys-libs/zlib ) +" +RDEPEND=" + ${DEPEND} + selinux? ( sec-policy/selinux-kdump ) +" + +CONFIG_CHECK="~KEXEC" + +PATCHES=( + "${FILESDIR}"/${PN}-2.0.4-disable-kexec-test.patch + "${FILESDIR}"/${PN}-2.0.4-out-of-source.patch +) + +src_prepare() { + default + + if [[ "${PV}" == 9999 ]] ; then + eautoreconf + else + elibtoolize + fi +} + +src_configure() { + # GNU Make's $(COMPILE.S) passes ASFLAGS to $(CCAS), CCAS=$(CC) + export ASFLAGS="${CCASFLAGS}" + + local myeconfargs=( + $(use_with booke) + $(use_with lzma) + $(use_with xen) + $(use_with zlib) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + + dodoc "${FILESDIR}"/README.Gentoo + + newinitd "${FILESDIR}"/kexec-r2.init kexec + + insinto /etc + doins "${FILESDIR}"/kexec.conf + dosym ../kexec.conf /etc/conf.d/kexec + + dosbin "${FILESDIR}"/kexec-auto-load + systemd_newunit "${FILESDIR}"/kexec.service-r1 kexec.service +} + +pkg_postinst() { + local n_root_args=$(grep -o -- '\/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 +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-9999.ebuild index c8af4693cf..d0255bda1b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-9999.ebuild @@ -41,17 +41,9 @@ PATCHES=( "${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 @@ -60,6 +52,9 @@ src_prepare() { } src_configure() { + # GNU Make's $(COMPILE.S) passes ASFLAGS to $(CCAS), CCAS=$(CC) + export ASFLAGS="${CCASFLAGS}" + local myeconfargs=( $(use_with booke) $(use_with lzma) @@ -69,23 +64,6 @@ src_configure() { 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