aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstefson <herrtimson@yahoo.de>2020-12-04 20:26:48 +0100
committerJory Pratt <anarchy@gentoo.org>2020-12-07 08:12:07 -0600
commit98afa7174f1cabd3f8e81c173aa90a1040e11a26 (patch)
tree95a81d1ce48da912a1ec7946f77a43f8e5d55da0 /sys-apps
parentsys-apps/sysvinit: drop all keywords but x86 (diff)
downloadmusl-98afa7174f1cabd3f8e81c173aa90a1040e11a26.tar.gz
musl-98afa7174f1cabd3f8e81c173aa90a1040e11a26.tar.bz2
musl-98afa7174f1cabd3f8e81c173aa90a1040e11a26.zip
sys-apps/sysvinit: add new stable 2.97 for x86
Signed-off-by: Steffen Kuhn <nielson2@yandex.com> Signed-off-by: Jory Pratt <anarchy@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/sysvinit/Manifest2
-rw-r--r--sys-apps/sysvinit/files/halt.sh6
-rw-r--r--sys-apps/sysvinit/files/inittab-2.9561
-rw-r--r--sys-apps/sysvinit/files/sysvinit-2.95_beta-shutdown-h.patch87
-rw-r--r--sys-apps/sysvinit/sysvinit-2.97.ebuild (renamed from sys-apps/sysvinit/sysvinit-2.94.ebuild)45
5 files changed, 187 insertions, 14 deletions
diff --git a/sys-apps/sysvinit/Manifest b/sys-apps/sysvinit/Manifest
index 85991333..5a1c9f3e 100644
--- a/sys-apps/sysvinit/Manifest
+++ b/sys-apps/sysvinit/Manifest
@@ -1,2 +1,2 @@
DIST sysvinit-2.93.tar.xz 117580 BLAKE2B 2e771b00dbdc73e76df9e78659aaa5e5fcbfda36290a1b5aa20a5a6fe3540c4616f2a235a668de30d33c620e2d2516da303537eda47b83b29b0844ad7aa77df4 SHA512 c80d07a674253d15ec6382cfaf792f47486e2e84ab9c913d3c9e03b590cf211177a3a14e168f4d1c9c2e97737221f7ac70a75633d90502837a6d29bdc4c48d72
-DIST sysvinit-2.94.tar.xz 120900 BLAKE2B e45a95246325e93ef49f11573924216937e238761cb9f5979ae2b272838fb3280b1d12c9553992271f7926dc7c7bc18e352a8019a70f54c592971fe043453804 SHA512 8d3b7b777f7c37cf5eaf73d4cdfad8ac54c6115577052bd7ddf3588da8fb7d16b812ffaade0ce300c2c6b7d2acd6e7778130544befc171eab174ee8766b3ec50
+DIST sysvinit-2.97.tar.xz 126848 BLAKE2B dd2612de531a89f1fdbfaeb8b5975aeba9541a6b570587a881bdb11406991c1a9b254d1802725298eb13362d625d3859b520ee964782a0fe43d3f038a28b49e6 SHA512 89950080a120b62bdd297f3a59898dd11e10c7438cf18774bad16c65ce5fb2e190726e601c6f263def32cff59867c0984edcd99d527eb80297901085afbb2e90
diff --git a/sys-apps/sysvinit/files/halt.sh b/sys-apps/sysvinit/files/halt.sh
new file mode 100644
index 00000000..ff68c425
--- /dev/null
+++ b/sys-apps/sysvinit/files/halt.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+if [ "${INIT_HALT}" = HALT ]; then
+ exec /sbin/halt -dhn
+else
+ exec /sbin/poweroff -dhn
+fi
diff --git a/sys-apps/sysvinit/files/inittab-2.95 b/sys-apps/sysvinit/files/inittab-2.95
new file mode 100644
index 00000000..03f226a8
--- /dev/null
+++ b/sys-apps/sysvinit/files/inittab-2.95
@@ -0,0 +1,61 @@
+#
+# /etc/inittab: This file describes how the INIT process should set up
+# the system in a certain run-level.
+#
+# Author: Miquel van Smoorenburg, <miquels@cistron.nl>
+# Modified by: Patrick J. Volkerding, <volkerdi@ftp.cdrom.com>
+# Modified by: Daniel Robbins, <drobbins@gentoo.org>
+# Modified by: Martin Schlemmer, <azarah@gentoo.org>
+# Modified by: Mike Frysinger, <vapier@gentoo.org>
+# Modified by: Robin H. Johnson, <robbat2@gentoo.org>
+# Modified by: William Hubbs, <williamh@gentoo.org>
+#
+
+# Default runlevel.
+id:3:initdefault:
+
+# System initialization, mount local filesystems, etc.
+si::sysinit:/sbin/openrc sysinit
+
+# Further system initialization, brings up the boot runlevel.
+rc::bootwait:/sbin/openrc boot
+
+l0u:0:wait:/sbin/telinit u
+l0:0:wait:/sbin/openrc shutdown
+l0s:0:wait:/sbin/halt.sh
+l1:1:wait:/sbin/openrc single
+l2:2:wait:/sbin/openrc nonetwork
+l3:3:wait:/sbin/openrc default
+l4:4:wait:/sbin/openrc default
+l5:5:wait:/sbin/openrc default
+l6u:6:wait:/sbin/telinit u
+l6:6:wait:/sbin/openrc reboot
+l6r:6:wait:/sbin/reboot -dkn
+#z6:6:respawn:/sbin/sulogin
+
+# new-style single-user
+su0:S:wait:/sbin/openrc single
+su1:S:wait:/sbin/sulogin
+
+# TERMINALS
+#x1:12345:respawn:/sbin/agetty 38400 console linux
+c1:12345:respawn:/sbin/agetty 38400 tty1 linux
+c2:2345:respawn:/sbin/agetty 38400 tty2 linux
+c3:2345:respawn:/sbin/agetty 38400 tty3 linux
+c4:2345:respawn:/sbin/agetty 38400 tty4 linux
+c5:2345:respawn:/sbin/agetty 38400 tty5 linux
+c6:2345:respawn:/sbin/agetty 38400 tty6 linux
+
+# SERIAL CONSOLES
+#s0:12345:respawn:/sbin/agetty -L 9600 ttyS0 vt100
+#s1:12345:respawn:/sbin/agetty -L 9600 ttyS1 vt100
+
+# What to do at the "Three Finger Salute".
+ca:12345:ctrlaltdel:/sbin/shutdown -r now
+
+# Used by /etc/init.d/xdm to control DM startup.
+# Read the comments in /etc/init.d/xdm for more
+# info. Do NOT remove, as this will start nothing
+# extra at boot if /etc/init.d/xdm is not added
+# to the "default" runlevel.
+x:a:once:/etc/X11/startDM.sh
diff --git a/sys-apps/sysvinit/files/sysvinit-2.95_beta-shutdown-h.patch b/sys-apps/sysvinit/files/sysvinit-2.95_beta-shutdown-h.patch
new file mode 100644
index 00000000..f24e1029
--- /dev/null
+++ b/sys-apps/sysvinit/files/sysvinit-2.95_beta-shutdown-h.patch
@@ -0,0 +1,87 @@
+other inits have moved to not requiring the -h flag when used with -H/-P.
+modify sysvinit to be the same since it really doesn't matter.
+
+https://bugs.gentoo.org/449354
+
+patch by Doug Goldstein
+
+---
+ man/shutdown.8 | 11 ++++-------
+ src/shutdown.c | 12 ++++--------
+ 2 files changed, 8 insertions(+), 15 deletions(-)
+
+--- sysvinit-2.95/man/shutdown.8
++++ sysvinit-2.95/man/shutdown.8
+@@ -66,22 +66,19 @@
+ .\"}}}
+ .\"{{{ -h
+ .IP \fB\-h\fP
+-Halt or power off after shutdown. Usually used with the -P or -H flags,
+-depending on whether we want to poweroff or simply stop the operating system.
++Equivalent to -P, unless -H is specified.
+ .\"}}}
+ .\"{{{ -P
+ .IP \fB\-P\fP
+-Modifier to the -h flag. Halt action is to turn off the power.
+-Must be used with the -h flag.
++Halt action is to turn off the power.
+ .\"}}}
+ .\"{{{ -H
+ .IP \fB\-H\fP
+-Modifier to the -h flag. Halt action is to halt or drop into boot
+-monitor on systems that support it. Must be used with the -h flag.
++Action is to halt or drop into boot monitor on systems that support it.
+ Halting is often used to run through the shutdown process and leave
+ output on the screen for debugging purposes. Or when the user wants the OS to
+ stop, but leave the power on. To power off at the end of the shutdown sequence
+-use the -P modifier instead.
++use the -P option instead.
+ .\"}}}
+ .\"{{{ -f
+ .IP \fB\-f\fP
+--- sysvinit-2.95/src/shutdown.c
++++ sysvinit-2.95/src/shutdown.c
+@@ -144,9 +144,7 @@
+ "\t\t -r: reboot after shutdown.\n"
+ "\t\t -h: halt after shutdown.\n"
+ "\t\t -P: halt action is to turn off power.\n"
+- "\t\t can only be used along with -h flag.\n"
+ "\t\t -H: halt action is to just halt.\n"
+- "\t\t can only be used along with -h flag.\n"
+ "\t\t -f: do a 'fast' reboot (skip fsck).\n"
+ "\t\t -F: Force fsck on reboot.\n"
+ "\t\t -n: do not go through \"init\" but go down real fast.\n"
+@@ -556,9 +554,11 @@
+ switch(c) {
+ case 'H':
+ halttype = "HALT";
++ down_level[0] = '0';
+ break;
+ case 'P':
+ halttype = "POWEROFF";
++ down_level[0] = '0';
+ break;
+ case 'a': /* Access control. */
+ useacl = 1;
+@@ -574,6 +574,8 @@
+ break;
+ case 'h': /* Halt after shutdown */
+ down_level[0] = '0';
++ if (!halttype)
++ halttype = "POWEROFF";
+ break;
+ case 'f': /* Don't perform fsck after next boot */
+ fastboot = 1;
+@@ -613,12 +615,6 @@
+ }
+ }
+
+- if (NULL != halttype && down_level[0] != '0') {
+- fprintf(stderr, "shutdown: -H and -P flags can only be used along with -h flag.\n");
+- usage();
+- exit(1);
+- }
+-
+ /* Do we need to use the shutdown.allow file ? */
+ if (useacl && (fp = fopen(SDALLOW, "r")) != NULL) {
+
diff --git a/sys-apps/sysvinit/sysvinit-2.94.ebuild b/sys-apps/sysvinit/sysvinit-2.97.ebuild
index b1684921..e7338aef 100644
--- a/sys-apps/sysvinit/sysvinit-2.94.ebuild
+++ b/sys-apps/sysvinit/sysvinit-2.97.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
inherit toolchain-funcs flag-o-matic
@@ -12,8 +12,8 @@ SRC_URI="mirror://nongnu/${PN}/${P/_/-}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
[[ "${PV}" == *beta* ]] || \
-KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86"
-IUSE="selinux ibm static"
+KEYWORDS="x86"
+IUSE="selinux ibm static kernel_FreeBSD"
CDEPEND="
selinux? (
@@ -31,12 +31,16 @@ S="${WORKDIR}/${P/_*}"
PATCHES=(
"${FILESDIR}/${PN}-2.86-kexec.patch" #80220
"${FILESDIR}/${PN}-2.94_beta-shutdown-single.patch" #158615
- "${FILESDIR}/${PN}-2.92_beta-shutdown-h.patch" #449354
+ "${FILESDIR}/${PN}-2.95_beta-shutdown-h.patch" #449354
)
src_prepare() {
default
- sed -i '/^CPPFLAGS =$/d' src/Makefile || die
+
+ sed -i \
+ -e '/^CPPFLAGS =$/d' \
+ -e '/^override CFLAGS +=/s/ -fstack-protector-strong//' \
+ src/Makefile || die
# last/lastb/mesg/mountpoint/sulogin/utmpdump/wall have moved to util-linux
sed -i -r \
@@ -49,10 +53,11 @@ src_prepare() {
-e '/\/bin\/pidof/d' \
-e '/^MAN8/s:\<pidof.8\>::g' \
src/Makefile || die
-
+
# stack protector is broken on x86 musl
sed -i 's/-fstack-protector-strong//' src/Makefile || die
+
# logsave is already in e2fsprogs
sed -i -r \
-e '/^(USR)?S?BIN/s:\<logsave\>::g' \
@@ -61,7 +66,7 @@ src_prepare() {
# Mung inittab for specific architectures
cd "${WORKDIR}" || die
- cp "${FILESDIR}"/inittab-2.91 inittab || die "cp inittab"
+ cp "${FILESDIR}"/inittab-2.95 inittab || die "cp inittab"
local insert=()
use ppc && insert=( '#psc0:12345:respawn:/sbin/agetty 115200 ttyPSC0 linux' )
use arm && insert=( '#f0:12345:respawn:/sbin/agetty 9600 ttyFB0 vt100' )
@@ -75,6 +80,13 @@ src_prepare() {
)
fi
(use arm || use mips || use sparc) && sed -i '/ttyS0/s:#::' inittab
+ if use kernel_FreeBSD ; then
+ sed -i \
+ -e 's/linux/cons25/g' \
+ -e 's/ttyS0/cuaa0/g' \
+ -e 's/ttyS1/cuaa1/g' \
+ inittab #121786
+ fi
if use x86 || use amd64 ; then
sed -i \
-e '/ttyS[01]/s:9600:115200:' \
@@ -102,18 +114,25 @@ src_install() {
doins "${WORKDIR}"/inittab
# dead symlink
- rm "${ED%/}"/usr/bin/lastb || die
+ rm "${ED}"/usr/bin/lastb || die
newinitd "${FILESDIR}"/bootlogd.initd bootlogd
+ into /
+ dosbin "${FILESDIR}"/halt.sh
+
+ keepdir /etc/inittab.d
+
+ find "${ED}" -type d -empty -delete || die
}
pkg_postinst() {
# Reload init to fix unmounting problems of / on next reboot.
# This is really needed, as without the new version of init cause init
# not to quit properly on reboot, and causes a fsck of / on next reboot.
- if [[ ${ROOT} == / ]] ; then
- if [[ -e /dev/initctl && ! -e /run/initctl ]]; then
- ln -s /dev/initctl /run/initctl
+ if [[ -z ${ROOT} ]] ; then
+ if [[ -e /dev/initctl ]] && [[ ! -e /run/initctl ]] ; then
+ ln -s /dev/initctl /run/initctl \
+ || ewarn "Failed to set /run/initctl symlink!"
fi
# Do not return an error if this fails
/sbin/telinit U &>/dev/null
@@ -123,7 +142,7 @@ pkg_postinst() {
elog "sys-apps/util-linux. The pidof tool has been moved to sys-process/procps."
# Required for new bootlogd service
- if [[ ! -e "${EROOT%/}/var/log/boot" ]] ; then
- touch "${EROOT%/}/var/log/boot"
+ if [[ ! -e "${EROOT}/var/log/boot" ]] ; then
+ touch "${EROOT}/var/log/boot"
fi
}