sys-apps/kexec-tools: Move back to portage-stable

This commit is contained in:
David Michael 2018-10-16 16:02:00 +00:00
parent b3d2dfd486
commit b651d349b7
13 changed files with 0 additions and 472 deletions

View File

@ -1,14 +0,0 @@
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_=eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 libtool f143db5a74ccd9ca28c1234deffede96 linux-info 953c3b1c472dcadbf62098a9301327f2 multilib b2f01ad412baf81650c23fcf0975fa33 systemd 47c677ae1d7b69031f11f630ac09f0d1 toolchain-funcs f164325a2cdb5b3ea39311d483988861
_md5_=6811a0b93cdd4407f9c3a3ceb5e06877

View File

@ -1 +0,0 @@
DIST kexec-tools-2.0.16.tar.xz 287888 BLAKE2B 7e7bbe11dc2792be3cab6318c12b6866bf6b373fb7bf2d7601ef68a39dd5882aceab7c8905ce0d9b0af1da2072b3f3d2677bd9e006676c484e1d6506ac7036fa SHA512 f2f06e7702fef20c8d7d6aabe1b264e2e2689e5c38cc00dbc2186dd7fa0479edb2dc9e307dd2ad7f03db47015e966e577f11576172604ef01c1bcca471fe2c24

View File

@ -1,9 +0,0 @@
#!/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

@ -1,33 +0,0 @@
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

@ -1,27 +0,0 @@
From 9d291e5a9425e23dd90c6fd79081bafd5bcd4c32 Mon Sep 17 00:00:00 2001
From: David Michael <david.michael@coreos.com>
Date: Sun, 7 Jan 2018 11:05:06 -0500
Subject: [PATCH] arm64: Set -fno-PIC along with -mcmodel=large
As seen in GCC's gcc/config/aarch64/aarch64.c, -fPIC with large
code model is unsupported. This fixes the "sorry, unimplemented"
errors when building with compilers defaulting to -fPIC.
---
purgatory/arch/arm64/Makefile | 1 +
1 file changed, 1 insertion(+)
diff --git a/purgatory/arch/arm64/Makefile b/purgatory/arch/arm64/Makefile
index 636abea..80068ca 100644
--- a/purgatory/arch/arm64/Makefile
+++ b/purgatory/arch/arm64/Makefile
@@ -1,6 +1,7 @@
arm64_PURGATORY_EXTRA_CFLAGS = \
-mcmodel=large \
+ -fno-PIC \
-fno-stack-protector \
-fno-asynchronous-unwind-tables \
-Wundef \
--
2.14.3

View File

@ -1,17 +0,0 @@
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

@ -1,24 +0,0 @@
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

@ -1,16 +0,0 @@
# 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

@ -1,34 +0,0 @@
# 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

@ -1,186 +0,0 @@
#!/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

@ -1,16 +0,0 @@
[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

@ -1,82 +0,0 @@
# Copyright 1999-2017 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 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}-arm64-no-PIC.patch
)
pkg_setup() {
# GNU Make's $(COMPILE.S) passes ASFLAGS to $(CCAS), CCAS=$(CC)
export ASFLAGS="${CCASFLAGS}"
}
src_prepare() {
default
elibtoolize
}
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

@ -1,13 +0,0 @@
<?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>