summaryrefslogtreecommitdiff
path: root/sys-apps/sysvinit
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/sysvinit')
-rw-r--r--sys-apps/sysvinit/Manifest3
-rw-r--r--sys-apps/sysvinit/files/sysvinit-2.95_beta-shutdown-h.patch87
-rw-r--r--sys-apps/sysvinit/sysvinit-2.95_beta.ebuild137
3 files changed, 227 insertions, 0 deletions
diff --git a/sys-apps/sysvinit/Manifest b/sys-apps/sysvinit/Manifest
index 355ee31618a1..61bf5a554a0b 100644
--- a/sys-apps/sysvinit/Manifest
+++ b/sys-apps/sysvinit/Manifest
@@ -4,8 +4,11 @@ AUX sysvinit-2.86-kexec.patch 3910 BLAKE2B fb62326925c78960142123da82ffd1de63191
AUX sysvinit-2.86-shutdown-single.patch 1229 BLAKE2B fc95e0a3db23300776bc61890f491449f0b078f3814d73b1fae278a3e28f8b3b567056f71ecfbd917e74aec1594cfdb7b15e6808a09ccda594ec8e1a683d5957 SHA512 b1fa6225cdb0d5ed6d2d3128a9ad29dc76f14845c3fe57aa2edf234af456ae49f700b25ed4170a6337f662be224bd6ddfd424331483b0c482fd33cd045ddc575
AUX sysvinit-2.92_beta-shutdown-h.patch 2341 BLAKE2B 255f9831d59721fb3f59f6caeb9f6d828b5477d7b80668b279b29d036a292584965191bc204054fa71b1d53b3e9d83475ba8a1c09b92152fd9fcb29c40c0d1c6 SHA512 52d172aab471a0e2e8057292bfc401eade032da8c5058e22f35015e58635b8fe45ee8425c2a6cd7466942acd168f28c53c8c34f3b781a5c8c6c8b5714096439e
AUX sysvinit-2.94_beta-shutdown-single.patch 1261 BLAKE2B 571b7cf40ccdbb27e65b31e507ea8331ae1e9b8b012570cdc4099a15c864f2abc92f84c44ef9dbd35dfe43c68e491d347266abaa0156536edae4c35231f17ccb SHA512 2f26201e8634b380dafdf42678cd0241a93f0e473f5c8680d4206d97dfe3510c2ceeb4cd066d1af3ae97fe411f7a5452a9586f8f5c5e65653bf9241fea1edaf0
+AUX sysvinit-2.95_beta-shutdown-h.patch 2752 BLAKE2B a7174eaf34d5f9547d5d79c16bf2d8129e71c9564fc0b60e5adb3f2dda998dbdea7a3ee9fbfd3f7bc29ec977f8d47de4581d77abd6e1cdb6feeab9633946251e SHA512 682e6afd6443ffef2cbac9898eca42546b0614a82b2a0c370015cf5373229c00170a22adabf54d10a0f85da7b19de39334b05ef69874fa4003a9c74b7e416974
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.95-beta.tar.xz 121352 BLAKE2B 769768185ae3f374ff7bac4a9178796526db9232ed6c735d6165b3f28b219a9804a6e0ae5f78e8558616aa3ae022f4963b9922e7c71bf4997772b8fb1f9d98d7 SHA512 0d1d7559a05142e2bd209fca83e1396e9d3ed32ebe5d4f5f1356ac51e597c0201648e8a80946089fa91e8620302cd60894b7ff343747cee373c0c4459e6224ed
EBUILD sysvinit-2.93.ebuild 3575 BLAKE2B f327a05eaa2e82baa05b0473f31591da2e61cff22db7fb1e3f8a6302990cc70df166484dc138bb03f8494a32a21c5af4ee4adeaff9f37e1edfa0db702bcfd57b SHA512 159ca13a88b9868ec717fa8d786322d04cc7f67ea3e3ec32e0369060a295a43a33fe6a19d5f3be1b8d30f8dfb659d596b5c0d01f49fd1fa28cce1a150decb900
EBUILD sysvinit-2.94.ebuild 3817 BLAKE2B dcf4a1ce3f2eb774783e0d3bab5a189e45f43bafefb05c8f6d60f3f09639c691576447c0b6922c974ed8f0f5ab7ecbacba1b427dcb569470163658c64dadaa06 SHA512 7b60c4537ad8f1d4bd70a3c922a8778501b89343ab103f5413322745077ae8c85c16344773746a8e7ae3ef1d185420c26fd30598e33b5641d57563d32f9c7179
+EBUILD sysvinit-2.95_beta.ebuild 3812 BLAKE2B 945467b8f510628c055cfd83b9c5a36198b1aacdf5f05918a34b0478576c941eba6d690ba4523f10e729b5cdcd696643e01c8ceadf4374d49a371e1c5e090079 SHA512 5d0b8a20b6e2380e841cfa529ba867368db64725f776fafe3d4381ded00f3550906e6baa9a58b3eb065155d20f8c3376ab1ec0bac50f27dadc18b9ff9da71352
MISC metadata.xml 358 BLAKE2B c1093363e2c2f9cbce13e3a7025cf2f767b526e90bcdbe32714aba5aef411483e013facfc014c89ac591feae0fa733902be185ac8a0c673e56799b8168ad77ed SHA512 37306b4ebf69803889059875a22ceccde18725cc21e5a598496c30a377e6cb1d3d9ca88123121b2a70c2436b3a77530415169b53165de93ea8510cc41fbb589f
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 000000000000..f24e1029ca58
--- /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.95_beta.ebuild b/sys-apps/sysvinit/sysvinit-2.95_beta.ebuild
new file mode 100644
index 000000000000..f02f81e06455
--- /dev/null
+++ b/sys-apps/sysvinit/sysvinit-2.95_beta.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs flag-o-matic
+
+DESCRIPTION="/sbin/init - parent of all processes"
+HOMEPAGE="https://savannah.nongnu.org/projects/sysvinit"
+SRC_URI="mirror://nongnu/${PN}/${P/_/-}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+[[ "${PV}" == *beta* ]] || \
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86"
+IUSE="selinux ibm static kernel_FreeBSD"
+
+CDEPEND="
+ selinux? (
+ >=sys-libs/libselinux-1.28
+ )"
+DEPEND="${CDEPEND}
+ virtual/os-headers"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-shutdown )
+ !<sys-apps/openrc-0.13
+"
+
+S="${WORKDIR}/${P/_*}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.86-kexec.patch" #80220
+ "${FILESDIR}/${PN}-2.94_beta-shutdown-single.patch" #158615
+ "${FILESDIR}/${PN}-2.95_beta-shutdown-h.patch" #449354
+)
+
+src_prepare() {
+ default
+
+ 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 \
+ -e '/^(USR)?S?BIN/s:\<(last|lastb|mesg|mountpoint|sulogin|utmpdump|wall)\>::g' \
+ -e '/^MAN[18]/s:\<(last|lastb|mesg|mountpoint|sulogin|utmpdump|wall)[.][18]\>::g' \
+ src/Makefile || die
+
+ # pidof has moved to >=procps-3.3.9
+ sed -i -r \
+ -e '/\/bin\/pidof/d' \
+ -e '/^MAN8/s:\<pidof.8\>::g' \
+ src/Makefile || die
+
+ # logsave is already in e2fsprogs
+ sed -i -r \
+ -e '/^(USR)?S?BIN/s:\<logsave\>::g' \
+ -e '/^MAN8/s:\<logsave.8\>::g' \
+ src/Makefile || die
+
+ # Mung inittab for specific architectures
+ cd "${WORKDIR}" || die
+ cp "${FILESDIR}"/inittab-2.91 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' )
+ use arm64 && insert=( 'f0:12345:respawn:/sbin/agetty 9600 ttyAMA0 vt100' )
+ use hppa && insert=( 'b0:12345:respawn:/sbin/agetty 9600 ttyB0 vt100' )
+ use s390 && insert=( 's0:12345:respawn:/sbin/agetty 38400 console dumb' )
+ if use ibm ; then
+ insert+=(
+ '#hvc0:2345:respawn:/sbin/agetty -L 9600 hvc0'
+ '#hvsi:2345:respawn:/sbin/agetty -L 19200 hvsi0'
+ )
+ fi
+ (use arm || use mips || use sh || 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:' \
+ inittab
+ fi
+ if [[ ${#insert[@]} -gt 0 ]] ; then
+ printf '%s\n' '' '# Architecture specific features' "${insert[@]}" >> inittab
+ fi
+}
+
+src_compile() {
+ tc-export CC
+ append-lfs-flags
+ export DISTRO= #381311
+ export VERSION="${PV}"
+ use static && append-ldflags -static
+ emake -C src $(usex selinux 'WITH_SELINUX=yes' '')
+}
+
+src_install() {
+ emake -C src install ROOT="${D}"
+ dodoc README doc/*
+
+ insinto /etc
+ doins "${WORKDIR}"/inittab
+
+ # dead symlink
+ rm "${ED}"/usr/bin/lastb || die
+
+ newinitd "${FILESDIR}"/bootlogd.initd bootlogd
+}
+
+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
+ fi
+ # Do not return an error if this fails
+ /sbin/telinit U &>/dev/null
+ fi
+
+ elog "The last/lastb/mesg/mountpoint/sulogin/utmpdump/wall tools have been moved to"
+ 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"
+ fi
+}