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 +}
