commit:     932b155bb612154a81654a5b23b9c59bf7768258
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Sun Jan  8 00:31:46 2017 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Sun Jan  8 00:32:50 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=932b155b

sys-apps/kexec-tools: support more kernel names.

Package-Manager: portage-2.3.2
Gentoo-Bug: 489864
Fixes: https://bugs.gentoo.org/show_bug.cgi?id=489864
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>

 sys-apps/kexec-tools/files/kexec.init-2.0.12       |  2 +-
 .../{kexec.init-2.0.12 => kexec.init-2.0.13-r1}    | 16 ++++-
 sys-apps/kexec-tools/kexec-tools-2.0.13-r1.ebuild  | 77 ++++++++++++++++++++++
 3 files changed, 92 insertions(+), 3 deletions(-)

diff --git a/sys-apps/kexec-tools/files/kexec.init-2.0.12 
b/sys-apps/kexec-tools/files/kexec.init-2.0.12
old mode 100755
new mode 100644
index 87863b3..93f8c04
--- a/sys-apps/kexec-tools/files/kexec.init-2.0.12
+++ b/sys-apps/kexec-tools/files/kexec.init-2.0.12
@@ -1,5 +1,5 @@
 #!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 

diff --git a/sys-apps/kexec-tools/files/kexec.init-2.0.12 
b/sys-apps/kexec-tools/files/kexec.init-2.0.13-r1
old mode 100755
new mode 100644
similarity index 89%
copy from sys-apps/kexec-tools/files/kexec.init-2.0.12
copy to sys-apps/kexec-tools/files/kexec.init-2.0.13-r1
index 87863b3..1f18f67
--- a/sys-apps/kexec-tools/files/kexec.init-2.0.12
+++ b/sys-apps/kexec-tools/files/kexec.init-2.0.13-r1
@@ -1,5 +1,5 @@
 #!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -20,6 +20,14 @@ auto_prefix_bootpath() {
        esac
 }
 
+get_genkernel_arch() {
+       case $1 in
+         x86_64) echo "amd64" ;;
+         i[3456]86) echo "x86" ;;
+         *) echo "$1" ;;
+       esac
+}
+
 image_path() {
        # Do no sanity checking if the user has set a value.
        if [ -n "${KNAME}" ]; then
@@ -27,13 +35,15 @@ image_path() {
                return
        fi
 
-       local x kver="$(uname -r)" karch="$(uname -m)"
+       local x kver="$(uname -r)" karch="$(uname -m)" 
+       local gkarch="$(get_genkernel_arch $karch)"
        for x in \
                "bzImage" \
                "vmlinuz" \
                "bzImage-${kver}" \
                "vmlinuz-${kver}" \
                "kernel-genkernel-${karch}-${kver}" \
+               "kernel-genkernel-${gkarch}-${kver}" \
                "kernel-${kver}" \
                "kernel-${karch}"; do
                if [ -e "${BOOTPART}/${x}" ]; then
@@ -53,6 +63,7 @@ initrd_path() {
        fi
 
        local x kver="$(uname -r)" karch="$(uname -m)"
+       local gkarch="$(get_genkernel_arch $karch)"
        for x in \
                "initrd" \
                "initrd.img-${kver}" \
@@ -60,6 +71,7 @@ initrd_path() {
                "initrd-${kver}" \
                "initramfs-${kver}.img" \
                "initramfs-genkernel-${karch}-${kver}"; do
+               "initramfs-genkernel-${gkarch}-${kver}"; do
                if [ -e "${BOOTPART}/${x}" ]; then
                        echo "${BOOTPART}/${x}"
                        return 0

diff --git a/sys-apps/kexec-tools/kexec-tools-2.0.13-r1.ebuild 
b/sys-apps/kexec-tools/kexec-tools-2.0.13-r1.ebuild
new file mode 100644
index 00000000..8bc203d
--- /dev/null
+++ b/sys-apps/kexec-tools/kexec-tools-2.0.13-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+if [[ ${PV} == "9999" ]] ; then
+       inherit git-r3
+       
EGIT_REPO_URI="git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git"
+       AUTOTOOLS_AUTORECONF=true
+else
+       SRC_URI="mirror://kernel/linux/utils/kernel/kexec/${P}.tar.xz"
+       KEYWORDS="~amd64 ~x86"
+fi
+
+inherit autotools-utils linux-info systemd
+
+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}"
+
+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_configure() {
+       local myeconfargs=(
+               $(use_with booke)
+               $(use_with lzma)
+               $(use_with xen)
+               $(use_with zlib)
+       )
+       autotools-utils_src_configure
+}
+
+src_install() {
+       autotools-utils_src_install
+
+       dodoc "${FILESDIR}"/README.Gentoo
+
+       newinitd "${FILESDIR}"/kexec.init-2.0.13-r1 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
+}

Reply via email to