diff options
author | Mike Frysinger <vapier@gentoo.org> | 2013-05-04 04:57:01 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2013-05-04 04:57:01 +0000 |
commit | af0116b2433cbb1a3e4e5d98aee9b604d21e18fb (patch) | |
tree | cb1b6e0154964f2e0cacaf9c818bdf1c12b6db4e /sys-apps/sysvinit | |
parent | version bump (diff) | |
download | gentoo-2-af0116b2433cbb1a3e4e5d98aee9b604d21e18fb.tar.gz gentoo-2-af0116b2433cbb1a3e4e5d98aee9b604d21e18fb.tar.bz2 gentoo-2-af0116b2433cbb1a3e4e5d98aee9b604d21e18fb.zip |
Make shutdown -h work the same as other inits #449354 by David Weber. Stop installing mesg/wall as util-linux installs them now #468144 by Samuli Suominen.
(Portage version: 2.2.0_alpha170/cvs/Linux x86_64, signed Manifest commit with key FB7C4156)
Diffstat (limited to 'sys-apps/sysvinit')
-rw-r--r-- | sys-apps/sysvinit/ChangeLog | 11 | ||||
-rw-r--r-- | sys-apps/sysvinit/files/sysvinit-2.88-shutdown-h.patch | 65 | ||||
-rw-r--r-- | sys-apps/sysvinit/sysvinit-2.88-r4.ebuild | 4 | ||||
-rw-r--r-- | sys-apps/sysvinit/sysvinit-2.88-r5.ebuild | 99 |
4 files changed, 176 insertions, 3 deletions
diff --git a/sys-apps/sysvinit/ChangeLog b/sys-apps/sysvinit/ChangeLog index 768013764c0d..a709683b1c84 100644 --- a/sys-apps/sysvinit/ChangeLog +++ b/sys-apps/sysvinit/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for sys-apps/sysvinit # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/sysvinit/ChangeLog,v 1.122 2013/04/20 03:51:26 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/sysvinit/ChangeLog,v 1.123 2013/05/04 04:57:00 vapier Exp $ + +*sysvinit-2.88-r5 (04 May 2013) + + 04 May 2013; Mike Frysinger <vapier@gentoo.org> + +files/sysvinit-2.88-shutdown-h.patch, +sysvinit-2.88-r5.ebuild, + sysvinit-2.88-r4.ebuild: + Make shutdown -h work the same as other inits #449354 by David Weber. Stop + installing mesg/wall as util-linux installs them now #468144 by Samuli + Suominen. 20 Apr 2013; Mike Frysinger <vapier@gentoo.org> files/inittab-2.87, sysvinit-2.88-r4.ebuild: diff --git a/sys-apps/sysvinit/files/sysvinit-2.88-shutdown-h.patch b/sys-apps/sysvinit/files/sysvinit-2.88-shutdown-h.patch new file mode 100644 index 000000000000..716999c39c3b --- /dev/null +++ b/sys-apps/sysvinit/files/sysvinit-2.88-shutdown-h.patch @@ -0,0 +1,65 @@ +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.88dsf/man/shutdown.8 ++++ sysvinit-2.88dsf/man/shutdown.8 +@@ -66,16 +66,15 @@ + .\"}}} + .\"{{{ -h + .IP \fB\-h\fP +-Halt or power off after shutdown. ++Equivalent to -P, unless -H is specified. + .\"}}} + .\"{{{ -P + .IP \fB\-P\fP +-Halt action is to turn off the power. ++Action is to power-off the machine. + .\"}}} + .\"{{{ -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 the machine. + .\"}}} + .\"{{{ -f + .IP \fB\-f\fP +--- sysvinit-2.88dsf/src/shutdown.c ++++ sysvinit-2.88dsf/src/shutdown.c +@@ -514,9 +514,11 @@ + switch(c) { + case 'H': + halttype = "HALT"; ++ down_level[0] = '0'; + break; + case 'P': + halttype = "POWERDOWN"; ++ down_level[0] = '0'; + break; + case 'a': /* Access control. */ + useacl = 1; +@@ -532,6 +534,8 @@ + break; + case 'h': /* Halt after shutdown */ + down_level[0] = '0'; ++ if (!halttype) ++ halttype = "POWERDOWN"; + break; + case 'f': /* Don't perform fsck after next boot */ + fastboot = 1; +@@ -565,12 +569,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.88-r4.ebuild b/sys-apps/sysvinit/sysvinit-2.88-r4.ebuild index 727608edaa72..8084fa2d5c43 100644 --- a/sys-apps/sysvinit/sysvinit-2.88-r4.ebuild +++ b/sys-apps/sysvinit/sysvinit-2.88-r4.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/sysvinit/sysvinit-2.88-r4.ebuild,v 1.14 2013/04/20 03:51:26 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/sysvinit/sysvinit-2.88-r4.ebuild,v 1.15 2013/05/04 04:57:00 vapier Exp $ EAPI="4" @@ -16,7 +16,7 @@ KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86" IUSE="selinux ibm static kernel_FreeBSD" RDEPEND="selinux? ( >=sys-libs/libselinux-1.28 ) - !<sys-apps/util-linux-2.22" + !<sys-apps/util-linux-2.23" DEPEND="${RDEPEND} virtual/os-headers" diff --git a/sys-apps/sysvinit/sysvinit-2.88-r5.ebuild b/sys-apps/sysvinit/sysvinit-2.88-r5.ebuild new file mode 100644 index 000000000000..69f5cc9774d6 --- /dev/null +++ b/sys-apps/sysvinit/sysvinit-2.88-r5.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/sysvinit/sysvinit-2.88-r5.ebuild,v 1.1 2013/05/04 04:57:00 vapier Exp $ + +EAPI="4" + +inherit eutils toolchain-funcs flag-o-matic + +DESCRIPTION="/sbin/init - parent of all processes" +HOMEPAGE="http://savannah.nongnu.org/projects/sysvinit" +SRC_URI="mirror://nongnu/${PN}/${P}dsf.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="selinux ibm static kernel_FreeBSD" + +RDEPEND="selinux? ( >=sys-libs/libselinux-1.28 )" +DEPEND="${RDEPEND} + virtual/os-headers" + +S=${WORKDIR}/${P}dsf + +src_prepare() { + epatch "${FILESDIR}"/${PN}-2.86-kexec.patch #80220 + epatch "${FILESDIR}"/${PN}-2.86-shutdown-single.patch #158615 + epatch "${FILESDIR}"/${P}-makefile.patch #319197 + epatch "${FILESDIR}"/${P}-selinux.patch #326697 + epatch "${FILESDIR}"/${P}-shutdown-h.patch #449354 + sed -i '/^CPPFLAGS =$/d' src/Makefile || die + + # mesg/mountpoint/sulogin/utmpdump/wall have moved to util-linux + sed -i -r \ + -e '/^(USR)?S?BIN/s:\<(mesg|mountpoint|sulogin|utmpdump|wall)\>::g' \ + -e '/^MAN[18]/s:\<(mesg|mountpoint|sulogin|utmpdump|wall)[.][18]\>::g' \ + src/Makefile || die + + # Mung inittab for specific architectures + cd "${WORKDIR}" + cp "${FILESDIR}"/inittab-2.87 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 hppa && insert=( 'b0:12345:respawn:/sbin/agetty 9600 ttyB0 vt100' ) + use s390 && insert=( 's0:12345:respawn:/sbin/agetty 38400 console' ) + 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() { + local myconf + + tc-export CC + append-lfs-flags + export DISTRO= #381311 + use static && append-ldflags -static + use selinux && myconf=WITH_SELINUX=yes + emake -C src ${myconf} || die +} + +src_install() { + emake -C src install ROOT="${D}" + dodoc README doc/* + + insinto /etc + doins "${WORKDIR}"/inittab + + doinitd "${FILESDIR}"/{reboot,shutdown}.sh +} + +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 + # Do not return an error if this fails + /sbin/telinit U &>/dev/null + fi +} |