summaryrefslogtreecommitdiff
path: root/sys-process/runit
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sys-process/runit
reinit the tree, so we can have metadata
Diffstat (limited to 'sys-process/runit')
-rw-r--r--sys-process/runit/Manifest18
-rw-r--r--sys-process/runit/files/110
-rw-r--r--sys-process/runit/files/1-2.1.210
-rw-r--r--sys-process/runit/files/26
-rw-r--r--sys-process/runit/files/2-2.1.26
-rw-r--r--sys-process/runit/files/314
-rw-r--r--sys-process/runit/files/3-2.1.214
-rw-r--r--sys-process/runit/files/ctrlaltdel9
-rw-r--r--sys-process/runit/files/finish.getty2
-rw-r--r--sys-process/runit/files/run.getty2
-rw-r--r--sys-process/runit/files/run.getty-2.1.22
-rw-r--r--sys-process/runit/metadata.xml11
-rw-r--r--sys-process/runit/runit-2.1.1-r1.ebuild72
-rw-r--r--sys-process/runit/runit-2.1.2-r1.ebuild155
-rw-r--r--sys-process/runit/runit-2.1.2.ebuild145
15 files changed, 476 insertions, 0 deletions
diff --git a/sys-process/runit/Manifest b/sys-process/runit/Manifest
new file mode 100644
index 000000000000..01d9b5f9475f
--- /dev/null
+++ b/sys-process/runit/Manifest
@@ -0,0 +1,18 @@
+AUX 1 175 SHA256 fd9520369851473556c038b55679dcb1eb1265d1220e8c3cf4aac2dfae4e6594 SHA512 04fa0e61c3db9f85cafea61c77c11da79d6d7a261425874e610821c92ea74d2d79a7ff7c47dacf830faaa007d9d9c7048ade0c19470f7a8fd1c8f80964cdf9d1 WHIRLPOOL f0213863f70305cc0bbde8c99cd7c9ba698863b9f20cdefdca2d9b53e126fcbe2fb095a3c16e7a4920a3254ec8419cbf03a89f57249fdb4afc72d85f797c4889
+AUX 1-2.1.2 183 SHA256 3ba9ed21183fe120a91223820d107c96aad1e4a477da77a5d1fa50f552501b01 SHA512 813b83675fc71522a6469c9c391d87219da43896ecb702a957ad2a9a6f8c4d0d59e4ab784b50de288c7e98efd2a8fd26aa5a1fbb8376f7c24226a97fee49d87a WHIRLPOOL 7becefc2adb87ba7ac8cfa8f20238573ff1b2d4ea81d4a156993bb5629435926d65cc08bef84e891a76c53b051bd461b48f13fd60e4855e854b78829b94ee49b
+AUX 2 551 SHA256 d0cb35c4ecdd5ef9179af22f24cb371eb8f1082ec1af7850237842bd49ccba0f SHA512 0176a59c84e135df2f92546567bbc3b0ad5709734da7cd435bf117c2e4c359098584a7e30c89b7c0fa0fa796c49bbe3f59d52ebd6a510e71004e9415ca4bd89e WHIRLPOOL 93cca0ab872980e1956e177fe638cd712b808f022662869959ef42fc1ea69d32ebd61364658ddcff6617615f6863d3a99dc805ab7077e0b8604159b8ed3b32fd
+AUX 2-2.1.2 554 SHA256 9a03154881c7630ff2ff4f1d74782c19089174f671cc1650208c6d44622536d7 SHA512 d21f6877f459b3c4b93049f6d342e48715ce7b762f6c5d858ad26ada07e66fe6f56ebb095083c7f153091fcb8ef877dc2b7c1738daeeacd6e04c70e3753682a5 WHIRLPOOL 3e148486a95d2b945734651b1317986b78f2285279513800df6ad3e6e2a879ca594a74a1e46216bb18b53e0518b07df55ca43bb9eebb7bb324d6de13d1306e90
+AUX 3 372 SHA256 56b835cb329e71d14523038cd382ad92f77317a2c1bb75e9414bf468fa57f03b SHA512 8511045da385878f2ecc238b68d0c4317b5ac677028393b6ace7d575e0a1bceaf1e6ce639db01501461bcaa7521a5856a4e9a65097babf9a653a4747bddcd553 WHIRLPOOL 5daf16b59a23386103549167b27266225e1e54355d3e7973f7a275439b2eaf295619a3cf8d978125814eb916821edbf44a7d843e5d0d7237f6de0b3870007d4f
+AUX 3-2.1.2 388 SHA256 1c579104b89f7aa9acae9d87f6410c583c4c4646eeda63036b614a5dd3cddf90 SHA512 47256f52367c7f1af5d2b435550e5d4786e056c3a43138fd472d6bc48093a07c36a5e1bdafd4235e0c1299579c100f9d97190424cf2bd114ec29956f3c9991f5 WHIRLPOOL 1260ec48f198d5eab121af59262b013fa33795cf50d4e2fc430c5c141b8bfa890bf7ed0eb78b16dcce077ed040e5bba2f3cb7c13056b514519429b2ea00183e2
+AUX ctrlaltdel 189 SHA256 84eff8b4bd83ebded1689404f5da22a442e82e7f9d5d8df61a1a3032f80b503c SHA512 a0980e1dbcd2c591997e62e3e1b8ab660c36f007d12f6dd3eb6607d286c0056eb96c40b997b2c9569a7e3a6bf9a2a39d8050c31aa09a9c0ba6eb931183049b1b WHIRLPOOL 8e477312206adbc89f00e6df5acc37542dbf300558b58bd580a80f7da868924096583a706ae495b0266b9ed66516e1fa4886a27f91dbbd3afdee885560ca5fdc
+AUX finish.getty 30 SHA256 6c5db3570b4abbc2547ee7923c18879912f197b52883abb08586f529cccd5aa5 SHA512 122a4ab21dbd5e6b77e0225bda48f813ec680c85767fdc917933bd1a88d854b6714809ebd63d0fa6b81c25c5e0a9de224aa920565e8d197556e7d99c5836681d WHIRLPOOL 531628897da4a74a84bd75730a2812eb7338b88bfadb988479705bab02b550c72a7863e07b0149dc8a98e73be03dd6a71f166722d785356ad3499560ae59c1a1
+AUX run.getty 44 SHA256 3b4105965417490496352da0fa36d7e79e8ff27989ce7d33023251654d6c119e SHA512 c23aa0ba79043a5717e5567f39bb714154f68c1e417538013943a65de5584b775c265423dd5d47c52027a1be1621f8fb017b115d75d127a31b2ef7cae3ed9eea WHIRLPOOL 987669e356d167019db08885d9f54f91639b8ede3d449295175e96ecf2ed8c39dc4b88c4f18ae1d66a3279547fd877e08ae8b405b678a211d446645f7592fc06
+AUX run.getty-2.1.2 44 SHA256 3b4105965417490496352da0fa36d7e79e8ff27989ce7d33023251654d6c119e SHA512 c23aa0ba79043a5717e5567f39bb714154f68c1e417538013943a65de5584b775c265423dd5d47c52027a1be1621f8fb017b115d75d127a31b2ef7cae3ed9eea WHIRLPOOL 987669e356d167019db08885d9f54f91639b8ede3d449295175e96ecf2ed8c39dc4b88c4f18ae1d66a3279547fd877e08ae8b405b678a211d446645f7592fc06
+DIST runit-2.1.1.tar.gz 109661 SHA256 ffcf2d27b32f59ac14f2d4b0772a3eb80d9342685a2042b7fbbc472c07cf2a2c SHA512 a927a757386653fdc40437884e3dc2d1dda6aaf5f1919f301fcf604e559836bd44e5fcb296d69e7f4260fd881475124c44996530de4948d35d8a102b206ca470 WHIRLPOOL ff378ace3c4e0829a435eec8a9e40da7df6e0e0b00ad8c821a169d2e88a38aee4608147316eec1cfc2e676780fefb4bab81e56e3fe7be80bbb6bd08656373208
+DIST runit-2.1.2.tar.gz 110916 SHA256 6fd0160cb0cf1207de4e66754b6d39750cff14bb0aa66ab49490992c0c47ba18 SHA512 a18773ebf1aa22305dd89ed67363165b9fcf86c192b2be4e268d08005dd82d51265160c637abe072f2f2e378c4b315a75bd3d3e602c3e75bdd451a3b0190f8cf WHIRLPOOL c70ecafcdd874b08e6bd47a904903eae03884b71eca30306c6eb512fc72ee8c93a5b0badc4a954e248421157e07bf0620789a810901365c2eeac38107cd62747
+EBUILD runit-2.1.1-r1.ebuild 1835 SHA256 65bf6f641683f512041e49ba39fd807c55c1ade9a9a65f75a4bc8cc3d4fec2dd SHA512 6b975f0dc0043cf261715698ceadec51cc73c2ffa28df41fce96f8b015428c582a36e53cb56b26aa174f6901290deaafdd164b90663162fe7d45b203e2af2092 WHIRLPOOL 907f04680f88df0fc0a2e5814a231ec619d86eb5851f5b2dd1a260894ab9d1fe7403e6a89f336ff63bd49c4007f5be402883a9ccea0c31fff3c3510dc27e3f48
+EBUILD runit-2.1.2-r1.ebuild 4120 SHA256 dfb3ac10109281588862f1083c58f7be3b49dd010674c7099049b1a59d077be3 SHA512 706b60ea8c5b820717c6b160d56f15439ade2a7233aeafcaab7110ec05e5116fba417e3e0fee5eac207b12e4e006b1e5c22f7547d53c96c19f4ac7c86a0d874e WHIRLPOOL ad77ec07b00f5be3f6f1104963a13fa48e141be94ffb30f3ed18477fa69511413d8753079c23f22beb3c1b4a69ceb8c3c6c477d8371a93341cc5d54cb01825b5
+EBUILD runit-2.1.2.ebuild 3999 SHA256 458763a66c7dad0606b05fb277b0785d09b9f39ff20b678e38443f963bd346a4 SHA512 8141d2f1916dd602180667a9ac6a2c44ed903e1a8535cb08b8713f2e29e1c10848e84b2d28467213e33307c63622aceadfbdbcc8d1fac58d918642b60171f183 WHIRLPOOL 0c94edbe670cad4515cd6d99594a7ace2b8fd412bebbc31caf29cbaa16e9a5c9db2a0fd51400a95ed98e02fe8e1391ec1ed9c84b8f4b57a395c1d59162f7e689
+MISC ChangeLog 4175 SHA256 7ddff3b363860d2d44243d6e2dd3d77005f88aea4efb1fb05226ecaf316aaf19 SHA512 aa3f302027734b402fe0a62eb6bb7545f7681d9a30d53959c86f782f0270cfcdedd39dbda1dd7eaf1279b656dc173a46e0b397707f35e1184b90d04dc7b04c97 WHIRLPOOL 0ed5ed856a7b7a3a4d74b5a233c84a9f57a7dfbf151bdbe6c65d74307f9cc2c8f6ffb788ed26d99dc2808dbf6a628523bbcbec873158979dd204fa670078293f
+MISC ChangeLog-2015 6397 SHA256 46adc966e1a191b33a90022fe4d85c7da0f5533e52e89f4940378b898aa0c2d5 SHA512 825fe92789e17b5b25039bb8e794959c2e4b235a568b1960b00211620a09fd1ea7c887eb9dd0e03a5aa875b17c128c83fe0ac04d1e5a8312386a546a7e649275 WHIRLPOOL d753b62e0ad4e097cacda1198c4ee7b9e09099ecb313615b6181c980b74062c548feace35ffd4248be177fa01eeb6818e4ffce1cffd5bd8994e6a61355c1ecab
+MISC metadata.xml 330 SHA256 bc5ba13dd202d011c8d7388fe227657b945fa69815292456ec046807ba7ba1eb SHA512 fad9bdd34ed7305ef25a909651d5e37e9b77360a12f60b40d9aa73b890a1ede5676ab1f1be4013b67ffc6f91cc15005a2f5acf54a5b99d22fa762af914b94901 WHIRLPOOL e40540a2640fb470cb2381f5a3cf6ba5054022d604d8e6381da9c50e0b4e65739bde79a83afff137c2ffa0272f877d7f1bc82e391b16c69476cd22f147f334cf
diff --git a/sys-process/runit/files/1 b/sys-process/runit/files/1
new file mode 100644
index 000000000000..d6a5b4f64eeb
--- /dev/null
+++ b/sys-process/runit/files/1
@@ -0,0 +1,10 @@
+#!/bin/sh
+# system one time tasks
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+
+RUNLEVEL=S /sbin/rc sysinit
+RUNLEVEL=S /sbin/rc boot
+
+touch /etc/runit/stopit
+chmod 0 /etc/runit/stopit
diff --git a/sys-process/runit/files/1-2.1.2 b/sys-process/runit/files/1-2.1.2
new file mode 100644
index 000000000000..9761472ac739
--- /dev/null
+++ b/sys-process/runit/files/1-2.1.2
@@ -0,0 +1,10 @@
+#!/bin/sh
+# system one time tasks
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+
+RUNLEVEL=S /sbin/openrc sysinit
+RUNLEVEL=S /sbin/openrc boot
+
+touch /etc/runit/stopit
+chmod 0 /etc/runit/stopit
diff --git a/sys-process/runit/files/2 b/sys-process/runit/files/2
new file mode 100644
index 000000000000..233ad006aac3
--- /dev/null
+++ b/sys-process/runit/files/2
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+PATH=/command:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin
+
+exec env - PATH=$PATH \
+runsvdir /var/service 'log: ...........................................................................................................................................................................................................................................................................................................................................................................................................'
diff --git a/sys-process/runit/files/2-2.1.2 b/sys-process/runit/files/2-2.1.2
new file mode 100644
index 000000000000..a63a1b2d269d
--- /dev/null
+++ b/sys-process/runit/files/2-2.1.2
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+PATH=/command:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin
+
+exec env - PATH=$PATH \
+runsvdir -P /etc/service 'log: ...........................................................................................................................................................................................................................................................................................................................................................................................................'
diff --git a/sys-process/runit/files/3 b/sys-process/runit/files/3
new file mode 100644
index 000000000000..f143f5f46011
--- /dev/null
+++ b/sys-process/runit/files/3
@@ -0,0 +1,14 @@
+#!/bin/sh
+exec >/dev/console 2>&1
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+
+echo 'Waiting for getties to stop...'
+sv shutdown -w 10 /var/service/getty-*
+
+echo 'Waiting for services to stop...'
+sv shutdown -w 300 /var/service/*
+
+echo 'Shutdown...'
+test -x /etc/runit/reboot && LAST=6 || LAST=0
+test -x /etc/runit/reboot && RC=reboot || RC=shutdown
+RUNLEVEL=$LAST /sbin/rc $RC
diff --git a/sys-process/runit/files/3-2.1.2 b/sys-process/runit/files/3-2.1.2
new file mode 100644
index 000000000000..30e602cdae96
--- /dev/null
+++ b/sys-process/runit/files/3-2.1.2
@@ -0,0 +1,14 @@
+#!/bin/sh
+exec >/dev/console 2>&1
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+
+echo 'Waiting for getties to stop...'
+sv -w 10 force-shutdown /etc/service/getty-*
+
+echo 'Waiting for services to stop...'
+sv -w 300 force-shutdown /etc/service/*
+
+echo 'Shutdown...'
+test -x /etc/runit/reboot && LAST=6 || LAST=0
+test -x /etc/runit/reboot && RC=reboot || RC=shutdown
+RUNLEVEL=$LAST /sbin/openrc $RC
diff --git a/sys-process/runit/files/ctrlaltdel b/sys-process/runit/files/ctrlaltdel
new file mode 100644
index 000000000000..668445738dfc
--- /dev/null
+++ b/sys-process/runit/files/ctrlaltdel
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+PATH=/bin:/usr/bin
+MSG="System is going down in 14 seconds..."
+
+# echo 'disabled.' ; exit
+touch /etc/runit/stopit
+chmod 100 /etc/runit/stopit && echo "$MSG" | wall
+/bin/sleep 14
diff --git a/sys-process/runit/files/finish.getty b/sys-process/runit/files/finish.getty
new file mode 100644
index 000000000000..c3d440a85e38
--- /dev/null
+++ b/sys-process/runit/files/finish.getty
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec utmpset -w TTY
diff --git a/sys-process/runit/files/run.getty b/sys-process/runit/files/run.getty
new file mode 100644
index 000000000000..ab6f9543fe97
--- /dev/null
+++ b/sys-process/runit/files/run.getty
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec /sbin/agetty 38400 TTY linux
diff --git a/sys-process/runit/files/run.getty-2.1.2 b/sys-process/runit/files/run.getty-2.1.2
new file mode 100644
index 000000000000..ab6f9543fe97
--- /dev/null
+++ b/sys-process/runit/files/run.getty-2.1.2
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec /sbin/agetty 38400 TTY linux
diff --git a/sys-process/runit/metadata.xml b/sys-process/runit/metadata.xml
new file mode 100644
index 000000000000..7be6dfacc53a
--- /dev/null
+++ b/sys-process/runit/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>williamh@gentoo.org</email>
+</maintainer>
+<maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+</maintainer>
+</pkgmetadata>
diff --git a/sys-process/runit/runit-2.1.1-r1.ebuild b/sys-process/runit/runit-2.1.1-r1.ebuild
new file mode 100644
index 000000000000..806a4a39161a
--- /dev/null
+++ b/sys-process/runit/runit-2.1.1-r1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="3"
+
+inherit toolchain-funcs flag-o-matic
+
+DESCRIPTION="A UNIX init scheme with service supervision"
+HOMEPAGE="http://smarden.org/runit/"
+SRC_URI="http://smarden.org/runit/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86"
+IUSE="static"
+
+S=${WORKDIR}/admin/${P}/src
+
+src_prepare() {
+ # we either build everything or nothing static
+ sed -i -e 's:-static: :' Makefile
+}
+
+src_configure() {
+ use static && append-ldflags -static
+
+ echo "$(tc-getCC) ${CFLAGS}" > conf-cc
+ echo "$(tc-getCC) ${LDFLAGS}" > conf-ld
+}
+
+src_install() {
+ dodir /var
+ keepdir /etc/runit{,/runsvdir{,/default,/all}}
+ dosym default /etc/runit/runsvdir/current
+ dosym ../etc/runit/runsvdir/current /var/service
+ dosym ../etc/runit/2 /sbin/runsvdir-start
+
+ dobin $(<../package/commands) || die "dobin"
+ dodir /sbin
+ mv "${ED}"/usr/bin/{runit-init,runit,utmpset} "${ED}"/sbin/ || die "dosbin"
+
+ cd "${S}"/..
+ dodoc package/{CHANGES,README,THANKS,TODO}
+ dohtml doc/*.html
+ doman man/*.[18]
+
+ exeinto /etc/runit
+ doexe "${FILESDIR}"/{1,2,3,ctrlaltdel} || die
+ for tty in tty1 tty2 tty3 tty4 tty5 tty6; do
+ exeinto /etc/runit/runsvdir/all/getty-$tty/
+ for script in run finish; do
+ newexe "${FILESDIR}"/$script.getty $script
+ dosed "s:TTY:${tty}:g" /etc/runit/runsvdir/all/getty-$tty/$script
+ done
+ dosym ../all/getty-$tty /etc/runit/runsvdir/default/getty-$tty
+ done
+
+ # make sv command work
+ cd "${S}"
+ insinto /etc/env.d
+ cat <<-EOF > env.d
+ #/etc/env.d/20runit
+ SVDIR="/var/service/"
+ EOF
+ newins env.d 20runit
+}
+
+pkg_postinst() {
+ ewarn "/etc/profile was updated. Please run:"
+ ewarn "source /etc/profile"
+ ewarn "to make 'sv' work correctly on your currently open shells"
+}
diff --git a/sys-process/runit/runit-2.1.2-r1.ebuild b/sys-process/runit/runit-2.1.2-r1.ebuild
new file mode 100644
index 000000000000..9a515b6eb8b8
--- /dev/null
+++ b/sys-process/runit/runit-2.1.2-r1.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs flag-o-matic
+
+DESCRIPTION="A UNIX init scheme with service supervision"
+HOMEPAGE="http://smarden.org/runit/"
+SRC_URI="http://smarden.org/runit/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="static"
+
+RDEPEND="sys-apps/openrc"
+
+S=${WORKDIR}/admin/${P}/src
+
+src_prepare() {
+ default
+
+ # we either build everything or nothing static
+ sed -i -e 's:-static: :' Makefile
+
+ # see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=726008
+ [[ ${COMPILER} == "diet" ]] &&
+ use ppc &&
+ filter-flags "-mpowerpc-gpopt"
+}
+
+src_configure() {
+ use static && append-ldflags -static
+
+ echo "$(tc-getCC) ${CFLAGS}" > conf-cc
+ echo "$(tc-getCC) ${LDFLAGS}" > conf-ld
+}
+
+src_install() {
+ into /
+ dobin $(<../package/commands)
+ dodir /sbin
+ mv "${ED}"/bin/{runit-init,runit,utmpset} "${ED}"/sbin/ || die "dosbin"
+ dosym ../etc/runit/2 /sbin/runsvdir-start
+
+ DOCS=( ../package/{CHANGES,README,THANKS,TODO} )
+ HTML_DOCS=( ../doc/*.html )
+ einstalldocs
+ doman ../man/*.[18]
+
+dodir /etc/runit
+ exeinto /etc/runit
+ doexe "${FILESDIR}"/ctrlaltdel
+ newexe "${FILESDIR}"/1-${PV} 1
+ newexe "${FILESDIR}"/2-${PV} 2
+ newexe "${FILESDIR}"/3-${PV} 3
+
+ dodir /etc/sv
+ for tty in tty1 tty2 tty3 tty4 tty5 tty6; do
+ exeinto /etc/sv/getty-$tty/
+ newexe "${FILESDIR}"/finish.getty finish
+ newexe "${FILESDIR}"/run.getty-${PV} run
+ for script in finish run; do
+ sed -i -e "s:TTY:${tty}:g" "${ED}"/etc/sv/getty-$tty/$script
+ done
+ done
+
+ # make sv command work
+ cat <<-EOF > "${T}"/env.d
+ #/etc/env.d/20runit
+ SVDIR="/etc/service/"
+ EOF
+ insinto /etc/env.d
+ newins "${T}"/env.d 20runit
+}
+
+pkg_preinst() {
+ if has_version 'sys-process/runit' &&
+ has_version '<sys-process/runit-2.1.2' &&
+ [ -d "${EROOT}"etc/runit/runsvdir/all ]; then
+ if [ -e "${EROOT}"etc/sv ]; then
+ mv -f "${EROOT}"etc/sv "${EROOT}"etc/sv.bak || die
+ ewarn "${EROOT}etc/sv was moved to ${EROOT}etc/sv.bak"
+ fi
+ mv "${EROOT}"etc/runit/runsvdir/all "${EROOT}"etc/sv|| die
+ ln -sf "${EROOT}"etc/sv "${EROOT}"etc/runit/runsvdir/all || die
+ cp -a "${EROOT}"etc/runit/runsvdir "${T}" || die
+ touch "${T}"/make_var_service || die
+ fi
+}
+
+default_config() {
+ local sv="${EROOT}"etc/sv
+ local service="${EROOT}"etc/service
+ mkdir -p "${service}" || die
+ for x in tty1 tty2 tty3 tty4 tty5 tty6; do
+ ln -sf "${sv}"/getty-$x "${service}"/getty-$x || die
+ done
+ einfo "The links to services runit will supervise are installed"
+ einfo "in $service."
+ einfo "If you need multiple runlevels, please see the documentation"
+ einfo "for how to set them up."
+ einfo
+}
+
+migrate_from_211() {
+ # Create /etc/service and /var/service if requested
+ if [ -e "${T}"/make_var_service ]; then
+ ln -sf "${EROOT}"etc/runit/runsvdir/current "${EROOT}"etc/service || die
+ ln -sf "${EROOT}"etc/runit/runsvdir/current "${EROOT}"var/service || die
+ fi
+ if [ -d "${T}"/runsvdir ]; then
+ cp -a "${T}"/runsvdir "${EROOT}"etc/runit || die
+ fi
+ return 0
+}
+
+pkg_preinst() {
+ if has_version '<sys-process/runit-2.1.2'; then
+ pre_212=yes
+ fi
+}
+
+pkg_postinst() {
+ if [[ -z $REPLACING_VERSIONS ]]; then
+ default_config
+ elif [[ -n $pre_212 ]]; then
+ migrate_from_211
+ fi
+
+ ewarn "To make sure sv works correctly in your currently open"
+ ewarn "shells, please run the following command:"
+ ewarn
+ ewarn "source /etc/profile"
+ ewarn
+
+ if [ -L "${EROOT}"var/service ]; then
+ ewarn "Once this version of runit is active, please remove the"
+ ewarn "compatibility symbolic link at ${EROOT}var/service"
+ ewarn "The correct path now is ${EROOT}etc/service"
+ ewarn
+ fi
+
+ if [ -L "${EROOT}"etc/runit/runsvdir/all ]; then
+ ewarn "${EROOT}etc/runit/runsvdir/all has moved to"
+ iewarn "${EROOT}etc/sv."
+ ewarn "Any symbolic links under ${EROOT}etc/runit/runsvdir"
+ ewarn "which point to services through ../all should be updated to"
+ ewarn "point to them through ${EROOT}etc/sv."
+ ewarn "Once that is done, ${EROOT}etc/runit/runsvdir/all should be"
+ ewarn "removed."
+ ewarn
+ fi
+}
diff --git a/sys-process/runit/runit-2.1.2.ebuild b/sys-process/runit/runit-2.1.2.ebuild
new file mode 100644
index 000000000000..99f58d316c21
--- /dev/null
+++ b/sys-process/runit/runit-2.1.2.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs flag-o-matic versionator
+
+DESCRIPTION="A UNIX init scheme with service supervision"
+HOMEPAGE="http://smarden.org/runit/"
+SRC_URI="http://smarden.org/runit/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="static"
+
+S=${WORKDIR}/admin/${P}/src
+
+src_prepare() {
+ # we either build everything or nothing static
+ sed -i -e 's:-static: :' Makefile
+
+ # see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=726008
+ [[ ${COMPILER} == "diet" ]] &&
+ use ppc &&
+ filter-flags "-mpowerpc-gpopt"
+}
+
+src_configure() {
+ use static && append-ldflags -static
+
+ echo "$(tc-getCC) ${CFLAGS}" > conf-cc
+ echo "$(tc-getCC) ${LDFLAGS}" > conf-ld
+}
+
+src_install() {
+ into /
+ dobin $(<../package/commands)
+ dodir /sbin
+ mv "${ED}"/bin/{runit-init,runit,utmpset} "${ED}"/sbin/ || die "dosbin"
+ dosym ../etc/runit/2 /sbin/runsvdir-start
+ into /usr
+
+ cd ..
+ dodoc package/{CHANGES,README,THANKS,TODO}
+ dohtml doc/*.html
+ doman man/*.[18]
+
+dodir /etc/runit
+ exeinto /etc/runit
+ doexe "${FILESDIR}"/{1,ctrlaltdel}
+ newexe "${FILESDIR}"/2-${PV} 2
+ newexe "${FILESDIR}"/3-${PV} 3
+
+ dodir /etc/sv
+ for tty in tty1 tty2 tty3 tty4 tty5 tty6; do
+ exeinto /etc/sv/getty-$tty/
+ newexe "${FILESDIR}"/finish.getty finish
+ newexe "${FILESDIR}"/run.getty-${PV} run
+ for script in finish run; do
+ sed -i -e "s:TTY:${tty}:g" "${ED}"/etc/sv/getty-$tty/$script
+ done
+ done
+
+ # make sv command work
+ cat <<-EOF > "${T}"/env.d
+ #/etc/env.d/20runit
+ SVDIR="/etc/service/"
+ EOF
+ insinto /etc/env.d
+ newins "${T}"/env.d 20runit
+}
+
+pkg_preinst() {
+ if has_version 'sys-process/runit' &&
+ has_version '<sys-process/runit-2.1.2' &&
+ [ -d "${EROOT}"etc/runit/runsvdir/all ]; then
+ if [ -e "${EROOT}"etc/sv ]; then
+ mv -f "${EROOT}"etc/sv "${EROOT}"etc/sv.bak || die
+ ewarn "${EROOT}etc/sv was moved to ${EROOT}etc/sv.bak"
+ fi
+ mv "${EROOT}"etc/runit/runsvdir/all "${EROOT}"etc/sv|| die
+ ln -sf "${EROOT}"etc/sv "${EROOT}"etc/runit/runsvdir/all || die
+ cp -a "${EROOT}"etc/runit/runsvdir "${T}" || die
+ touch "${T}"/make_var_service || die
+ fi
+}
+
+default_config() {
+ local sv="${EROOT}"etc/sv
+ local service="${EROOT}"etc/service
+ mkdir -p "${service}" || die
+ for x in tty1 tty2 tty3 tty4 tty5 tty6; do
+ ln -sf "${sv}"/getty-$x "${service}"/getty-$x || die
+ done
+ einfo "The links to services runit will supervise are installed"
+ einfo "in $service."
+ einfo "If you need multiple runlevels, please see the documentation"
+ einfo "for how to set them up."
+ einfo
+}
+
+migrate_from_211() {
+ # Create /etc/service and /var/service if requested
+ if [ -e "${T}"/make_var_service ]; then
+ ln -sf "${EROOT}"etc/runit/runsvdir/current "${EROOT}"etc/service || die
+ ln -sf "${EROOT}"etc/runit/runsvdir/current "${EROOT}"var/service || die
+ fi
+ if [ -d "${T}"/runsvdir ]; then
+ cp -a "${T}"/runsvdir "${EROOT}"etc/runit || die
+ fi
+ return 0
+}
+
+pkg_postinst() {
+ if [ -z "$REPLACING_VERSIONS" ]; then
+ default_config
+ elif [ ! version_is_at_least 2.1.2 $REPLACING_VERSIONS ]; then
+ migrate_from_211
+ fi
+
+ ewarn "To make sure sv works correctly in your currently open"
+ ewarn "shells, please run the following command:"
+ ewarn
+ ewarn "source /etc/profile"
+ ewarn
+
+ if [ -L "${EROOT}"var/service ]; then
+ ewarn "Once this version of runit is active, please remove the"
+ ewarn "compatibility symbolic link at ${EROOT}var/service"
+ ewarn "The correct path now is ${EROOT}etc/service"
+ ewarn
+ fi
+
+ if [ -L "${EROOT}"etc/runit/runsvdir/all ]; then
+ ewarn "${EROOT}etc/runit/runsvdir/all has moved to"
+ iewarn "${EROOT}etc/sv."
+ ewarn "Any symbolic links under ${EROOT}etc/runit/runsvdir"
+ ewarn "which point to services through ../all should be updated to"
+ ewarn "point to them through ${EROOT}etc/sv."
+ ewarn "Once that is done, ${EROOT}etc/runit/runsvdir/all should be"
+ ewarn "removed."
+ ewarn
+ fi
+}