bump(sys-apps/kexec-tools): sync with upstream

This commit is contained in:
David Michael 2018-10-16 16:09:50 +00:00
parent 9ebcfd1241
commit 87414fdb04
21 changed files with 871 additions and 0 deletions

View File

@ -0,0 +1,14 @@
DEFINED_PHASES=compile configure install postinst prepare setup test
DEPEND=lzma? ( app-arch/xz-utils ) zlib? ( sys-libs/zlib ) >=app-portage/elt-patches-20170815 virtual/pkgconfig
DESCRIPTION=Load another kernel from the currently executing Linux kernel
EAPI=5
HOMEPAGE=https://kernel.org/pub/linux/utils/kernel/kexec/
IUSE=booke lzma xen zlib kernel_linux
KEYWORDS=amd64 ~arm64 x86
LICENSE=GPL-2
RDEPEND=lzma? ( app-arch/xz-utils ) zlib? ( sys-libs/zlib )
REQUIRED_USE=lzma? ( zlib )
SLOT=0
SRC_URI=mirror://kernel/linux/utils/kernel/kexec/kexec-tools-2.0.14.tar.xz
_eclasses_=autotools 1bf086cdd7356f5c9a4acd9727bd2065 autotools-utils 696393cddf6200db17a31641f597b403 desktop b1d22ac8bdd4679ab79c71aca235009d eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 libtool f143db5a74ccd9ca28c1234deffede96 linux-info 953c3b1c472dcadbf62098a9301327f2 ltprune 08f9e1d9ee0af8f5d9a7854efbcd8c0e multilib b2f01ad412baf81650c23fcf0975fa33 preserve-libs ef207dc62baddfddfd39a164d9797648 systemd 47c677ae1d7b69031f11f630ac09f0d1 toolchain-funcs f164325a2cdb5b3ea39311d483988861 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
_md5_=184d1347ae06d826dc05b9a970d55673

View File

@ -0,0 +1,14 @@
DEFINED_PHASES=configure install postinst prepare setup
DEPEND=lzma? ( app-arch/xz-utils ) zlib? ( sys-libs/zlib ) >=app-portage/elt-patches-20170815 virtual/pkgconfig
DESCRIPTION=Load another kernel from the currently executing Linux kernel
EAPI=6
HOMEPAGE=https://kernel.org/pub/linux/utils/kernel/kexec/
IUSE=booke lzma xen zlib kernel_linux
KEYWORDS=~amd64 ~arm64 ~x86
LICENSE=GPL-2
RDEPEND=lzma? ( app-arch/xz-utils ) zlib? ( sys-libs/zlib )
REQUIRED_USE=lzma? ( zlib )
SLOT=0
SRC_URI=mirror://kernel/linux/utils/kernel/kexec/kexec-tools-2.0.16.tar.xz
_eclasses_=desktop b1d22ac8bdd4679ab79c71aca235009d eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 55aaa148741116aa54ad0d80e361818e libtool f143db5a74ccd9ca28c1234deffede96 linux-info 953c3b1c472dcadbf62098a9301327f2 ltprune 08f9e1d9ee0af8f5d9a7854efbcd8c0e multilib b2f01ad412baf81650c23fcf0975fa33 preserve-libs ef207dc62baddfddfd39a164d9797648 systemd 47c677ae1d7b69031f11f630ac09f0d1 toolchain-funcs f164325a2cdb5b3ea39311d483988861 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
_md5_=224d9b9e43bc7b263f1518053738133a

View File

@ -0,0 +1,14 @@
DEFINED_PHASES=configure install postinst prepare setup
DEPEND=lzma? ( app-arch/xz-utils ) zlib? ( sys-libs/zlib ) >=app-portage/elt-patches-20170815 virtual/pkgconfig
DESCRIPTION=Load another kernel from the currently executing Linux kernel
EAPI=6
HOMEPAGE=https://kernel.org/pub/linux/utils/kernel/kexec/
IUSE=booke lzma xen zlib kernel_linux
KEYWORDS=~amd64 ~arm64 ~x86
LICENSE=GPL-2
RDEPEND=lzma? ( app-arch/xz-utils ) zlib? ( sys-libs/zlib )
REQUIRED_USE=lzma? ( zlib )
SLOT=0
SRC_URI=mirror://kernel/linux/utils/kernel/kexec/kexec-tools-2.0.17.tar.xz
_eclasses_=desktop b1d22ac8bdd4679ab79c71aca235009d eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 55aaa148741116aa54ad0d80e361818e libtool f143db5a74ccd9ca28c1234deffede96 linux-info 953c3b1c472dcadbf62098a9301327f2 ltprune 08f9e1d9ee0af8f5d9a7854efbcd8c0e multilib b2f01ad412baf81650c23fcf0975fa33 preserve-libs ef207dc62baddfddfd39a164d9797648 systemd 47c677ae1d7b69031f11f630ac09f0d1 toolchain-funcs f164325a2cdb5b3ea39311d483988861 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
_md5_=74771ea9079dbda966b469f947762fcd

View File

@ -0,0 +1,14 @@
DEFINED_PHASES=configure install postinst prepare setup
DEPEND=lzma? ( app-arch/xz-utils ) zlib? ( sys-libs/zlib ) >=app-portage/elt-patches-20170815 virtual/pkgconfig
DESCRIPTION=Load another kernel from the currently executing Linux kernel
EAPI=6
HOMEPAGE=https://kernel.org/pub/linux/utils/kernel/kexec/
IUSE=booke lzma xen zlib kernel_linux
KEYWORDS=amd64 ~arm64 x86
LICENSE=GPL-2
RDEPEND=lzma? ( app-arch/xz-utils ) zlib? ( sys-libs/zlib )
REQUIRED_USE=lzma? ( zlib )
SLOT=0
SRC_URI=mirror://kernel/linux/utils/kernel/kexec/kexec-tools-2.0.17.tar.xz
_eclasses_=desktop b1d22ac8bdd4679ab79c71aca235009d eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 55aaa148741116aa54ad0d80e361818e libtool f143db5a74ccd9ca28c1234deffede96 linux-info 953c3b1c472dcadbf62098a9301327f2 ltprune 08f9e1d9ee0af8f5d9a7854efbcd8c0e multilib b2f01ad412baf81650c23fcf0975fa33 preserve-libs ef207dc62baddfddfd39a164d9797648 systemd 47c677ae1d7b69031f11f630ac09f0d1 toolchain-funcs f164325a2cdb5b3ea39311d483988861 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
_md5_=f362ccea6cb865b5cdd810a7e5a7135b

View File

@ -0,0 +1,12 @@
DEFINED_PHASES=configure install postinst prepare setup unpack
DEPEND=lzma? ( app-arch/xz-utils ) zlib? ( sys-libs/zlib ) >=dev-vcs/git-1.8.2.1[curl] >=app-portage/elt-patches-20170815 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig
DESCRIPTION=Load another kernel from the currently executing Linux kernel
EAPI=6
HOMEPAGE=https://kernel.org/pub/linux/utils/kernel/kexec/
IUSE=booke lzma xen zlib kernel_linux
LICENSE=GPL-2
RDEPEND=lzma? ( app-arch/xz-utils ) zlib? ( sys-libs/zlib )
REQUIRED_USE=lzma? ( zlib )
SLOT=0
_eclasses_=autotools 1bf086cdd7356f5c9a4acd9727bd2065 desktop b1d22ac8bdd4679ab79c71aca235009d eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 55aaa148741116aa54ad0d80e361818e git-r3 0d4635eeb5a96cd5315597a47eba25c9 libtool f143db5a74ccd9ca28c1234deffede96 linux-info 953c3b1c472dcadbf62098a9301327f2 ltprune 08f9e1d9ee0af8f5d9a7854efbcd8c0e multilib b2f01ad412baf81650c23fcf0975fa33 preserve-libs ef207dc62baddfddfd39a164d9797648 systemd 47c677ae1d7b69031f11f630ac09f0d1 toolchain-funcs f164325a2cdb5b3ea39311d483988861 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
_md5_=74771ea9079dbda966b469f947762fcd

View File

@ -0,0 +1,3 @@
DIST kexec-tools-2.0.14.tar.xz 283640 BLAKE2B f84b5485904c0d4bbe5f7fdae391a4fb0b2a7436e078f23de649e79aaa7dfcdeff99139230a299bf2b9b0554ac13fa833e31211682c92f07cd6b8072907e35aa SHA512 8c1f9d1f4bb69a621961d45091f9c8349535ae69b80168423663685b44d89e1b9324d5cd11c83e86d805a3371f4f1600b0def551c52efb3c6cf020e9c11c273f
DIST kexec-tools-2.0.16.tar.xz 287888 BLAKE2B 7e7bbe11dc2792be3cab6318c12b6866bf6b373fb7bf2d7601ef68a39dd5882aceab7c8905ce0d9b0af1da2072b3f3d2677bd9e006676c484e1d6506ac7036fa SHA512 f2f06e7702fef20c8d7d6aabe1b264e2e2689e5c38cc00dbc2186dd7fa0479edb2dc9e307dd2ad7f03db47015e966e577f11576172604ef01c1bcca471fe2c24
DIST kexec-tools-2.0.17.tar.xz 290612 BLAKE2B 57ec5b5ed33a5c5bbe433099d6e80663717c8a086bdb8b95f4a1d81fd7e546619c0064698454dc79f489313f98696ee6dee4cafbc8b1b93db5c7909cdf7a6234 SHA512 e0f254ca2b26fa02cb61ba9a0735423b26bac2693fbd920eaf7cc2822c298de958bd65f7c37947ca1f6811a3752a58f7cf8aa903494f0109ea76b7159a037fa6

View File

@ -0,0 +1,9 @@
#!/bin/sh
version="$1" ; shift
image="$1" ; shift
exec sed \
-e "s:\"vmlinuz-.*\":\"vmlinuz-${version}\":" \
-e "s:/boot/initramfs-.*\.img:/boot/initramfs-${version}\.img:" \
-i /etc/kexec.conf

View File

@ -0,0 +1,33 @@
Usage
=====
Do
$ man 8 kexec
for full understanding of the underlying kexec command.
Gentoo offers a wrapper to the bare kexec command through
/etc/init.d/kexec.
Configuration
-------------
Configuration is done in /etc/conf.d/kexec, which is self-documented.
Usage
-----
In Gentoo, kexec is invoked, i.e., the new kernel will be booted when
rebooting, by reboot (8) command or by pressing Ctrl+Alt+Del.
If you want to use kexec once, just run
$ /etc/init.d/kexec start
It'll reserve kexec call at reboot. Later on, you can reboot anytime,
letting kexec starts another (or the same) kernel. When all is done in
the runlevel 6 - killing processes, unmounting volumes, etc - kexec
starts the new kernel instead of doing the normal hardware reboot.
If you want kexec to be run every time you reboot, add it to a runlevel:
$ rc-update add kexec <runlevel>
If you want to reboot in the normal way this time, do:
$ touch /nokexec

View File

@ -0,0 +1,38 @@
From b9de21ef51a7ceab7122a707c188602eae22c4ee Mon Sep 17 00:00:00 2001
From: Chris Clayton <chris2553@googlemail.com>
Date: Mon, 20 Aug 2018 12:00:31 +0100
Subject: kexec: fix for "Unhandled rela relocation: R_X86_64_PLT32" error
In response to a change in binutils, commit b21ebf2fb4c
(x86: Treat R_X86_64_PLT32 as R_X86_64_PC32) was applied to
the linux kernel during the 4.16 development cycle and has
since been backported to earlier stable kernel series. The
change results in the failure message in $SUBJECT when
rebooting via kexec.
Fix this by replicating the change in kexec.
Signed-off-by: Chris Clayton <chris2553@googlemail.com>
Acked-by: Baoquan He <bhe@redhat.com>
Tested-by: Bhupesh Sharma <bhsharma@redhat.com>
Acked-by: Bhupesh Sharma <bhsharma@redhat.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
---
kexec/arch/x86_64/kexec-elf-rel-x86_64.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
index 7fdde73..db85b44 100644
--- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
@@ -79,6 +79,7 @@ void machine_apply_elf_rel(struct mem_ehdr *UNUSED(ehdr),
goto overflow;
break;
case R_X86_64_PC32:
+ case R_X86_64_PLT32:
*(uint32_t *)location = value - address;
break;
default:
--
cgit 1.2-0.3.lf.el7

View File

@ -0,0 +1,17 @@
diff --git kexec-tools-2.0.3/kexec_test/Makefile kexec-tools-2.0.3/kexec_test/Makefile
index fec6210..2ed4d51 100644
--- kexec-tools-2.0.3/kexec_test/Makefile
+++ kexec-tools-2.0.3/kexec_test/Makefile
@@ -8,12 +8,6 @@ dist += kexec_test/Makefile $(KEXEC_TEST_SRCS) \
kexec_test/x86-setup-legacy-pic.S
BUILD_KEXEC_TEST = no
-ifeq ($(ARCH),i386)
-BUILD_KEXEC_TEST = yes
-endif
-ifeq ($(ARCH),x86_64)
-BUILD_KEXEC_TEST = yes
-endif
ifeq ($(BUILD_KEXEC_TEST),yes)

View File

@ -0,0 +1,24 @@
Makefile.in | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
index c1859d1..1aa8559 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -44,7 +44,7 @@ TARGET_CFLAGS = @TARGET_CFLAGS@
# Base compiler flags. These are extended by the subcomponent-Makefiles
# where necessary.
-CPPFLAGS = @CPPFLAGS@ -I$(srcdir)/include -I$(srcdir)/util_lib/include \
+CPPFLAGS = @CPPFLAGS@ -I$(top_builddir)/include -I$(srcdir)/include -I$(srcdir)/util_lib/include \
-Iinclude/ $($(ARCH)_CPPFLAGS)
CFLAGS = @CFLAGS@ -fno-strict-aliasing -Wall -Wstrict-prototypes
PURGATORY_EXTRA_CFLAGS = @PURGATORY_EXTRA_CFLAGS@
@@ -77,6 +77,7 @@ pkgincludedir = $(includedir)/$(PACKAGE_NAME)
DESTDIR =
srcdir = @srcdir@
+top_builddir = @top_builddir@
VPATH = .:$(srcdir)
# install paths

View File

@ -0,0 +1,16 @@
# Kernel image pathname, relative from /boot.
KNAME="bzimage"
# Additional arguments passed to kexec (8)
# Following arguments are support:
#
# --reuse-cmdline
# Use the current boot command line
#
# --command-line=string
# Use a different command line
#
# --initrd=file
# Specify an initrd to use
#
KEXEC_OPT_ARGS="--reuse-cmdline"

View File

@ -0,0 +1,34 @@
# Load kexec kernel image into memory during shutdown instead of bootup
# (default: yes)
#LOAD_DURING_SHUTDOWN="yes"
# Additional arguments passed to kexec (8)
#KEXEC_OPT_ARGS=""
# Kernel image partition. Mounted automatically if not.
# (default: /boot)
#BOOTPART="/boot"
# Root partition (should be autodetected)
#ROOTPART="/dev/hda3"
# Kernel image pathname, relative from BOOTPART.
# If it's one of
# {kernel-genkernel,bzImage,vmlinuz,kernel}-<currently running kernel version>,
# or bzImage, vmlinuz (without suffix),
# then it's automaticaly detected.
# Setting it to "-" will disable kexec.
#KNAME="vmlinuz-3.9.0"
# Initrd
# Same automatic detection restriction as for KNAME apply.
# initramfs-genkernel-<currently running kernel version>,
# initrd{,.img}-<currently running kernel version>{,.img}
# will be detected.
#INITRD="/boot/fbsplash-emergence-1024x768"
# Kernel parameters (should be autodetected)
#KPARAM="splash=silent,theme:emergence"
# Do not try to mount /boot
# DONT_MOUNT_BOOT="yes"

View File

@ -0,0 +1,186 @@
#!/sbin/openrc-run
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# Set up some defaults.
: "${LOAD_DURING_SHUTDOWN:=yes}"
: "${BOOTPART:=/boot}"
: "${DONT_MOUNT_BOOT:=no}"
depend() {
need localmount
}
auto_prefix_bootpath() {
# Only auto-add prefix to relative paths.
case $1 in
*/*) echo "$1";;
*) echo "${BOOTPART}/$1" ;;
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
auto_prefix_bootpath "${KNAME}"
return
fi
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
echo "${BOOTPART}/${x}"
return
fi
done
return 1
}
initrd_path() {
# Do no sanity checking if the user has set a value.
if [ -n "${INITRD}" ]; then
auto_prefix_bootpath "${INITRD}"
return 0
fi
local x kver="$(uname -r)" karch="$(uname -m)"
local gkarch="$(get_genkernel_arch $karch)"
for x in \
"initrd" \
"initrd.img-${kver}" \
"initrd-${kver}.img" \
"initrd-${kver}" \
"initramfs-${kver}.img" \
"initramfs-genkernel-${karch}-${kver}" \
"initramfs-genkernel-${gkarch}-${kver}"; do
if [ -e "${BOOTPART}/${x}" ]; then
echo "${BOOTPART}/${x}"
return 0
fi
done
return 1
}
mount_boot() {
[ "${DONT_MOUNT_BOOT}" != "no" ] && return 1
mountinfo -q "${BOOTPART}" && return 1
ebegin "Mounting ${BOOTPART}"
mount "${BOOTPART}"
eend $?
}
load_image() {
if [ "${KNAME}" = "-" ]; then
ebegin "Disabling kexec"
kexec -u
eend $?
return # eend preserved $? for us.
fi
local img initrd="$(initrd_path)" mounted=false kparamopt initrdopt
if ! img="$(image_path)"; then
if mount_boot; then
if img="$(image_path)"; then
mounted=true
initrd="$(initrd_path)"
else
eerror "No kernel image found in ${BOOTPART}!"
umount "${BOOTPART}"
return 1
fi
else
eerror "No kernel image found in ${BOOTPART}!"
return 1
fi
fi
if [ -z "${ROOTPART}" ]; then
ROOTPART="$(readlink -f "$(sed -n '/^\/[^ ]* \/ / s,^\([^ ]*\).*,\1,p' /proc/mounts)")"
fi
if [ -z "${KPARAM}" ]; then
kparamopt="--reuse-cmdline"
fi
if [ -n "${initrd}" ]; then
initrdopt="--initrd=${initrd}"
fi
local msg
[ -n "${initrd}" ] && \
msg=" (with ${initrd})"
ebegin "Using kernel image ${img}${msg} for kexec"
kexec ${KEXEC_OPT_ARGS} ${kparamopt} \
-l "${img}" --append="root=${ROOTPART} ${KPARAM}" ${initrdopt}
local ret=$?
${mounted} && umount "${BOOTPART}"
eend ${ret}
return ${ret}
}
start() {
if [ "${LOAD_DURING_SHUTDOWN}" = "yes" ]; then
local mounted
if mount_boot; then
mounted=true
fi
if ! image_path >/dev/null; then
ewarn "Cannot find kernel image!"
ewarn "Please make sure a valid kernel image is present before reboot."
return 0
fi
if [ -n "${mounted}" ]; then
ebegin "Unmounting ${BOOTPART}"
umount "${BOOTPART}"
eend $?
fi
# $? is already set to the previous calls.
return
else
load_image
fi
}
stop() {
if ! yesno ${RC_REBOOT}; then
ebegin "Not rebooting; disabling kexec"
kexec -u
eend $?
return
fi
if [ -f /nokexec ]; then
ebegin "Rebooting; disabling kexec due to /nokexec"
rm -f /nokexec
kexec -u
eend $?
return
fi
if [ "${LOAD_DURING_SHUTDOWN}" = "yes" ]; then
load_image
fi
}

View File

@ -0,0 +1,16 @@
[Unit]
Description=Gracefully restart the box
Documentation=man:kexec(8)
After=boot.mount
Before=shutdown.target umount.target final.target
ConditionPathExists=!/nokexec
[Service]
Type=oneshot
RemainAfterExit=yes
EnvironmentFile=/etc/kexec.conf
ExecStart=/usr/sbin/kexec -l /boot/${KNAME} ${KEXEC_OPT_ARGS}
ExecStop=/usr/sbin/kexec -l /boot/${KNAME} ${KEXEC_OPT_ARGS}
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,76 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
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 ~arm64 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
}

View File

@ -0,0 +1,82 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
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 ~arm64 ~x86"
fi
inherit flag-o-matic libtool 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_prepare() {
default
elibtoolize
filter-flags '-mindirect-branch=thunk*'
}
src_configure() {
local myeconfargs=(
$(use_with booke)
$(use_with lzma)
$(use_with xen)
$(use_with zlib)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
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
}

View File

@ -0,0 +1,86 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
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="mirror://kernel/linux/utils/kernel/kexec/${P}.tar.xz"
KEYWORDS="amd64 ~arm64 x86"
fi
inherit flag-o-matic libtool 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
"${FILESDIR}"/${P}-fix-unhandled-rela-relocation-R_X86_64_PLT32-error.patch
)
pkg_setup() {
# GNU Make's $(COMPILE.S) passes ASFLAGS to $(CCAS), CCAS=$(CC)
export ASFLAGS="${CCASFLAGS}"
}
src_prepare() {
default
if [[ ${PV} == "9999" ]] ; then
eautoreconf
else
elibtoolize
fi
filter-flags '-mindirect-branch=thunk*'
}
src_configure() {
local myeconfargs=(
$(use_with booke)
$(use_with lzma)
$(use_with xen)
$(use_with zlib)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
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
}

View File

@ -0,0 +1,85 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
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="mirror://kernel/linux/utils/kernel/kexec/${P}.tar.xz"
KEYWORDS="~amd64 ~arm64 ~x86"
fi
inherit flag-o-matic libtool 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_prepare() {
default
if [[ ${PV} == "9999" ]] ; then
eautoreconf
else
elibtoolize
fi
filter-flags '-mindirect-branch=thunk*'
}
src_configure() {
local myeconfargs=(
$(use_with booke)
$(use_with lzma)
$(use_with xen)
$(use_with zlib)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
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
}

View File

@ -0,0 +1,85 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
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="mirror://kernel/linux/utils/kernel/kexec/${P}.tar.xz"
KEYWORDS="~amd64 ~arm64 ~x86"
fi
inherit flag-o-matic libtool 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_prepare() {
default
if [[ ${PV} == "9999" ]] ; then
eautoreconf
else
elibtoolize
fi
filter-flags '-mindirect-branch=thunk*'
}
src_configure() {
local myeconfargs=(
$(use_with booke)
$(use_with lzma)
$(use_with xen)
$(use_with zlib)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
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
}

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
<use>
<flag name="lzma">Enables support for LZMA compressed kernel images</flag>
<flag name="booke">Include support for Book-E memory management</flag>
<flag name="xen">Enable extended xen support</flag>
</use>
</pkgmetadata>