commit:     e844db03b763517f1fcf187ea74d2211f26d5d1c
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 18 08:34:10 2019 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Mon Feb 18 08:38:24 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e844db03

sys-apps/sysvinit: Bump to version 2.94_beta

Package-Manager: Portage-2.3.61, Repoman-2.3.12
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 sys-apps/sysvinit/Manifest                         |   1 +
 .../files/sysvinit-2.94_beta-shutdown-single.patch |  39 +++++++
 sys-apps/sysvinit/sysvinit-2.94_beta.ebuild        | 128 +++++++++++++++++++++
 3 files changed, 168 insertions(+)

diff --git a/sys-apps/sysvinit/Manifest b/sys-apps/sysvinit/Manifest
index 7b91e7557d4..93b32e5f002 100644
--- a/sys-apps/sysvinit/Manifest
+++ b/sys-apps/sysvinit/Manifest
@@ -1,2 +1,3 @@
 DIST sysvinit-2.91.tar.xz 114412 BLAKE2B 
5e044f589f5001c2b5a30eda76bf5c24bb2a7e0d308b7027d54031848407e6b7667b59096044eb186a7f6a862521d4a670c05a17dcc929d07da6515058949606
 SHA512 
8dcf6de79b03567c300ef5f2b7dd211895745e231510d730092085a15f61f06f28cee7c504b0b022bdcb4b4e903f44946537d4fbb2b5069fb5d29bb099fd45f5
 DIST sysvinit-2.93.tar.xz 117580 BLAKE2B 
2e771b00dbdc73e76df9e78659aaa5e5fcbfda36290a1b5aa20a5a6fe3540c4616f2a235a668de30d33c620e2d2516da303537eda47b83b29b0844ad7aa77df4
 SHA512 
c80d07a674253d15ec6382cfaf792f47486e2e84ab9c913d3c9e03b590cf211177a3a14e168f4d1c9c2e97737221f7ac70a75633d90502837a6d29bdc4c48d72
+DIST sysvinit-2.94-beta.tar.xz 120584 BLAKE2B 
7fe9bdfcdbccd13cb34a0a48da45314f1d960c49380255f99df151717c9228b6f0cdd8362795d5e6145eb483845cfbb5966937853ff826f60f0db57cd121d06c
 SHA512 
f403e352572247d3a9c30f591d0119950b0332c51dd3c5d33f5140f7effb1832b314322dc79bb4f2958ac370c461808651e1f712d67a877ef7f9e21d463abcb1

diff --git a/sys-apps/sysvinit/files/sysvinit-2.94_beta-shutdown-single.patch 
b/sys-apps/sysvinit/files/sysvinit-2.94_beta-shutdown-single.patch
new file mode 100644
index 00000000000..9aa85229eee
--- /dev/null
+++ b/sys-apps/sysvinit/files/sysvinit-2.94_beta-shutdown-single.patch
@@ -0,0 +1,39 @@
+This patch makes shutdown use the Single User runlevel by default so
+the gettys are shutdown too.
+
+Roy Marples <[email protected]>
+
+Forward-ported from v2.86 to v2.94_beta
+Lars Wendler <[email protected]>
+
+--- sysvinit-2.94/man/shutdown.8
++++ sysvinit-2.94/man/shutdown.8
+@@ -44,7 +44,7 @@
+ \fBshutdown\fP does its job by signalling the \fBinit\fP process, 
+ asking it to change the runlevel.
+ Runlevel \fB0\fP is used to halt the system, runlevel \fB6\fP is used
+-to reboot the system, and runlevel \fB1\fP is used to put to system into
++to reboot the system, and runlevel \fBS\fP is used to put to system into
+ a state where administrative tasks can be performed; this is the default
+ if neither the \fI-h\fP or \fI-r\fP flag is given to \fBshutdown\fP.
+ To see which actions are taken on halt or reboot see the appropriate
+--- sysvinit-2.94/src/shutdown.c
++++ sysvinit-2.94/src/shutdown.c
+@@ -547,7 +547,7 @@
+               usage();
+               exit(1);
+       }
+-      strcpy(down_level, "1");
++      strcpy(down_level, "S");
+       halttype = NULL;
+         memset(when, '\0', WHEN_SIZE);
+ 
+@@ -734,6 +734,8 @@
+                       strncpy(newstate, "for reboot", STATELEN);
+                       break;
+               case '1':
++              case 'S':
++              case 's':
+                       strncpy(newstate, "to maintenance mode", STATELEN);
+                       break;
+               default:

diff --git a/sys-apps/sysvinit/sysvinit-2.94_beta.ebuild 
b/sys-apps/sysvinit/sysvinit-2.94_beta.ebuild
new file mode 100644
index 00000000000..c79dc75f1d4
--- /dev/null
+++ b/sys-apps/sysvinit/sysvinit-2.94_beta.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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 ~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.92_beta-shutdown-h.patch" #449354
+)
+
+src_prepare() {
+       default
+       sed -i '/^CPPFLAGS =$/d' src/Makefile || die
+
+       # last/lastb/mesg/mountpoint/sulogin/utmpdump/wall have moved to 
util-linux
+       # logsave is already in e2fsprogs
+       sed -i -r \
+               -e 
'/^(USR)?S?BIN/s:\<(last|lastb|logsave|mesg|mountpoint|sulogin|utmpdump|wall)\>::g'
 \
+               -e 
'/^MAN[18]/s:\<(last|lastb|logsave|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
+
+       # 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
+}

Reply via email to