diff options
author | 2013-05-04 04:57:12 +0000 | |
---|---|---|
committer | 2013-05-04 04:57:12 +0000 | |
commit | 11ea3ffad1bc184c46ab36714ac922d0a6c245e4 (patch) | |
tree | 05096e708a34f63cdba31c6c45dea06b70b3b8ba /sys-apps/sysvinit/sysvinit-2.88-r5.ebuild | |
parent | version bump (diff) | |
download | historical-11ea3ffad1bc184c46ab36714ac922d0a6c245e4.tar.gz historical-11ea3ffad1bc184c46ab36714ac922d0a6c245e4.tar.bz2 historical-11ea3ffad1bc184c46ab36714ac922d0a6c245e4.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.
Package-Manager: portage-2.2.0_alpha170/cvs/Linux x86_64
Manifest-Sign-Key: 0xFB7C4156
Diffstat (limited to 'sys-apps/sysvinit/sysvinit-2.88-r5.ebuild')
-rw-r--r-- | sys-apps/sysvinit/sysvinit-2.88-r5.ebuild | 99 |
1 files changed, 99 insertions, 0 deletions
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 +} |