diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2021-02-22 08:53:03 +0100 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2021-02-22 08:56:16 +0100 |
commit | 0fae23204018295e711bb1335c797e43b0af9140 (patch) | |
tree | 0f3f4ff80a6c8e6eaf7a3e3885fb000e92a595ba /sys-apps/sysvinit | |
parent | dev-python/tabulate: Bump to 0.8.9 (diff) | |
download | gentoo-0fae23204018295e711bb1335c797e43b0af9140.tar.gz gentoo-0fae23204018295e711bb1335c797e43b0af9140.tar.bz2 gentoo-0fae23204018295e711bb1335c797e43b0af9140.zip |
sys-apps/sysvinit: Bump to version 2.99
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
Diffstat (limited to 'sys-apps/sysvinit')
-rw-r--r-- | sys-apps/sysvinit/Manifest | 1 | ||||
-rw-r--r-- | sys-apps/sysvinit/files/sysvinit-2.99-shutdown-h.patch | 82 | ||||
-rw-r--r-- | sys-apps/sysvinit/sysvinit-2.99.ebuild | 144 |
3 files changed, 227 insertions, 0 deletions
diff --git a/sys-apps/sysvinit/Manifest b/sys-apps/sysvinit/Manifest index 8dce800e3d05..f91c0f841f4d 100644 --- a/sys-apps/sysvinit/Manifest +++ b/sys-apps/sysvinit/Manifest @@ -2,3 +2,4 @@ DIST sysvinit-2.93.tar.xz 117580 BLAKE2B 2e771b00dbdc73e76df9e78659aaa5e5fcbfda3 DIST sysvinit-2.96.tar.xz 122164 BLAKE2B 10c28d3bb57fc744b66c3a7ac78912fb6a9d987e9f6f32f82953d23a9884020daa6fa8c7722e6d8145d9899f7f7dc623f69f885d3d8fbbcd313d0e69ffb66497 SHA512 1388398568ebfe53460796f8ab75a3ead6111612888ea36e8f1c0db4d41ef6f45fc217abb7804519ff1143a78d97c95b24e42c8c22c95a47b9436484bfb6f45d DIST sysvinit-2.97.tar.xz 126848 BLAKE2B dd2612de531a89f1fdbfaeb8b5975aeba9541a6b570587a881bdb11406991c1a9b254d1802725298eb13362d625d3859b520ee964782a0fe43d3f038a28b49e6 SHA512 89950080a120b62bdd297f3a59898dd11e10c7438cf18774bad16c65ce5fb2e190726e601c6f263def32cff59867c0984edcd99d527eb80297901085afbb2e90 DIST sysvinit-2.98.tar.xz 127028 BLAKE2B 302219cd0753dee20772d78ad073e279f430ededab93feaecd166d9be9f91f0f5e97fcfe3e5893d9db963ba638e66e1f6670a94f6e2328fbfdb92325563a129c SHA512 37bc3279b58ce3d808abb78eb6aa8c18a55f991343cc66316ad5b8c2fbb8dce95b83dd995cdab1df8c82a5ab155d0ad65bc3cee3860e4ba4ba4f8c2ac865c3f7 +DIST sysvinit-2.99.tar.xz 126908 BLAKE2B b82c745d5b695f918d4a163e7b9eaceccc07a46f73c3782c7771cc29a8600be13de4ff30891086df5773d60f37fa3b0f58566ccaf72cd70af68083b51152a38b SHA512 34f328d7d2e6ceddcddfebab49eb9c34e90dc96decf2caeb89dffd2ade54322fa4a3cb9fa1e1a4bc687e07fcb0a13e5aebe6186582a9f5c9153e1513baa87ddd diff --git a/sys-apps/sysvinit/files/sysvinit-2.99-shutdown-h.patch b/sys-apps/sysvinit/files/sysvinit-2.99-shutdown-h.patch new file mode 100644 index 000000000000..a4ceeda69c5f --- /dev/null +++ b/sys-apps/sysvinit/files/sysvinit-2.99-shutdown-h.patch @@ -0,0 +1,82 @@ +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 + +--- sysvinit-2.99/man/shutdown.8 ++++ sysvinit-2.99/man/shutdown.8 +@@ -66,22 +66,19 @@ + .\"}}} + .\"{{{ -h + .IP \fB\-h\fP +-Halt or power off after shutdown. Usually used with the \fI-P\fP or \fI-H\fP flags, +-depending on whether we want to poweroff or simply stop the operating system. ++Equivalent to \fI-P\fP, unless \fI-H\fP is specified. + .\"}}} + .\"{{{ -P + .IP \fB\-P\fP +-Modifier to the \fI-h\fP flag. Halt action is to turn off the power. +-Must be used with the \fI-h\fP flag. ++Halt action is to turn off the power. + .\"}}} + .\"{{{ -H + .IP \fB\-H\fP +-Modifier to the \fI-h\fP flag. Halt action is to halt or drop into boot +-monitor on systems that support it. Must be used with the \fI-h\fP 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 \fI-P\fP modifier instead. ++use the \fI-P\fP option instead. + .\"}}} + .\"{{{ -f + .IP \fB\-f\fP +--- sysvinit-2.99/src/shutdown.c ++++ sysvinit-2.99/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.99.ebuild b/sys-apps/sysvinit/sysvinit-2.99.ebuild new file mode 100644 index 000000000000..e2a06d6700d2 --- /dev/null +++ b/sys-apps/sysvinit/sysvinit-2.99.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2021 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 ~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.99-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.98-r1 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 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 + + newinitd "${FILESDIR}"/bootlogd.initd bootlogd + into / + dosbin "${FILESDIR}"/halt.sh + + keepdir /etc/inittab.d + + # dead symlink + find "${ED}" -xtype l -delete || die + + 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 [[ -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 + 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 +} |