summaryrefslogtreecommitdiff
path: root/sys-apps/kexec-tools
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-06-29 12:04:12 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-06-29 12:04:12 +0100
commit0f558761aa2dee1017b4751e4017205e015a9560 (patch)
tree037df795519468a25d9362b4e95cdaeb84eb1cf9 /sys-apps/kexec-tools
parent752d6256e5204b958b0ef7905675a940b5e9172f (diff)
gentoo resync : 29.12.2022
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.24.ebuild124
2 files changed, 126 insertions, 0 deletions
diff --git a/sys-apps/kexec-tools/Manifest b/sys-apps/kexec-tools/Manifest
index b0124121d711..9cd204f221bc 100644
--- a/sys-apps/kexec-tools/Manifest
+++ b/sys-apps/kexec-tools/Manifest
@@ -8,7 +8,9 @@ AUX kexec.conf-2.0.4 1013 BLAKE2B 7594bf8c150d1165f30449526b658c78feab82526e649a
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.23.tar.xz 304024 BLAKE2B 0150985093dc0012d3870c127ac5eab81d4cc839c0a79ff20224d1a409462a194d7e304f54ed8f0952e4d325dbff11bcbe1565b2c57c45c212302810dc06ed62 SHA512 b6e3b967cacc31c434b185d25da4d53c822ae4bbcec26ef9d6cb171f294fdcc80913d381e686a0a41e025187835f4dc088052ff88efe75a021d7624c8b1a1ed8
+DIST kexec-tools-2.0.24.tar.xz 303808 BLAKE2B 8188602f1b843c1dccc0307131f8c9ec0426c6cb3de898040352c1fed5f6d4bd7c58a0c2bf54290b91c8fe3401180df682959ee6c41693d07acc199c087c7db2 SHA512 ef7cf78246e2d729d81a3649791a5a23c385353cc75cbe8ef279616329fdaccc876d614c7f51e1456822a13a11520296070d9897467d24310399909e049c3822
EBUILD kexec-tools-2.0.22.ebuild 3265 BLAKE2B f73c0709212598dc834fe12567891266c3e07fb6efbbd3fb91a1b579faba10475d387a73a53ac7ce5b694db0c2d67ae6bb1fa602faae6902e42e0b0920d0e725 SHA512 05f74d84eadb72d9399a1769d69520191d98e057d137253c49d0faef523a0f6f2f7a85c582fc5cf60606cb3d91a15d7c813835ab668419d32fa3091ea63a5e1e
EBUILD kexec-tools-2.0.23.ebuild 3267 BLAKE2B 69aca60481b1300d82a3d0198501423b6505570ff16da0dd54f7c516786fac11c15eb7fa2ba01b8d75d83c0eeea9934fb7c63816856d56699857483c1949e97a SHA512 9bc20ee9eb06df7d6f29f28e7b56ea8266b1fa01a61ee669c979c2cb00c9e86fb6a69f151265fcd1e33afae8dd77f6bfb3bcc44375caf71da176e400caba86d0
+EBUILD kexec-tools-2.0.24.ebuild 3267 BLAKE2B f93324b4be4091c0092424f0717a570d9f250adb1f65b48d25151b05e8ff5837699d20fa7ef69a0750f6cab43acb27cfef7cad9ac0b1a11fd9647b5f54e8a050 SHA512 9154ec583877c3ca6e68dd4877435f07c27ae44db63246869fe3eba265b0d644c9f7ba76be1b44bef09f9e90907a7e32456633428577395465d3cf60493420b6
EBUILD kexec-tools-9999.ebuild 3267 BLAKE2B 69aca60481b1300d82a3d0198501423b6505570ff16da0dd54f7c516786fac11c15eb7fa2ba01b8d75d83c0eeea9934fb7c63816856d56699857483c1949e97a SHA512 9bc20ee9eb06df7d6f29f28e7b56ea8266b1fa01a61ee669c979c2cb00c9e86fb6a69f151265fcd1e33afae8dd77f6bfb3bcc44375caf71da176e400caba86d0
MISC metadata.xml 491 BLAKE2B a47fdf282e096eb77748e23470df2a95cf2982e1e722ea74b9aee795f764e287a9364836139bba6462afd0a0f2a9d2f67c25ba1dd22a0a842a3f547a92cdd476 SHA512 a9f187f3cd1d63cfcfdcd93cdb50015b2d29eeb24558530febe440e6573464712d8e83a8743efc727c4c92ad61e1c36dc7d93cd33a222d751a4ec2b75d42f17d
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
+}