Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/kexec-tools/
Date: Mon, 03 May 2021 07:52:55
Message-Id: 1620028364.1c32db48384a223f4cc0432e20c1e96bbec77b17.polynomial-c@gentoo
1 commit: 1c32db48384a223f4cc0432e20c1e96bbec77b17
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Mon May 3 07:52:25 2021 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Mon May 3 07:52:44 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1c32db48
7
8 sys-apps/kexec-tools: Bump to version 2.0.22
9
10 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
11
12 sys-apps/kexec-tools/Manifest | 1 +
13 sys-apps/kexec-tools/kexec-tools-2.0.22.ebuild | 124 +++++++++++++++++++++++++
14 2 files changed, 125 insertions(+)
15
16 diff --git a/sys-apps/kexec-tools/Manifest b/sys-apps/kexec-tools/Manifest
17 index ba73c5ffdfd..5f43db3899a 100644
18 --- a/sys-apps/kexec-tools/Manifest
19 +++ b/sys-apps/kexec-tools/Manifest
20 @@ -1,2 +1,3 @@
21 DIST kexec-tools-2.0.20.tar.xz 297476 BLAKE2B 7e29e7f7d85296dd3e614c45f14c27eca74ce4426d5de2d20387d89f2f63afed318d6157cc4001849a04bb83505bbae87c43d34683ebaf9a70f5f29e3979ade3 SHA512 3112b6202c1030705c53e3f65a2b58aec14d65333a35aad681d48b9f2bd1c51a2e05c985a1e5e867ab02f8a9c97708483d9d225619db7c6993676f1a242e2d99
22 DIST kexec-tools-2.0.21.tar.xz 303300 BLAKE2B d5b7bddeafdcbfd2b07dab6e4f167fcb61ccf2ec487f1835ac552a4596d22a94a7297d0eb769913f84eddc564ba4d9ae0c9d4c76994d0e3670fe168f377ebc77 SHA512 f487d2e243c2c4f29fbc9da7d06806f65210f717904655fc84d8d162b9c4614c3dd62e1bb47104a79f0dc2af04e462baf764fb309b5d7e6d287264cb48fd2a3e
23 +DIST kexec-tools-2.0.22.tar.xz 303564 BLAKE2B 977c741eabf9b6b882550713ba59b18289b4f997fb382e96338efce6d04a9390fea952fc46ca72fd0a0b782261841ab2002da84b1819f955e63996eac900b0f7 SHA512 7580860f272eee5af52139809f12961e5a5d3a65f4e191183ca9c845410425d25818945ac14ed04a60e6ce474dc2656fc6a14041177b0bf703f450820c7d6aba
24
25 diff --git a/sys-apps/kexec-tools/kexec-tools-2.0.22.ebuild b/sys-apps/kexec-tools/kexec-tools-2.0.22.ebuild
26 new file mode 100644
27 index 00000000000..0879b84e674
28 --- /dev/null
29 +++ b/sys-apps/kexec-tools/kexec-tools-2.0.22.ebuild
30 @@ -0,0 +1,124 @@
31 +# Copyright 1999-2021 Gentoo Authors
32 +# Distributed under the terms of the GNU General Public License v2
33 +
34 +EAPI=7
35 +
36 +inherit libtool linux-info systemd
37 +
38 +if [[ ${PV} == "9999" ]] ; then
39 + inherit git-r3 autotools
40 + EGIT_REPO_URI="https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git"
41 +else
42 + SRC_URI="https://www.kernel.org/pub/linux/utils/kernel/kexec/${P/_/-}.tar.xz"
43 + [[ "${PV}" == *_rc* ]] || \
44 + KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
45 +fi
46 +
47 +DESCRIPTION="Load another kernel from the currently executing Linux kernel"
48 +HOMEPAGE="https://kernel.org/pub/linux/utils/kernel/kexec/"
49 +
50 +LICENSE="GPL-2"
51 +SLOT="0"
52 +IUSE="booke lzma xen zlib"
53 +
54 +REQUIRED_USE="lzma? ( zlib )"
55 +
56 +DEPEND="
57 + lzma? ( app-arch/xz-utils )
58 + zlib? ( sys-libs/zlib )"
59 +RDEPEND="${DEPEND}"
60 +
61 +S="${WORKDIR}/${P/_/-}"
62 +
63 +CONFIG_CHECK="~KEXEC"
64 +
65 +PATCHES=(
66 + "${FILESDIR}"/${PN}-2.0.4-disable-kexec-test.patch
67 + "${FILESDIR}"/${PN}-2.0.4-out-of-source.patch
68 +)
69 +
70 +pkg_setup() {
71 + # GNU Make's $(COMPILE.S) passes ASFLAGS to $(CCAS), CCAS=$(CC)
72 + export ASFLAGS="${CCASFLAGS}"
73 +}
74 +
75 +src_prepare() {
76 + default
77 +
78 + # Append PURGATORY_EXTRA_CFLAGS flags set by configure, instead of overriding them completely.
79 + sed -e "/^PURGATORY_EXTRA_CFLAGS =/s/=/+=/" -i Makefile.in || die
80 +
81 + if [[ "${PV}" == 9999 ]] ; then
82 + eautoreconf
83 + else
84 + elibtoolize
85 + fi
86 +}
87 +
88 +src_configure() {
89 + local myeconfargs=(
90 + $(use_with booke)
91 + $(use_with lzma)
92 + $(use_with xen)
93 + $(use_with zlib)
94 + )
95 + econf "${myeconfargs[@]}"
96 +}
97 +
98 +src_compile() {
99 + # Respect CFLAGS for purgatory.
100 + # purgatory/Makefile uses PURGATORY_EXTRA_CFLAGS variable.
101 + # -mfunction-return=thunk and -mindirect-branch=thunk conflict with
102 + # -mcmodel=large which is added by build system.
103 + # Replace them with -mfunction-return=thunk-inline and -mindirect-branch=thunk-inline.
104 + local flag flags=()
105 + for flag in ${CFLAGS}; do
106 + [[ ${flag} == -mfunction-return=thunk ]] && flag="-mfunction-return=thunk-inline"
107 + [[ ${flag} == -mindirect-branch=thunk ]] && flag="-mindirect-branch=thunk-inline"
108 + flags+=("${flag}")
109 + done
110 + local -x PURGATORY_EXTRA_CFLAGS="${flags[*]}"
111 +
112 + default
113 +}
114 +
115 +src_install() {
116 + default
117 +
118 + dodoc "${FILESDIR}"/README.Gentoo
119 +
120 + newinitd "${FILESDIR}"/kexec-r2.init kexec
121 + newconfd "${FILESDIR}"/kexec.conf-2.0.4 kexec
122 +
123 + insinto /etc
124 + doins "${FILESDIR}"/kexec.conf
125 +
126 + insinto /etc/kernel/postinst.d
127 + doins "${FILESDIR}"/90_kexec
128 +
129 + systemd_dounit "${FILESDIR}"/kexec.service
130 +}
131 +
132 +pkg_postinst() {
133 + if systemd_is_booted || has_version sys-apps/systemd; then
134 + elog "For systemd support the new config file is"
135 + elog " /etc/kexec.conf"
136 + elog "Please adopt it to your needs as there is no autoconfig anymore"
137 + fi
138 +
139 + local n_root_args=$(grep -o -- '\<root=' /proc/cmdline 2>/dev/null | wc -l)
140 + local has_rootpart_set=no
141 + if [[ -f "${EROOT}/etc/conf.d/kexec" ]]; then
142 + if grep -q -E -- '^ROOTPART=' "${EROOT}/etc/conf.d/kexec" 2>/dev/null; then
143 + has_rootpart_set=yes
144 + fi
145 + fi
146 +
147 + if [[ ${n_root_args} > 1 && "${has_rootpart_set}" == "no" ]]; then
148 + ewarn "WARNING: Multiple root arguments (root=) on kernel command-line detected!"
149 + ewarn "This was probably caused by a previous version of ${PN}."
150 + ewarn "Please reboot system once *without* kexec to avoid boot problems"
151 + ewarn "in case running system and initramfs do not agree on detected"
152 + ewarn "root device name!"
153 + fi
154 +}