summaryrefslogtreecommitdiff
path: root/sys-apps/kexec-tools
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-12-25 23:06:25 +0000
committerV3n3RiX <venerix@redcorelinux.org>2020-12-25 23:06:25 +0000
commit441d1370330332b7d78f238d2f5e13f7aed5e4e0 (patch)
tree6a5171dd615dfeee62a45044144c66e864738fb0 /sys-apps/kexec-tools
parentab3da91fb6c91a9df52fff8f991570f456fd3c7a (diff)
gentoo christmass resync : 25.12.2020
Diffstat (limited to 'sys-apps/kexec-tools')
-rw-r--r--sys-apps/kexec-tools/Manifest2
-rw-r--r--sys-apps/kexec-tools/kexec-tools-2.0.21.ebuild124
2 files changed, 126 insertions, 0 deletions
diff --git a/sys-apps/kexec-tools/Manifest b/sys-apps/kexec-tools/Manifest
index 0e7a1f477811..6ac47d16f860 100644
--- a/sys-apps/kexec-tools/Manifest
+++ b/sys-apps/kexec-tools/Manifest
@@ -9,6 +9,8 @@ AUX kexec.conf 340 BLAKE2B a65aa0f402c712c10f6095b37b620dacfe883ad621f5403d8190f
AUX kexec.conf-2.0.4 1013 BLAKE2B 7594bf8c150d1165f30449526b658c78feab82526e649aa8cce35b6a47b2abd5a208b7ae4376f0330ea2194ae63f786bf0c30682f734f1b604be131e6e63570e SHA512 96db2834454aa4d038061e9b1f918932da3d3054021487425d0f70c6ad32096b9433ae2f3921e83196b23af901c32e591df3d6a84a6d14e064608d8ad895a599
AUX kexec.service 407 BLAKE2B 7854172c36f550fece58b6cb351a6bd8b4ab8b5a11da0fd629048f8cc2866baa11ee7311424f998360f02dc2c1210be32222283c2bd2f93e1bf4bf65ec903203 SHA512 9f0fa6d39c67048fe774fee0f2e8ed10e9e12a2468e7dda193cd8c5bd8b4cf49819d14703efad35c91265cd4e03c6f5460934b5fe92efd06eab8dc619920b1e3
DIST kexec-tools-2.0.20.tar.xz 297476 BLAKE2B 7e29e7f7d85296dd3e614c45f14c27eca74ce4426d5de2d20387d89f2f63afed318d6157cc4001849a04bb83505bbae87c43d34683ebaf9a70f5f29e3979ade3 SHA512 3112b6202c1030705c53e3f65a2b58aec14d65333a35aad681d48b9f2bd1c51a2e05c985a1e5e867ab02f8a9c97708483d9d225619db7c6993676f1a242e2d99
+DIST kexec-tools-2.0.21.tar.xz 303300 BLAKE2B d5b7bddeafdcbfd2b07dab6e4f167fcb61ccf2ec487f1835ac552a4596d22a94a7297d0eb769913f84eddc564ba4d9ae0c9d4c76994d0e3670fe168f377ebc77 SHA512 f487d2e243c2c4f29fbc9da7d06806f65210f717904655fc84d8d162b9c4614c3dd62e1bb47104a79f0dc2af04e462baf764fb309b5d7e6d287264cb48fd2a3e
EBUILD kexec-tools-2.0.20-r3.ebuild 3381 BLAKE2B 67e203cd4ea7fea5a7c100a5acf8dfa7376f96e98fadd48a3e0a2de430e6ae4092cf29a48b6d56b0a2bac7bb437d402fc8f2b370b9141dbd3eb5d6eac7d03673 SHA512 621707548ff183ed90b5d47531528954894bcde436e1f3beeb93a70e58a5018d3f9d0353d4654b9e57be9ef6cb4ab6f2168511a46106dcc86b9c24b6981b77ba
+EBUILD kexec-tools-2.0.21.ebuild 3265 BLAKE2B 1f5c5356f79113a1956d1b57dcb570f4bd0327ab03aef0917e06cac9cd6e7c1ae02ca530dd9e95b1f8e8f1b9277dd5c96397efb8881cffedf2a8096107e6ccb0 SHA512 163fd666f3f892d80c12bb809f5ef8a5494ba6a3f13bb5e1679b89795d943c19735c631bddc0f3ab51abf417413c20d24af47143941bd35fec747dc1d500d246
EBUILD kexec-tools-9999.ebuild 3265 BLAKE2B 1f5c5356f79113a1956d1b57dcb570f4bd0327ab03aef0917e06cac9cd6e7c1ae02ca530dd9e95b1f8e8f1b9277dd5c96397efb8881cffedf2a8096107e6ccb0 SHA512 163fd666f3f892d80c12bb809f5ef8a5494ba6a3f13bb5e1679b89795d943c19735c631bddc0f3ab51abf417413c20d24af47143941bd35fec747dc1d500d246
MISC metadata.xml 490 BLAKE2B 87c80e53801415341290c29dbc0728a4d084519c38f5c5d14bedde32596111f4cbb91c72ed36b6a8fe3f63ad715df57d59b2a61730ebe08ff7f2bc868c8ff916 SHA512 6f4b25178cc6b8ff3fea664f2717eb7268d9e71c4ca46c170887eb836f9d78dff7e64067968175d018dc22bbcc2bb8cd6fd5f44edba0966fa568f9fd827a1cff
diff --git a/sys-apps/kexec-tools/kexec-tools-2.0.21.ebuild b/sys-apps/kexec-tools/kexec-tools-2.0.21.ebuild
new file mode 100644
index 000000000000..86b8d9fc9789
--- /dev/null
+++ b/sys-apps/kexec-tools/kexec-tools-2.0.21.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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} > 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
+}