openrc: unfork, it is not worth keeping a fork to change the boot message, let's be proud of gentoo

This commit is contained in:
Zero_Chaos 2015-07-06 04:56:17 +00:00
parent 3d5159f7b5
commit 9d51100cd1
10 changed files with 0 additions and 1867 deletions

View file

@ -1,14 +0,0 @@
AUX einfo.patch 556 SHA256 3f92dc634f9d86a8d7e3ac3e3fd90e5fd7c5f22a2ade8121323d77d980b097fb SHA512 90710633ecd0486e4949991f9c6026d168014a71871af33fa30d644d94754f9fee28596117af4d12e6978e1c77ce1fd89d3edc8fe68c5d077f3061c31866f27b WHIRLPOOL c2157dec737c44425d37c3bba39790d4315f3385141d35ea15eb4a5984e8b403c10c7d1db2ac1034770ff88c90823ca5ec12685ac44adf009a340883b6e1d799
AUX nfs-fix.patch 498 SHA256 b4a622779fc96510b93527d2c2dec2e4383411ab6715fdbb8660de943e6bf56e SHA512 84519e2d64347e5e82e1871e113cda07f8880ef2d14b9bcacb3b24aedecbf5eebf8ed3a93978e83a602f1f0d86bbe76604ba62ccc9700f6ed539512a8b76036d WHIRLPOOL 625cdd824c542e282af93c5985e96ff503ce60bde788173cb7e90a8a3f218cfbc1ea790b2e515cbb2b961d335d432dab8d40e01387acde801d844419140cc23b
AUX openrc.logrotate 71 SHA256 0b44210db9770588bd491cd6c0ac9412d99124c6be4c9d3f7d31ec8746072f5c SHA512 690612fddfb2c4cf8f6b5ba7239b9faf29eb3d9b152ab4dcf62694aa2852780440d08cee56d98a9597607f446b3697c911269562821a8402bb5747cbbae34bd9 WHIRLPOOL 8678c51583c77a4985760e4ea2082e7214f28b68cad460b362d683db71067cf6031e1f3275e83ac7959b0973cdafd0a4102525fe7b0d975798ec2182d1fd2769
AUX start-stop-daemon.pam 63 SHA256 2681da17e4a122656b5303b7c7eca82b8fb182641290b153fdbe96b63638086d SHA512 85cf440611b8f87f51bf24bdd9fa03639a75b950f00096d81b8826c21ae85ff9784b8c56b8ddb482e70f08bce933d4561b30750346d51fb2cef3be34acc065cb WHIRLPOOL 4abc9f051155a62d3033258a06003a4ca3909d8104deca84d5c1605bc1c7e56167fd82b2b4b72fe7b707070de98a7628730de1ad3f14b924b5b1480fba5ef854
DIST openrc-0.11.8.tar.bz2 174860 SHA256 e1f7c5ed98a63178c20f3d023a7d35fe416e8e7db2f0cf78ff346a6d2f7949a9 SHA512 aaea9f1e1d08c367beb6d35bcc1d258eb9d7b71a659c05088f9027b0558aae068b2ad7c221cf8ff8b8950f5a4a5c187ee7b986ce2d475a9e3cccda74d040f780 WHIRLPOOL 69217f13dd05e9a443d906281ada167d6892615eb5db7c372ba535a3d4a21ac3111fad9d54ef06650c3b488b848180bbfe5257dbc83f62f5ecf60724dec2900c
DIST openrc-0.12.4.tar.bz2 131914 SHA256 c4edda2fff4b613f50b9cc265bb457a9ab0170fbc1fe7c26eccd4a5d63b2625c SHA512 14e188e382dfe02037d3e4211fa3265152d5ec92ca491b1e86154c0615583ddfc0a2592ca849ab453068dd60000886e57e7da024036fa58d7474acdbb6b92208 WHIRLPOOL 7bdc2c310ee6e87a439574f377a3c1541a118b4122d098d727f6d4464e9f645e5a4d40bedfc82f401b53e640e78494f74fac94f9b6813eb202cc18d1c5391280
DIST openrc-0.13.11.tar.bz2 150680 SHA256 30edffa8b39d5e68129ddd9e8cd8dfde8ca8cfafc8b470124d7323a32a4a443c SHA512 1dd9d86f5f2f13e196d2724b978c0aaabf7a73c487bf2f8f759d82c856faa754b612d5252dacedb042ba308ff7e9a745dea88b78654a693c39f5d720f0f92ada WHIRLPOOL 2849260c60811e88467b2d0916afa37bc4c7a6e2159abf70a2f5bad2cf97586b801993f45ed86145dfecbc93166298c6302a78602bbfe1957d2f159a3cde11dc
DIST openrc-0.13.8.tar.bz2 151248 SHA256 317c2c59412eafd2d991369711cd520097b5526af7c78149352846643ea4416f SHA512 7e519c1e57fe273a2c9816b3f9153a498b5b38e2370c6a5ecb1251ea7a6a4bdd82f5ed3a4a5eb491f434227278d4e3fd47f71401ede866e9fdce50ea9ee510ac WHIRLPOOL 3700e993f3d17ce2e8f2cfe86278aac21edf090b5d3f1f692cfa27c5650ab8313b82b6224c37f0bda434dad4aecfeb463472aa6102d67bd4aa7076cf08057307
DIST openrc-0.13.9.tar.bz2 151021 SHA256 2ce932dfcbaf0ddf5fd79eb9ff75efe3bc9ce5ae76e15155f8418c1aa62756a1 SHA512 5a0da10ad6d8ad53474ec60fa7ded9f4cd3f49c895148c44382f7adf1689271b70959b40f312721b636f60316cbdf3fa42126a0958c8e84e21d23b3e4da27587 WHIRLPOOL e7454605c7588db0282d19cb7d2451cfe73815a7d3e39fb73a571c31495efdfdd21915abb1031b2e8a16df8dac93ef14c3e8e96a9935f74b0df13a30d10c7bd1
EBUILD openrc-0.11.8.ebuild 16389 SHA256 bae8b70ca099671caf2f2106e54e29f995eea6d46f0d6fb4953da8e94872e722 SHA512 936cbe9061caf31922746e935a985272814389ae1a27feb1506f939e1d29eb6fbb822f10d3dc8e9fd387364c5d2b3a6093ded5755ea8ee89e191770e99a26806 WHIRLPOOL 00e2025b8c4fd625160f1cc5f2c0e39fc1fdbf881e6b3cd555595dc167de10add5fdd888364c90b0d530513e91e34e8b6ee5d02cf7f606bba071c21e9b478be6
EBUILD openrc-0.12.4.ebuild 10542 SHA256 de1641634251371177852dac76bd534673adfa3d76bd01e15cb0e01ba997c892 SHA512 ca5d5a1751dcd4542670d44379b7d91d0b6fd52cebf1ae1c23f034391f5878e137819e979dfdb7f322db3e327b64c3265e5e208cde3be551e1e023a137589044 WHIRLPOOL bd11a28f5963681a2911f87bd9a47d1377d37b31b9b1f96cfb679fe66941ee657b7bf2d11b3f8bc363723e45e6610ff78636d510aaddb10e6a3b91e23fa01732
EBUILD openrc-0.13.11.ebuild 10777 SHA256 e21c52751f97d39153975d1ae546562a89962e201dc6b4ca266b9a06f2199811 SHA512 cbe478a1d87aac395522be2456cae987721c1f09782d7d13236f6b881d63ca8f4bd4af2ce60de45b53a7bb962a871c9705dacfd77db80305807f763f45bb9e97 WHIRLPOOL bb21647fbbe46d1a89a894f448f2159ed519a2ad3e989efd1f1ba9ebca9f727486c5ebe65cbac00f203313ab84357bd14b464415453a265ad9fbddf025436db1
EBUILD openrc-0.13.8.ebuild 10874 SHA256 c7b8673f82c81e40b3801cfd9a18f1cb9a51ebcc3f77791eb751acf26c837490 SHA512 c802a4b46f9544374cd20375018f8c7f7fca9c3be8e57d62d47dba21a174db96475e9c647a177d6bc9e6aa7e0635c6d6450bb1565e1498ed8179bfa1f6efaac1 WHIRLPOOL 18352704735f7a097c529771460320dd5c3cdd860eeeaeb49b59d9bf6250ba77a065ee46f750e20c50cf3270a25438da7616f213f5a699e9b312154486fce9b9
EBUILD openrc-0.13.9.ebuild 10806 SHA256 2aba4c852c74b34c145bc50596042cd1782deb3f83425eb5bc00a0187f8c20c0 SHA512 6a6e81cf4f47f8335c0422b280081f73224ab0c890606a72728667d7ac3db1cef2bafaa4a66009c6a0c46fa091da279b2315ef9492ff7dfb3e69d2214bc722d1 WHIRLPOOL 6df55cf2e4a81aa09f2c353aa69a39f9ceab9494e1c056dad7924038c92156780773065064a8615ebc0f67b165becd68410856df73800e851aeb51a0d94582f0

View file

@ -1,13 +0,0 @@
diff --git a/src/rc/rc-update.c b/src/rc/rc-update.c
index 273f7ef..8885637 100644
--- a/src/rc/rc-update.c
+++ b/src/rc/rc-update.c
@@ -62,7 +62,7 @@ add(const char *runlevel, const char *service)
eerror("%s: service `%s' does not exist",
applet, service);
} else if (rc_service_in_runlevel(service, runlevel)) {
- ewarn("%s: %s already installed in runlevel `%s'; skipping",
+ einfo("%s: %s already installed in runlevel `%s'; skipping",
applet, service, runlevel);
retval = 0;
} else if (rc_service_add(runlevel, service)) {

View file

@ -1,16 +0,0 @@
diff -Naur openrc-0.13.8/init.d/netmount.in openrc-0.13.8-nfs/init.d/netmount.in
--- openrc-0.13.8/init.d/netmount.in 2015-01-18 10:45:32.000000000 -0500
+++ openrc-0.13.8-nfs/init.d/netmount.in 2015-01-27 11:15:57.356987463 -0500
@@ -6,7 +6,12 @@
depend()
{
+ local opts myneed=""
+ if [ -e /etc/fstab ] ; then
+ fstabinfo -t nfs,nfs4 -q && myneed="$myneed nfsclient"
+ fi
config /etc/fstab
+ need $myneed
use afc-client amd autofs openvpn
use dns
keyword -jail -prefix -vserver -lxc

View file

@ -1,7 +0,0 @@
/var/log/rc.log {
compress
rotate 4
weekly
missingok
notifempty
}

View file

@ -1,2 +0,0 @@
account required pam_permit.so
session include system-services

View file

@ -1,488 +0,0 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/openrc-0.11.8.ebuild,v 1.13 2013/08/11 06:56:36 ssuominen Exp $
EAPI=4
inherit eutils flag-o-matic multilib pam toolchain-funcs
DESCRIPTION="OpenRC manages the services, startup and shutdown of a host"
HOMEPAGE="http://www.gentoo.org/proj/en/base/openrc/"
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="git://git.overlays.gentoo.org/proj/${PN}.git"
inherit git-2
else
SRC_URI="http://dev.gentoo.org/~williamh/dist/${P}.tar.bz2"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
fi
LICENSE="BSD-2"
SLOT="0"
IUSE="debug elibc_glibc ncurses pam pentoo newnet prefix selinux static-libs unicode
kernel_linux kernel_FreeBSD"
COMMON_DEPEND=">=sys-apps/baselayout-2.1-r1
kernel_FreeBSD? ( || ( >=sys-freebsd/freebsd-ubin-9.0_rc sys-process/fuser-bsd ) )
elibc_glibc? ( >=sys-libs/glibc-2.5 )
pam? ( sys-auth/pambase )
kernel_linux? (
sys-process/psmisc
)
selinux? ( sec-policy/selinux-openrc )
!<sys-fs/udev-init-scripts-17
!<sys-fs/udev-133"
DEPEND="${COMMON_DEPEND}
ncurses? ( sys-libs/ncurses[-tinfo] )
virtual/os-headers"
RDEPEND="${COMMON_DEPEND}
!prefix? (
kernel_linux? ( || ( >=sys-apps/sysvinit-2.86-r6 sys-process/runit ) )
kernel_FreeBSD? ( sys-freebsd/freebsd-sbin )
)
ncurses? ( sys-libs/ncurses )"
src_prepare() {
sed -i 's:0444:0644:' mk/sys.mk || die
sed -i "/^DIR/s:/openrc:/${PF}:" doc/Makefile || die #241342
if [[ ${PV} == "9999" ]] ; then
local ver="git-${EGIT_VERSION:0:6}"
sed -i "/^GITVER[[:space:]]*=/s:=.*:=${ver}:" mk/git.mk || die
fi
# Allow user patches to be applied without modifying the ebuild
epatch_user
}
src_compile() {
unset LIBDIR #266688
MAKE_ARGS="${MAKE_ARGS}
LIBNAME=$(get_libdir)
LIBEXECDIR=${EPREFIX}/$(get_libdir)/rc"
local brand="Unknown"
if use kernel_linux ; then
MAKE_ARGS="${MAKE_ARGS} OS=Linux"
brand="Linux"
elif use kernel_FreeBSD ; then
MAKE_ARGS="${MAKE_ARGS} OS=FreeBSD"
brand="FreeBSD"
fi
if use selinux; then
MAKE_ARGS="${MAKE_ARGS} MKSELINUX=yes"
fi
if use pentoo ; then
export BRANDING="Pentoo ${brand}"
else
export BRANDING="Gentoo ${brand}"
fi
if ! use static-libs; then
MAKE_ARGS="${MAKE_ARGS} MKSTATICLIBS=no"
fi
use newnet || MAKE_ARGS="${MAKE_ARGS} MKNET=oldnet"
use prefix && MAKE_ARGS="${MAKE_ARGS} MKPREFIX=yes PREFIX=${EPREFIX}"
export DEBUG=$(usev debug)
export MKPAM=$(usev pam)
export MKTERMCAP=$(usev ncurses)
tc-export CC AR RANLIB
emake ${MAKE_ARGS}
}
# set_config <file> <option name> <yes value> <no value> test
# a value of "#" will just comment out the option
set_config() {
local file="${ED}/$1" var=$2 val com
eval "${@:5}" && val=$3 || val=$4
[[ ${val} == "#" ]] && com="#" && val='\2'
sed -i -r -e "/^#?${var}=/{s:=([\"'])?([^ ]*)\1?:=\1${val}\1:;s:^#?:${com}:}" "${file}"
}
set_config_yes_no() {
set_config "$1" "$2" YES NO "${@:3}"
}
src_install() {
emake ${MAKE_ARGS} DESTDIR="${D}" install
# move the shared libs back to /usr so ldscript can install
# more of a minimal set of files
# disabled for now due to #270646
#mv "${ED}"/$(get_libdir)/lib{einfo,rc}* "${ED}"/usr/$(get_libdir)/ || die
#gen_usr_ldscript -a einfo rc
gen_usr_ldscript libeinfo.so
gen_usr_ldscript librc.so
if ! use kernel_linux; then
keepdir /$(get_libdir)/rc/init.d
fi
keepdir /$(get_libdir)/rc/tmp
# Backup our default runlevels
dodir /usr/share/"${PN}"
cp -PR "${ED}"/etc/runlevels "${ED}"/usr/share/${PN} || die
rm -rf "${ED}"/etc/runlevels
# Install the default net configuration
doconfd conf.d/net
# Setup unicode defaults for silly unicode users
set_config_yes_no /etc/rc.conf unicode use unicode
# Cater to the norm
set_config_yes_no /etc/conf.d/keymaps windowkeys '(' use x86 '||' use amd64 ')'
# On HPPA, do not run consolefont by default (bug #222889)
if use hppa; then
rm -f "${ED}"/usr/share/openrc/runlevels/boot/consolefont
fi
# Support for logfile rotation
insinto /etc/logrotate.d
newins "${FILESDIR}"/openrc.logrotate openrc
# install the gentoo pam.d file
newpamd "${FILESDIR}"/start-stop-daemon.pam start-stop-daemon
}
add_boot_init() {
local initd=$1
local runlevel=${2:-boot}
# if the initscript is not going to be installed and is not
# currently installed, return
[[ -e "${ED}"/etc/init.d/${initd} || -e "${EROOT}"etc/init.d/${initd} ]] \
|| return
[[ -e "${EROOT}"etc/runlevels/${runlevel}/${initd} ]] && return
# if runlevels dont exist just yet, then create it but still flag
# to pkg_postinst that it needs real setup #277323
if [[ ! -d "${EROOT}"etc/runlevels/${runlevel} ]] ; then
mkdir -p "${EROOT}"etc/runlevels/${runlevel}
touch "${EROOT}"etc/runlevels/.add_boot_init.created
fi
elog "Auto-adding '${initd}' service to your ${runlevel} runlevel"
ln -snf /etc/init.d/${initd} "${EROOT}"etc/runlevels/${runlevel}/${initd}
}
add_boot_init_mit_config() {
local config=$1 initd=$2
if [[ -e ${EROOT}${config} ]] ; then
if [[ -n $(sed -e 's:#.*::' -e '/^[[:space:]]*$/d' "${EROOT}"${config}) ]] ; then
add_boot_init ${initd}
fi
fi
}
pkg_preinst() {
local f LIBDIR=$(get_libdir)
# default net script is just comments, so no point in biting people
# in the ass by accident. we save in preinst so that the package
# manager doesnt go throwing etc-update crap at us -- postinst is
# too late to prevent that. this behavior also lets us keep the
# file in the CONTENTS for binary packages.
[[ -e "${EROOT}"etc/conf.d/net ]] && \
cp "${EROOT}"etc/conf.d/net "${ED}"/etc/conf.d/
# avoid default thrashing in conf.d files when possible #295406
if [[ -e "${EROOT}"etc/conf.d/hostname ]] ; then
(
unset hostname HOSTNAME
source "${EROOT}"etc/conf.d/hostname
: ${hostname:=${HOSTNAME}}
[[ -n ${hostname} ]] && set_config /etc/conf.d/hostname hostname "${hostname}"
)
fi
# upgrade timezone file ... do it before moving clock
if [[ -e ${EROOT}etc/conf.d/clock && ! -e ${EROOT}/etc/timezone ]] ; then
(
unset TIMEZONE
source "${EROOT}"etc/conf.d/clock
[[ -n ${TIMEZONE} ]] && echo "${TIMEZONE}" > "${EROOT}"etc/timezone
)
fi
# /etc/conf.d/clock moved to /etc/conf.d/hwclock
local clock
use kernel_FreeBSD && clock="adjkerntz" || clock="hwclock"
if [[ -e "${EROOT}"etc/conf.d/clock ]] ; then
mv "${EROOT}"etc/conf.d/clock "${EROOT}"etc/conf.d/${clock}
fi
if [[ -e "${EROOT}"etc/init.d/clock ]] ; then
rm -f "${EROOT}"etc/init.d/clock
fi
if [[ -L "${EROOT}"etc/runlevels/boot/clock ]] ; then
rm -f "${EROOT}"etc/runlevels/boot/clock
ln -snf /etc/init.d/${clock} "${EROOT}"etc/runlevels/boot/${clock}
fi
if [[ -L "${EROOT}"${LIBDIR}/rc/init.d/started/clock ]] ; then
rm -f "${EROOT}"${LIBDIR}/rc/init.d/started/clock
ln -snf /etc/init.d/${clok} "${EROOT}"${LIBDIR}/rc/init.d/started/${clock}
fi
# /etc/conf.d/rc is no longer used for configuration
if [[ -e "${EROOT}"etc/conf.d/rc ]] ; then
elog "/etc/conf.d/rc is no longer used for configuration."
elog "Please migrate your settings to /etc/rc.conf as applicable"
elog "and delete /etc/conf.d/rc"
fi
# force net init.d scripts into symlinks
for f in "${EROOT}"etc/init.d/net.* ; do
[[ -e ${f} ]] || continue # catch net.* not matching anything
[[ ${f} == */net.lo ]] && continue # real file now
[[ ${f} == *.openrc.bak ]] && continue
if [[ ! -L ${f} ]] ; then
elog "Moved net service '${f##*/}' to '${f##*/}.openrc.bak' to force a symlink."
elog "You should delete '${f##*/}.openrc.bak' if you don't need it."
mv "${f}" "${f}.openrc.bak"
ln -snf net.lo "${f}"
fi
done
# termencoding was added in 0.2.1 and needed in boot
has_version ">=sys-apps/openrc-0.2.1" || add_boot_init termencoding
# swapfiles was added in 0.9.9 and needed in boot (february 2012)
has_version ">=sys-apps/openrc-0.9.9" || add_boot_init swapfiles
if ! has_version ">=sys-apps/openrc-0.11"; then
add_boot_init sysfs sysinit
fi
# set default interactive shell to sulogin if it exists
set_config /etc/rc.conf rc_shell /sbin/sulogin "#" test -e /sbin/sulogin
has_version sys-apps/openrc || migrate_from_baselayout_1
has_version ">=sys-apps/openrc-0.4.0" || migrate_udev_init_script
if ! has_version ">=sys-apps/openrc-0.11.3" ; then
migrate_udev_mount_script
add_boot_init tmpfiles.setup boot
fi
}
# >=openrc-0.4.0 no longer loads the udev addon
migrate_udev_init_script() {
# make sure udev is in sysinit if it was enabled before
local enable_udev=false
local rc_devices=$(
[[ -f /etc/rc.conf ]] && source /etc/rc.conf
[[ -f /etc/conf.d/rc ]] && source /etc/conf.d/rc
echo "${rc_devices:-${RC_DEVICES:-auto}}"
)
case ${rc_devices} in
udev|auto)
enable_udev=true
;;
esac
if $enable_udev; then
add_boot_init udev sysinit
add_boot_init udev-postmount default
fi
}
# >=OpenRC-0.11.3 requires udev-mount to be in the sysinit runlevel with udev.
migrate_udev_mount_script() {
if [ -e "${EROOT}"etc/runlevels/sysinit/udev -a \
! -e "${EROOT}"etc/runlevels/sysinit/udev-mount ]; then
add_boot_init udev-mount sysinit
fi
return 0
}
migrate_from_baselayout_1() {
# baselayout boot init scripts have been split out
for f in $(cd "${ED}"/usr/share/${PN}/runlevels/boot || exit; echo *) ; do
# baselayout-1 is always "old" net, so ignore "new" net
[[ ${f} == "network" ]] && continue
add_boot_init ${f}
done
# Try to auto-add some addons when possible
add_boot_init_mit_config /etc/conf.d/cryptfs dmcrypt
add_boot_init_mit_config /etc/conf.d/dmcrypt dmcrypt
add_boot_init_mit_config /etc/mdadm.conf mdraid
add_boot_init_mit_config /etc/evms.conf evms
[[ -e "${EROOT}"sbin/dmsetup ]] && add_boot_init device-mapper
[[ -e "${EROOT}"sbin/vgscan ]] && add_boot_init lvm
elog "Add on services (such as RAID/dmcrypt/LVM/etc...) are now stand alone"
elog "init.d scripts. If you use such a thing, make sure you have the"
elog "required init.d scripts added to your boot runlevel."
# Upgrade our state for baselayout-1 users
if [[ ! -e "${EROOT}"${LIBDIR}/rc/init.d/started ]] ; then
(
[[ -e "${EROOT}"etc/conf.d/rc ]] && source "${EROOT}"/etc/conf.d/rc
svcdir=${svcdir:-/var/lib/init.d}
if [[ ! -d "${EROOT}"${svcdir}/started ]] ; then
ewarn "No state found, and no state exists"
elog "You should reboot this host"
else
mkdir -p "${EROOT}"${LIBDIR}/rc/init.d
einfo "Moving state from ${EROOT}${svcdir} to ${EROOT}${LIBDIR}/rc/init.d"
mv "${EROOT}${svcdir}"/* "${EROOT}${LIBDIR}"/rc/init.d
rm -rf "${EROOT}${LIBDIR}"/rc/init.d/daemons \
"${EROOT}${LIBDIR}"/rc/init.d/console
umount "${EROOT}${svcdir}" 2>/dev/null
rm -rf "${EROOT}${svcdir}"
fi
)
fi
# Handle the /etc/modules.autoload.d -> /etc/conf.d/modules transition
if [[ -d "${EROOT}"etc/modules.autoload.d ]] ; then
elog "Converting your /etc/modules.autoload.d/ files to /etc/conf.d/modules"
rm -f "${EROOT}"etc/modules.autoload.d/.keep*
rmdir "${EROOT}"etc/modules.autoload.d 2>/dev/null
if [[ -d "${EROOT}"etc/modules.autoload.d ]] ; then
local f v
for f in "${EROOT}"etc/modules.autoload.d/* ; do
v=${f##*/}
v=${v#kernel-}
v=${v//[^[:alnum:]]/_}
gawk -v v="${v}" -v f="${f##*/}" '
BEGIN { print "\n### START: Auto-converted from " f "\n" }
{
if ($0 ~ /^[^#]/) {
print "modules_" v "=\"${modules_" v "} " $1 "\""
gsub(/[^[:alnum:]]/, "_", $1)
printf "module_" $1 "_args_" v "=\""
for (i = 2; i <= NF; ++i) {
if (i > 2)
printf " "
printf $i
}
print "\"\n"
} else
print
}
END { print "\n### END: Auto-converted from " f "\n" }
' "${f}" >> "${ED}"/etc/conf.d/modules
done
rm -f "${f}"
rmdir "${EROOT}"etc/modules.autoload.d 2>/dev/null
fi
fi
}
pkg_postinst() {
local LIBDIR=$(get_libdir)
# Remove old baselayout links
rm -f "${EROOT}"etc/runlevels/boot/{check{fs,root},rmnologin}
rm -f "${EROOT}"etc/init.d/{depscan,runscript}.sh
# Make our runlevels if they don't exist
if [[ ! -e "${EROOT}"etc/runlevels ]] || [[ -e "${EROOT}"etc/runlevels/.add_boot_init.created ]] ; then
einfo "Copying across default runlevels"
cp -RPp "${EROOT}"usr/share/${PN}/runlevels "${EROOT}"etc
rm -f "${EROOT}"etc/runlevels/.add_boot_init.created
else
if [[ ! -e "${EROOT}"etc/runlevels/sysinit/devfs ]] ; then
mkdir -p "${EROOT}"etc/runlevels/sysinit
cp -RPp "${EROOT}"usr/share/${PN}/runlevels/sysinit/* \
"${EROOT}"etc/runlevels/sysinit
fi
if [[ ! -e "${EROOT}"etc/runlevels/shutdown/mount-ro ]] ; then
mkdir -p "${EROOT}"etc/runlevels/shutdown
cp -RPp "${EROOT}"usr/share/${PN}/runlevels/shutdown/* \
"${EROOT}"etc/runlevels/shutdown
fi
fi
# /etc/conf.d/net.example is no longer valid
local NET_EXAMPLE="${EROOT}etc/conf.d/net.example"
local NET_MD5='8ebebfa07441d39eb54feae0ee4c8210'
if [[ -e "${NET_EXAMPLE}" ]] ; then
if [[ $(md5sum "${NET_EXAMPLE}") == ${NET_MD5}* ]]; then
rm -f "${NET_EXAMPLE}"
elog "${NET_EXAMPLE} has been removed."
else
sed -i '1i# This file is obsolete.\n' "${NET_EXAMPLE}"
elog "${NET_EXAMPLE} should be removed."
fi
elog "The new file is ${EROOT}usr/share/doc/${PF}/net.example"
fi
# /etc/conf.d/wireless.example is no longer valid
local WIRELESS_EXAMPLE="${EROOT}etc/conf.d/wireless.example"
local WIRELESS_MD5='d1fad7da940bf263c76af4d2082124a3'
if [[ -e "${WIRELESS_EXAMPLE}" ]] ; then
if [[ $(md5sum "${WIRELESS_EXAMPLE}") == ${WIRELESS_MD5}* ]]; then
rm -f "${WIRELESS_EXAMPLE}"
elog "${WIRELESS_EXAMPLE} is deprecated and has been removed."
else
sed -i '1i# This file is obsolete.\n' "${WIRELESS_EXAMPLE}"
elog "${WIRELESS_EXAMPLE} is deprecated and should be removed."
fi
elog "If you are using the old style network scripts,"
elog "Configure wireless settings in ${EROOT}etc/conf.d/net"
elog "after reviewing ${EROOT}usr/share/doc/${PF}/net.example"
fi
if [[ -d "${EROOT}"etc/modules.autoload.d ]] ; then
ewarn "/etc/modules.autoload.d is no longer used. Please convert"
ewarn "your files to /etc/conf.d/modules and delete the directory."
fi
if use hppa; then
elog "Setting the console font does not work on all HPPA consoles."
elog "You can still enable it by running:"
elog "# rc-update add consolefont boot"
fi
# Handle the conf.d/local.{start,stop} -> local.d transition
if path_exists -o "${EROOT}"etc/conf.d/local.{start,stop} ; then
elog "Moving your ${EROOT}etc/conf.d/local.{start,stop}"
elog "files to ${EROOT}etc/local.d"
mv "${EROOT}"etc/conf.d/local.start "${EROOT}"etc/local.d/baselayout1.start
mv "${EROOT}"etc/conf.d/local.stop "${EROOT}"etc/local.d/baselayout1.stop
chmod +x "${EROOT}"etc/local.d/*{start,stop}
fi
if use kernel_linux && [[ "${EROOT}" = "/" ]]; then
/$(get_libdir)/rc/sh/migrate-to-run.sh
fi
# update the dependency tree after touching all files #224171
[[ "${EROOT}" = "/" ]] && "${EROOT}/${LIBDIR}"/rc/bin/rc-depend -u
if use newnet; then
local netscript=network
else
local netscript=net.lo
fi
if [ ! -e "${EROOT}"etc/runlevels/boot/${netscript} ]; then
ewarn "Please add the $netscript script to your boot runlevel"
ewarn "as soon as possible. Not doing so could leave you with a system"
ewarn "without networking."
fi
ewarn "In this version of OpenRC, the loopback interface no longer"
ewarn "satisfies the net virtual."
ewarn "If you have services now which do not start because of this,"
ewarn "They can be fixed by adding rc_need=\"!net\""
ewarn "to the ${EROOT}etc/conf.d/<servicename> file."
ewarn "You should also file a bug against the service asking that"
ewarn "need net be dropped from the dependencies."
ewarn "The bug you file should block the following tracker:"
ewarn "https://bugs.gentoo.org/show_bug.cgi?id=439092"
ewarn "This version of OpenRC doesn't enable nfs mounts automatically any"
ewarn "longer. In order to mount nfs file systems, you must use the"
ewarn "nfsmount service from the nfs-utils package."
ewarn "See bug https://bugs.gentoo.org/show_bug.cgi?id=427996 for"
ewarn "more information on this."
elog "You should now update all files in /etc, using etc-update"
elog "or equivalent before restarting any services or this host."
elog
elog "Please read the migration guide available at:"
elog "http://www.gentoo.org/doc/en/openrc-migration.xml"
}

View file

@ -1,323 +0,0 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/openrc-0.12.4.ebuild,v 1.4 2013/11/24 14:26:55 pacho Exp $
EAPI=5
inherit eutils flag-o-matic multilib pam toolchain-funcs
DESCRIPTION="OpenRC manages the services, startup and shutdown of a host"
HOMEPAGE="http://www.gentoo.org/proj/en/base/openrc/"
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="git://github.com/OpenRC/${PN}.git"
inherit git-2
else
SRC_URI="http://dev.gentoo.org/~williamh/dist/${P}.tar.bz2"
KEYWORDS="amd64 arm x86"
fi
LICENSE="BSD-2"
SLOT="0"
IUSE="debug elibc_glibc ncurses pam pentoo newnet prefix +netifrc selinux static-libs
tools unicode kernel_linux kernel_FreeBSD"
COMMON_DEPEND=">=sys-apps/baselayout-2.1-r1
kernel_FreeBSD? ( || ( >=sys-freebsd/freebsd-ubin-9.0_rc sys-process/fuser-bsd ) )
elibc_glibc? ( >=sys-libs/glibc-2.5 )
ncurses? ( sys-libs/ncurses )
pam? ( sys-auth/pambase )
tools? ( dev-lang/perl )
kernel_linux? (
sys-process/psmisc
)
selinux? ( sec-policy/selinux-openrc )
!<sys-fs/udev-init-scripts-17
!<sys-fs/udev-133"
DEPEND="${COMMON_DEPEND}
virtual/os-headers
ncurses? ( virtual/pkgconfig )"
RDEPEND="${COMMON_DEPEND}
!prefix? (
kernel_linux? ( || ( >=sys-apps/sysvinit-2.86-r6 sys-process/runit ) )
kernel_FreeBSD? ( sys-freebsd/freebsd-sbin )
)"
PDEPEND="netifrc? ( net-misc/netifrc )"
src_prepare() {
sed -i 's:0444:0644:' mk/sys.mk || die
if [[ ${PV} == "9999" ]] ; then
local ver="git-${EGIT_VERSION:0:6}"
sed -i "/^GITVER[[:space:]]*=/s:=.*:=${ver}:" mk/git.mk || die
fi
epatch "${FILESDIR}"/einfo.patch
# Allow user patches to be applied without modifying the ebuild
epatch_user
}
src_compile() {
unset LIBDIR #266688
MAKE_ARGS="${MAKE_ARGS}
LIBNAME=$(get_libdir)
LIBEXECDIR=${EPREFIX}/$(get_libdir)/rc
MKSELINUX=$(usex selinux)
MKSTATICLIBS=$(usex static-libs)
MKTOOLS=$(usex tools)"
local brand="Unknown"
if use kernel_linux ; then
MAKE_ARGS="${MAKE_ARGS} OS=Linux"
brand="Linux"
elif use kernel_FreeBSD ; then
MAKE_ARGS="${MAKE_ARGS} OS=FreeBSD"
brand="FreeBSD"
fi
if use pentoo ; then
export BRANDING="Pentoo ${brand}"
else
export BRANDING="Gentoo ${brand}"
fi
use newnet || MAKE_ARGS="${MAKE_ARGS} MKNET=oldnet"
use prefix && MAKE_ARGS="${MAKE_ARGS} MKPREFIX=yes PREFIX=${EPREFIX}"
export DEBUG=$(usev debug)
export MKPAM=$(usev pam)
export MKTERMCAP=$(usev ncurses)
tc-export CC AR RANLIB
emake ${MAKE_ARGS}
}
# set_config <file> <option name> <yes value> <no value> test
# a value of "#" will just comment out the option
set_config() {
local file="${ED}/$1" var=$2 val com
eval "${@:5}" && val=$3 || val=$4
[[ ${val} == "#" ]] && com="#" && val='\2'
sed -i -r -e "/^#?${var}=/{s:=([\"'])?([^ ]*)\1?:=\1${val}\1:;s:^#?:${com}:}" "${file}"
}
set_config_yes_no() {
set_config "$1" "$2" YES NO "${@:3}"
}
src_install() {
emake ${MAKE_ARGS} DESTDIR="${D}" install
# move the shared libs back to /usr so ldscript can install
# more of a minimal set of files
# disabled for now due to #270646
#mv "${ED}"/$(get_libdir)/lib{einfo,rc}* "${ED}"/usr/$(get_libdir)/ || die
#gen_usr_ldscript -a einfo rc
gen_usr_ldscript libeinfo.so
gen_usr_ldscript librc.so
if ! use kernel_linux; then
keepdir /$(get_libdir)/rc/init.d
fi
keepdir /$(get_libdir)/rc/tmp
# Backup our default runlevels
dodir /usr/share/"${PN}"
cp -PR "${ED}"/etc/runlevels "${ED}"/usr/share/${PN} || die
rm -rf "${ED}"/etc/runlevels
# Setup unicode defaults for silly unicode users
set_config_yes_no /etc/rc.conf unicode use unicode
# Cater to the norm
set_config_yes_no /etc/conf.d/keymaps windowkeys '(' use x86 '||' use amd64 ')'
# On HPPA, do not run consolefont by default (bug #222889)
if use hppa; then
rm -f "${ED}"/usr/share/openrc/runlevels/boot/consolefont
fi
# Support for logfile rotation
insinto /etc/logrotate.d
newins "${FILESDIR}"/openrc.logrotate openrc
# install the gentoo pam.d file
newpamd "${FILESDIR}"/start-stop-daemon.pam start-stop-daemon
# install documentation
dodoc README.busybox
if use newnet; then
dodoc README.newnet
fi
}
add_boot_init() {
local initd=$1
local runlevel=${2:-boot}
# if the initscript is not going to be installed and is not
# currently installed, return
[[ -e "${ED}"/etc/init.d/${initd} || -e "${EROOT}"etc/init.d/${initd} ]] \
|| return
[[ -e "${EROOT}"etc/runlevels/${runlevel}/${initd} ]] && return
# if runlevels dont exist just yet, then create it but still flag
# to pkg_postinst that it needs real setup #277323
if [[ ! -d "${EROOT}"etc/runlevels/${runlevel} ]] ; then
mkdir -p "${EROOT}"etc/runlevels/${runlevel}
touch "${EROOT}"etc/runlevels/.add_boot_init.created
fi
elog "Auto-adding '${initd}' service to your ${runlevel} runlevel"
ln -snf /etc/init.d/${initd} "${EROOT}"etc/runlevels/${runlevel}/${initd}
}
add_boot_init_mit_config() {
local config=$1 initd=$2
if [[ -e ${EROOT}${config} ]] ; then
if [[ -n $(sed -e 's:#.*::' -e '/^[[:space:]]*$/d' "${EROOT}"${config}) ]] ; then
add_boot_init ${initd}
fi
fi
}
pkg_preinst() {
local f LIBDIR=$(get_libdir)
# avoid default thrashing in conf.d files when possible #295406
if [[ -e "${EROOT}"etc/conf.d/hostname ]] ; then
(
unset hostname HOSTNAME
source "${EROOT}"etc/conf.d/hostname
: ${hostname:=${HOSTNAME}}
[[ -n ${hostname} ]] && set_config /etc/conf.d/hostname hostname "${hostname}"
)
fi
# set default interactive shell to sulogin if it exists
set_config /etc/rc.conf rc_shell /sbin/sulogin "#" test -e /sbin/sulogin
# termencoding was added in 0.2.1 and needed in boot
has_version ">=sys-apps/openrc-0.2.1" || add_boot_init termencoding
# swapfiles was added in 0.9.9 and needed in boot (february 2012)
has_version ">=sys-apps/openrc-0.9.9" || add_boot_init swapfiles
if ! has_version ">=sys-apps/openrc-0.11"; then
add_boot_init sysfs sysinit
fi
if ! has_version ">=sys-apps/openrc-0.11.3" ; then
migrate_udev_mount_script
add_boot_init tmpfiles.setup boot
fi
# these were added in 0.12.
if ! has_version ">=sys-apps/openrc-0.12"; then
add_boot_init loopback
add_boot_init tmpfiles.dev sysinit
# ensure existing /etc/conf.d/net is not removed
# undoes the hack to get around CONFIG_PROTECT in openrc-0.11.8 and earlier
# this needs to stay in openrc ebuilds for a long time. :(
# Added in 0.12.
if [[ -f "${EROOT}"etc/conf.d/net ]]; then
einfo "Modifying conf.d/net to keep it from being removed"
cat <<-EOF >>"${EROOT}"etc/conf.d/net
# The network scripts are now part of net-misc/netifrc
# In order to avoid sys-apps/${P} from removing this file, this comment was
# added; you can safely remove this comment. Please see
# /usr/share/doc/netifrc*/README* for more information.
EOF
fi
fi
}
# >=OpenRC-0.11.3 requires udev-mount to be in the sysinit runlevel with udev.
migrate_udev_mount_script() {
if [ -e "${EROOT}"etc/runlevels/sysinit/udev -a \
! -e "${EROOT}"etc/runlevels/sysinit/udev-mount ]; then
add_boot_init udev-mount sysinit
fi
return 0
}
pkg_postinst() {
local LIBDIR=$(get_libdir)
# Make our runlevels if they don't exist
if [[ ! -e "${EROOT}"etc/runlevels ]] || [[ -e "${EROOT}"etc/runlevels/.add_boot_init.created ]] ; then
einfo "Copying across default runlevels"
cp -RPp "${EROOT}"usr/share/${PN}/runlevels "${EROOT}"etc
rm -f "${EROOT}"etc/runlevels/.add_boot_init.created
else
if [[ ! -e "${EROOT}"etc/runlevels/sysinit/devfs ]] ; then
mkdir -p "${EROOT}"etc/runlevels/sysinit
cp -RPp "${EROOT}"usr/share/${PN}/runlevels/sysinit/* \
"${EROOT}"etc/runlevels/sysinit
fi
if [[ ! -e "${EROOT}"etc/runlevels/shutdown/mount-ro ]] ; then
mkdir -p "${EROOT}"etc/runlevels/shutdown
cp -RPp "${EROOT}"usr/share/${PN}/runlevels/shutdown/* \
"${EROOT}"etc/runlevels/shutdown
fi
fi
if use hppa; then
elog "Setting the console font does not work on all HPPA consoles."
elog "You can still enable it by running:"
elog "# rc-update add consolefont boot"
fi
# Handle the conf.d/local.{start,stop} -> local.d transition
if path_exists -o "${EROOT}"etc/conf.d/local.{start,stop} ; then
elog "Moving your ${EROOT}etc/conf.d/local.{start,stop}"
elog "files to ${EROOT}etc/local.d"
mv "${EROOT}"etc/conf.d/local.start "${EROOT}"etc/local.d/baselayout1.start
mv "${EROOT}"etc/conf.d/local.stop "${EROOT}"etc/local.d/baselayout1.stop
chmod +x "${EROOT}"etc/local.d/*{start,stop}
fi
if use kernel_linux && [[ "${EROOT}" = "/" ]]; then
if ! /$(get_libdir)/rc/sh/migrate-to-run.sh; then
ewarn "The dependency data could not be migrated to /run/openrc."
ewarn "This means you need to reboot your system."
fi
fi
# update the dependency tree after touching all files #224171
[[ "${EROOT}" = "/" ]] && "${EROOT}/${LIBDIR}"/rc/bin/rc-depend -u
if ! use newnet && ! use netifrc; then
ewarn "You have emerged OpenRc without network support. This"
ewarn "means you need to SET UP a network manager such as"
ewarn " net-misc/netifrc, net-misc/dhcpcd, net-misc/wicd,"
ewarn "net-misc/NetworkManager, or net-misc/badvpn."
ewarn "Or, you have the option of emerging openrc with the newnet"
ewarn "use flag and configuring /etc/conf.d/network and"
ewarn "/etc/conf.d/staticroute if you only use static interfaces."
fi
if use newnet && [ ! -e "${EROOT}"etc/runlevels/boot/network ]; then
ewarn "Please add the network service to your boot runlevel"
ewarn "as soon as possible. Not doing so could leave you with a system"
ewarn "without networking."
fi
ewarn "In this version of OpenRC, the loopback interface no longer"
ewarn "satisfies the net virtual."
ewarn "If you have services now which do not start because of this,"
ewarn "They can be fixed by adding rc_need=\"!net\""
ewarn "to the ${EROOT}etc/conf.d/<servicename> file."
ewarn "You should also file a bug against the service asking that"
ewarn "need net be dropped from the dependencies."
ewarn "The bug you file should block the following tracker:"
ewarn "https://bugs.gentoo.org/show_bug.cgi?id=439092"
ewarn "This version of OpenRC doesn't enable nfs mounts automatically any"
ewarn "longer. In order to mount nfs file systems, you must use the"
ewarn "nfsmount service from the nfs-utils package."
ewarn "See bug https://bugs.gentoo.org/show_bug.cgi?id=427996 for"
ewarn "more information on this."
elog "You should now update all files in /etc, using etc-update"
elog "or equivalent before restarting any services or this host."
}

View file

@ -1,333 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/openrc-0.13.11.ebuild,v 1.4 2015/02/20 17:42:44 blueness Exp $
EAPI=5
inherit eutils flag-o-matic multilib pam toolchain-funcs
DESCRIPTION="OpenRC manages the services, startup and shutdown of a host"
HOMEPAGE="http://www.gentoo.org/proj/en/base/openrc/"
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="git://github.com/OpenRC/${PN}.git"
inherit git-r3
else
SRC_URI="http://dev.gentoo.org/~williamh/dist/${P}.tar.bz2"
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
fi
LICENSE="BSD-2"
SLOT="0"
IUSE="debug elibc_glibc ncurses pam newnet prefix +netifrc selinux static-libs
pentoo tools unicode kernel_linux kernel_FreeBSD"
COMMON_DEPEND="kernel_FreeBSD? ( || ( >=sys-freebsd/freebsd-ubin-9.0_rc sys-process/fuser-bsd ) )
elibc_glibc? ( >=sys-libs/glibc-2.5 )
ncurses? ( sys-libs/ncurses )
pam? ( sys-auth/pambase )
tools? ( dev-lang/perl )
kernel_linux? (
sys-process/psmisc
!<sys-process/procps-3.3.9-r2
)
selinux? ( sys-libs/libselinux )
!<sys-apps/baselayout-2.1-r1
!<sys-fs/udev-init-scripts-27"
DEPEND="${COMMON_DEPEND}
virtual/os-headers
ncurses? ( virtual/pkgconfig )"
RDEPEND="${COMMON_DEPEND}
!prefix? (
kernel_linux? ( || ( >=sys-apps/sysvinit-2.86-r6 sys-process/runit ) )
kernel_FreeBSD? ( sys-freebsd/freebsd-sbin )
)
selinux? (
sec-policy/selinux-base-policy
sec-policy/selinux-openrc
)
"
PDEPEND="netifrc? ( net-misc/netifrc )"
src_prepare() {
sed -i 's:0444:0644:' mk/sys.mk || die
if [[ ${PV} == "9999" ]] ; then
local ver="git-${EGIT_VERSION:0:6}"
sed -i "/^GITVER[[:space:]]*=/s:=.*:=${ver}:" mk/git.mk || die
fi
# Allow user patches to be applied without modifying the ebuild
epatch_user
}
src_compile() {
unset LIBDIR #266688
MAKE_ARGS="${MAKE_ARGS}
LIBNAME=$(get_libdir)
LIBEXECDIR=${EPREFIX}/$(get_libdir)/rc
MKNET=$(usex newnet)
MKSELINUX=$(usex selinux)
MKSTATICLIBS=$(usex static-libs)
MKTOOLS=$(usex tools)"
local brand="Unknown"
if use kernel_linux ; then
MAKE_ARGS="${MAKE_ARGS} OS=Linux"
brand="Linux"
elif use kernel_FreeBSD ; then
MAKE_ARGS="${MAKE_ARGS} OS=FreeBSD"
brand="FreeBSD"
fi
if use pentoo ; then
export BRANDING="Pentoo ${brand}"
else
export BRANDING="Gentoo ${brand}"
fi
use prefix && MAKE_ARGS="${MAKE_ARGS} MKPREFIX=yes PREFIX=${EPREFIX}"
export DEBUG=$(usev debug)
export MKPAM=$(usev pam)
export MKTERMCAP=$(usev ncurses)
tc-export CC AR RANLIB
emake ${MAKE_ARGS}
}
# set_config <file> <option name> <yes value> <no value> test
# a value of "#" will just comment out the option
set_config() {
local file="${ED}/$1" var=$2 val com
eval "${@:5}" && val=$3 || val=$4
[[ ${val} == "#" ]] && com="#" && val='\2'
sed -i -r -e "/^#?${var}=/{s:=([\"'])?([^ ]*)\1?:=\1${val}\1:;s:^#?:${com}:}" "${file}"
}
set_config_yes_no() {
set_config "$1" "$2" YES NO "${@:3}"
}
src_install() {
emake ${MAKE_ARGS} DESTDIR="${D}" install
# move the shared libs back to /usr so ldscript can install
# more of a minimal set of files
# disabled for now due to #270646
#mv "${ED}"/$(get_libdir)/lib{einfo,rc}* "${ED}"/usr/$(get_libdir)/ || die
#gen_usr_ldscript -a einfo rc
gen_usr_ldscript libeinfo.so
gen_usr_ldscript librc.so
if ! use kernel_linux; then
keepdir /$(get_libdir)/rc/init.d
fi
keepdir /$(get_libdir)/rc/tmp
# Backup our default runlevels
dodir /usr/share/"${PN}"
cp -PR "${ED}"/etc/runlevels "${ED}"/usr/share/${PN} || die
rm -rf "${ED}"/etc/runlevels
# Setup unicode defaults for silly unicode users
set_config_yes_no /etc/rc.conf unicode use unicode
# Cater to the norm
set_config_yes_no /etc/conf.d/keymaps windowkeys '(' use x86 '||' use amd64 ')'
# On HPPA, do not run consolefont by default (bug #222889)
if use hppa; then
rm -f "${ED}"/usr/share/openrc/runlevels/boot/consolefont
fi
# Support for logfile rotation
insinto /etc/logrotate.d
newins "${FILESDIR}"/openrc.logrotate openrc
# install the gentoo pam.d file
newpamd "${FILESDIR}"/start-stop-daemon.pam start-stop-daemon
# install documentation
dodoc ChangeLog README README.busybox README.history \
FEATURE-REMOVAL-SCHEDULE
if use newnet; then
dodoc README.newnet
fi
}
add_boot_init() {
local initd=$1
local runlevel=${2:-boot}
# if the initscript is not going to be installed and is not
# currently installed, return
[[ -e "${ED}"/etc/init.d/${initd} || -e "${EROOT}"etc/init.d/${initd} ]] \
|| return
[[ -e "${EROOT}"etc/runlevels/${runlevel}/${initd} ]] && return
# if runlevels dont exist just yet, then create it but still flag
# to pkg_postinst that it needs real setup #277323
if [[ ! -d "${EROOT}"etc/runlevels/${runlevel} ]] ; then
mkdir -p "${EROOT}"etc/runlevels/${runlevel}
touch "${EROOT}"etc/runlevels/.add_boot_init.created
fi
elog "Auto-adding '${initd}' service to your ${runlevel} runlevel"
ln -snf /etc/init.d/${initd} "${EROOT}"etc/runlevels/${runlevel}/${initd}
}
add_boot_init_mit_config() {
local config=$1 initd=$2
if [[ -e ${EROOT}${config} ]] ; then
if [[ -n $(sed -e 's:#.*::' -e '/^[[:space:]]*$/d' "${EROOT}"${config}) ]] ; then
add_boot_init ${initd}
fi
fi
}
pkg_preinst() {
local f LIBDIR=$(get_libdir)
# avoid default thrashing in conf.d files when possible #295406
if [[ -e "${EROOT}"etc/conf.d/hostname ]] ; then
(
unset hostname HOSTNAME
source "${EROOT}"etc/conf.d/hostname
: ${hostname:=${HOSTNAME}}
[[ -n ${hostname} ]] && set_config /etc/conf.d/hostname hostname "${hostname}"
)
fi
# set default interactive shell to sulogin if it exists
set_config /etc/rc.conf rc_shell /sbin/sulogin "#" test -e /sbin/sulogin
# termencoding was added in 0.2.1 and needed in boot
has_version ">=sys-apps/openrc-0.2.1" || add_boot_init termencoding
# swapfiles was added in 0.9.9 and needed in boot (february 2012)
has_version ">=sys-apps/openrc-0.9.9" || add_boot_init swapfiles
if ! has_version ">=sys-apps/openrc-0.11"; then
add_boot_init sysfs sysinit
fi
if ! has_version ">=sys-apps/openrc-0.11.3" ; then
migrate_udev_mount_script
add_boot_init tmpfiles.setup boot
fi
# these were added in 0.12.
if ! has_version ">=sys-apps/openrc-0.12"; then
add_boot_init loopback
add_boot_init tmpfiles.dev sysinit
# ensure existing /etc/conf.d/net is not removed
# undoes the hack to get around CONFIG_PROTECT in openrc-0.11.8 and earlier
# this needs to stay in openrc ebuilds for a long time. :(
# Added in 0.12.
if [[ -f "${EROOT}"etc/conf.d/net ]]; then
einfo "Modifying conf.d/net to keep it from being removed"
cat <<-EOF >>"${EROOT}"etc/conf.d/net
# The network scripts are now part of net-misc/netifrc
# In order to avoid sys-apps/${P} from removing this file, this comment was
# added; you can safely remove this comment. Please see
# /usr/share/doc/netifrc*/README* for more information.
EOF
fi
fi
}
# >=OpenRC-0.11.3 requires udev-mount to be in the sysinit runlevel with udev.
migrate_udev_mount_script() {
if [ -e "${EROOT}"etc/runlevels/sysinit/udev -a \
! -e "${EROOT}"etc/runlevels/sysinit/udev-mount ]; then
add_boot_init udev-mount sysinit
fi
return 0
}
pkg_postinst() {
local LIBDIR=$(get_libdir)
# Make our runlevels if they don't exist
if [[ ! -e "${EROOT}"etc/runlevels ]] || [[ -e "${EROOT}"etc/runlevels/.add_boot_init.created ]] ; then
einfo "Copying across default runlevels"
cp -RPp "${EROOT}"usr/share/${PN}/runlevels "${EROOT}"etc
rm -f "${EROOT}"etc/runlevels/.add_boot_init.created
else
if [[ ! -e "${EROOT}"etc/runlevels/sysinit/devfs ]] ; then
mkdir -p "${EROOT}"etc/runlevels/sysinit
cp -RPp "${EROOT}"usr/share/${PN}/runlevels/sysinit/* \
"${EROOT}"etc/runlevels/sysinit
fi
if [[ ! -e "${EROOT}"etc/runlevels/shutdown/mount-ro ]] ; then
mkdir -p "${EROOT}"etc/runlevels/shutdown
cp -RPp "${EROOT}"usr/share/${PN}/runlevels/shutdown/* \
"${EROOT}"etc/runlevels/shutdown
fi
fi
if use hppa; then
elog "Setting the console font does not work on all HPPA consoles."
elog "You can still enable it by running:"
elog "# rc-update add consolefont boot"
fi
# Handle the conf.d/local.{start,stop} -> local.d transition
if path_exists -o "${EROOT}"etc/conf.d/local.{start,stop} ; then
elog "Moving your ${EROOT}etc/conf.d/local.{start,stop}"
elog "files to ${EROOT}etc/local.d"
mv "${EROOT}"etc/conf.d/local.start "${EROOT}"etc/local.d/baselayout1.start
mv "${EROOT}"etc/conf.d/local.stop "${EROOT}"etc/local.d/baselayout1.stop
chmod +x "${EROOT}"etc/local.d/*{start,stop}
fi
if use kernel_linux && [[ "${EROOT}" = "/" ]]; then
if ! /$(get_libdir)/rc/sh/migrate-to-run.sh; then
ewarn "The dependency data could not be migrated to /run/openrc."
ewarn "This means you need to reboot your system."
fi
fi
# update the dependency tree after touching all files #224171
[[ "${EROOT}" = "/" ]] && "${EROOT}/${LIBDIR}"/rc/bin/rc-depend -u
if ! use newnet && ! use netifrc; then
ewarn "You have emerged OpenRc without network support. This"
ewarn "means you need to SET UP a network manager such as"
ewarn " net-misc/netifrc, net-misc/dhcpcd, net-misc/wicd,"
ewarn "net-misc/NetworkManager, or net-misc/badvpn."
ewarn "Or, you have the option of emerging openrc with the newnet"
ewarn "use flag and configuring /etc/conf.d/network and"
ewarn "/etc/conf.d/staticroute if you only use static interfaces."
ewarn
fi
if use newnet && [ ! -e "${EROOT}"etc/runlevels/boot/network ]; then
ewarn "Please add the network service to your boot runlevel"
ewarn "as soon as possible. Not doing so could leave you with a system"
ewarn "without networking."
ewarn
fi
ewarn "In this version of OpenRC, the loopback interface no longer"
ewarn "satisfies the net virtual."
ewarn "If you have services now which do not start because of this,"
ewarn "They can be fixed by adding rc_need=\"!net\""
ewarn "to the ${EROOT}etc/conf.d/<servicename> file."
ewarn "You should also file a bug against the service asking that"
ewarn "need net be dropped from the dependencies."
ewarn "The bug you file should block the following tracker:"
ewarn "https://bugs.gentoo.org/show_bug.cgi?id=439092"
ewarn
# Updated for 0.13.2.
ewarn "Bug https://bugs.gentoo.org/show_bug.cgi?id=427996 was not"
ewarn "fixed correctly in earlier versions of OpenRC."
ewarn "The correct fix is implemented in this version, but that"
ewarn "means netmount needs to be added to the default runlevel if"
ewarn "you are using nfs file systems."
ewarn
elog "You should now update all files in /etc, using etc-update"
elog "or equivalent before restarting any services or this host."
}

View file

@ -1,337 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/openrc-0.13.8.ebuild,v 1.3 2015/01/19 15:02:19 blueness Exp $
EAPI=5
inherit eutils flag-o-matic multilib pam toolchain-funcs
DESCRIPTION="OpenRC manages the services, startup and shutdown of a host"
HOMEPAGE="http://www.gentoo.org/proj/en/base/openrc/"
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="git://github.com/OpenRC/${PN}.git"
inherit git-r3
else
SRC_URI="http://dev.gentoo.org/~williamh/dist/${P}.tar.bz2"
KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
fi
LICENSE="BSD-2"
SLOT="0"
IUSE="debug elibc_glibc ncurses pam newnet nfs pentoo prefix +netifrc selinux static-libs
tools unicode kernel_linux kernel_FreeBSD"
COMMON_DEPEND="kernel_FreeBSD? ( || ( >=sys-freebsd/freebsd-ubin-9.0_rc sys-process/fuser-bsd ) )
elibc_glibc? ( >=sys-libs/glibc-2.5 )
ncurses? ( sys-libs/ncurses )
pam? ( sys-auth/pambase )
tools? ( dev-lang/perl )
kernel_linux? (
sys-process/psmisc
!<sys-process/procps-3.3.9-r2
)
selinux? ( sys-libs/libselinux )
!<sys-apps/baselayout-2.1-r1
!<sys-fs/udev-init-scripts-27
>=sys-fs/udev-init-scripts-27"
DEPEND="${COMMON_DEPEND}
virtual/os-headers
ncurses? ( virtual/pkgconfig )"
RDEPEND="${COMMON_DEPEND}
!prefix? (
kernel_linux? ( || ( >=sys-apps/sysvinit-2.86-r6 sys-process/runit ) )
kernel_FreeBSD? ( sys-freebsd/freebsd-sbin )
)
selinux? (
sec-policy/selinux-base-policy
sec-policy/selinux-openrc
)
nfs? ( net-fs/nfs-utils )
"
PDEPEND="netifrc? ( net-misc/netifrc )"
src_prepare() {
sed -i 's:0444:0644:' mk/sys.mk || die
if [[ ${PV} == "9999" ]] ; then
local ver="git-${EGIT_VERSION:0:6}"
sed -i "/^GITVER[[:space:]]*=/s:=.*:=${ver}:" mk/git.mk || die
fi
epatch "${FILESDIR}"/nfs-fix.patch
# Allow user patches to be applied without modifying the ebuild
epatch_user
}
src_compile() {
unset LIBDIR #266688
MAKE_ARGS="${MAKE_ARGS}
LIBNAME=$(get_libdir)
LIBEXECDIR=${EPREFIX}/$(get_libdir)/rc
MKNET=$(usex newnet)
MKSELINUX=$(usex selinux)
MKSTATICLIBS=$(usex static-libs)
MKTOOLS=$(usex tools)"
local brand="Unknown"
if use kernel_linux ; then
MAKE_ARGS="${MAKE_ARGS} OS=Linux"
brand="Linux"
elif use kernel_FreeBSD ; then
MAKE_ARGS="${MAKE_ARGS} OS=FreeBSD"
brand="FreeBSD"
fi
if use pentoo ; then
export BRANDING="Pentoo ${brand}"
else
export BRANDING="Gentoo ${brand}"
fi
use prefix && MAKE_ARGS="${MAKE_ARGS} MKPREFIX=yes PREFIX=${EPREFIX}"
export DEBUG=$(usev debug)
export MKPAM=$(usev pam)
export MKTERMCAP=$(usev ncurses)
tc-export CC AR RANLIB
emake ${MAKE_ARGS}
}
# set_config <file> <option name> <yes value> <no value> test
# a value of "#" will just comment out the option
set_config() {
local file="${ED}/$1" var=$2 val com
eval "${@:5}" && val=$3 || val=$4
[[ ${val} == "#" ]] && com="#" && val='\2'
sed -i -r -e "/^#?${var}=/{s:=([\"'])?([^ ]*)\1?:=\1${val}\1:;s:^#?:${com}:}" "${file}"
}
set_config_yes_no() {
set_config "$1" "$2" YES NO "${@:3}"
}
src_install() {
emake ${MAKE_ARGS} DESTDIR="${D}" install
# move the shared libs back to /usr so ldscript can install
# more of a minimal set of files
# disabled for now due to #270646
#mv "${ED}"/$(get_libdir)/lib{einfo,rc}* "${ED}"/usr/$(get_libdir)/ || die
#gen_usr_ldscript -a einfo rc
gen_usr_ldscript libeinfo.so
gen_usr_ldscript librc.so
if ! use kernel_linux; then
keepdir /$(get_libdir)/rc/init.d
fi
keepdir /$(get_libdir)/rc/tmp
# Backup our default runlevels
dodir /usr/share/"${PN}"
cp -PR "${ED}"/etc/runlevels "${ED}"/usr/share/${PN} || die
rm -rf "${ED}"/etc/runlevels
# Setup unicode defaults for silly unicode users
set_config_yes_no /etc/rc.conf unicode use unicode
# Cater to the norm
set_config_yes_no /etc/conf.d/keymaps windowkeys '(' use x86 '||' use amd64 ')'
# On HPPA, do not run consolefont by default (bug #222889)
if use hppa; then
rm -f "${ED}"/usr/share/openrc/runlevels/boot/consolefont
fi
# Support for logfile rotation
insinto /etc/logrotate.d
newins "${FILESDIR}"/openrc.logrotate openrc
# install the gentoo pam.d file
newpamd "${FILESDIR}"/start-stop-daemon.pam start-stop-daemon
# install documentation
dodoc ChangeLog README README.busybox README.history \
FEATURE-REMOVAL-SCHEDULE
if use newnet; then
dodoc README.newnet
fi
}
add_boot_init() {
local initd=$1
local runlevel=${2:-boot}
# if the initscript is not going to be installed and is not
# currently installed, return
[[ -e "${ED}"/etc/init.d/${initd} || -e "${EROOT}"etc/init.d/${initd} ]] \
|| return
[[ -e "${EROOT}"etc/runlevels/${runlevel}/${initd} ]] && return
# if runlevels dont exist just yet, then create it but still flag
# to pkg_postinst that it needs real setup #277323
if [[ ! -d "${EROOT}"etc/runlevels/${runlevel} ]] ; then
mkdir -p "${EROOT}"etc/runlevels/${runlevel}
touch "${EROOT}"etc/runlevels/.add_boot_init.created
fi
elog "Auto-adding '${initd}' service to your ${runlevel} runlevel"
ln -snf /etc/init.d/${initd} "${EROOT}"etc/runlevels/${runlevel}/${initd}
}
add_boot_init_mit_config() {
local config=$1 initd=$2
if [[ -e ${EROOT}${config} ]] ; then
if [[ -n $(sed -e 's:#.*::' -e '/^[[:space:]]*$/d' "${EROOT}"${config}) ]] ; then
add_boot_init ${initd}
fi
fi
}
pkg_preinst() {
local f LIBDIR=$(get_libdir)
# avoid default thrashing in conf.d files when possible #295406
if [[ -e "${EROOT}"etc/conf.d/hostname ]] ; then
(
unset hostname HOSTNAME
source "${EROOT}"etc/conf.d/hostname
: ${hostname:=${HOSTNAME}}
[[ -n ${hostname} ]] && set_config /etc/conf.d/hostname hostname "${hostname}"
)
fi
# set default interactive shell to sulogin if it exists
set_config /etc/rc.conf rc_shell /sbin/sulogin "#" test -e /sbin/sulogin
# termencoding was added in 0.2.1 and needed in boot
has_version ">=sys-apps/openrc-0.2.1" || add_boot_init termencoding
# swapfiles was added in 0.9.9 and needed in boot (february 2012)
has_version ">=sys-apps/openrc-0.9.9" || add_boot_init swapfiles
if ! has_version ">=sys-apps/openrc-0.11"; then
add_boot_init sysfs sysinit
fi
if ! has_version ">=sys-apps/openrc-0.11.3" ; then
migrate_udev_mount_script
add_boot_init tmpfiles.setup boot
fi
# these were added in 0.12.
if ! has_version ">=sys-apps/openrc-0.12"; then
add_boot_init loopback
add_boot_init tmpfiles.dev sysinit
# ensure existing /etc/conf.d/net is not removed
# undoes the hack to get around CONFIG_PROTECT in openrc-0.11.8 and earlier
# this needs to stay in openrc ebuilds for a long time. :(
# Added in 0.12.
if [[ -f "${EROOT}"etc/conf.d/net ]]; then
einfo "Modifying conf.d/net to keep it from being removed"
cat <<-EOF >>"${EROOT}"etc/conf.d/net
# The network scripts are now part of net-misc/netifrc
# In order to avoid sys-apps/${P} from removing this file, this comment was
# added; you can safely remove this comment. Please see
# /usr/share/doc/netifrc*/README* for more information.
EOF
fi
fi
}
# >=OpenRC-0.11.3 requires udev-mount to be in the sysinit runlevel with udev.
migrate_udev_mount_script() {
if [ -e "${EROOT}"etc/runlevels/sysinit/udev -a \
! -e "${EROOT}"etc/runlevels/sysinit/udev-mount ]; then
add_boot_init udev-mount sysinit
fi
return 0
}
pkg_postinst() {
local LIBDIR=$(get_libdir)
# Make our runlevels if they don't exist
if [[ ! -e "${EROOT}"etc/runlevels ]] || [[ -e "${EROOT}"etc/runlevels/.add_boot_init.created ]] ; then
einfo "Copying across default runlevels"
cp -RPp "${EROOT}"usr/share/${PN}/runlevels "${EROOT}"etc
rm -f "${EROOT}"etc/runlevels/.add_boot_init.created
else
if [[ ! -e "${EROOT}"etc/runlevels/sysinit/devfs ]] ; then
mkdir -p "${EROOT}"etc/runlevels/sysinit
cp -RPp "${EROOT}"usr/share/${PN}/runlevels/sysinit/* \
"${EROOT}"etc/runlevels/sysinit
fi
if [[ ! -e "${EROOT}"etc/runlevels/shutdown/mount-ro ]] ; then
mkdir -p "${EROOT}"etc/runlevels/shutdown
cp -RPp "${EROOT}"usr/share/${PN}/runlevels/shutdown/* \
"${EROOT}"etc/runlevels/shutdown
fi
fi
if use hppa; then
elog "Setting the console font does not work on all HPPA consoles."
elog "You can still enable it by running:"
elog "# rc-update add consolefont boot"
fi
# Handle the conf.d/local.{start,stop} -> local.d transition
if path_exists -o "${EROOT}"etc/conf.d/local.{start,stop} ; then
elog "Moving your ${EROOT}etc/conf.d/local.{start,stop}"
elog "files to ${EROOT}etc/local.d"
mv "${EROOT}"etc/conf.d/local.start "${EROOT}"etc/local.d/baselayout1.start
mv "${EROOT}"etc/conf.d/local.stop "${EROOT}"etc/local.d/baselayout1.stop
chmod +x "${EROOT}"etc/local.d/*{start,stop}
fi
if use kernel_linux && [[ "${EROOT}" = "/" ]]; then
if ! /$(get_libdir)/rc/sh/migrate-to-run.sh; then
ewarn "The dependency data could not be migrated to /run/openrc."
ewarn "This means you need to reboot your system."
fi
fi
# update the dependency tree after touching all files #224171
[[ "${EROOT}" = "/" ]] && "${EROOT}/${LIBDIR}"/rc/bin/rc-depend -u
if ! use newnet && ! use netifrc; then
ewarn "You have emerged OpenRc without network support. This"
ewarn "means you need to SET UP a network manager such as"
ewarn " net-misc/netifrc, net-misc/dhcpcd, net-misc/wicd,"
ewarn "net-misc/NetworkManager, or net-misc/badvpn."
ewarn "Or, you have the option of emerging openrc with the newnet"
ewarn "use flag and configuring /etc/conf.d/network and"
ewarn "/etc/conf.d/staticroute if you only use static interfaces."
ewarn
fi
if use newnet && [ ! -e "${EROOT}"etc/runlevels/boot/network ]; then
ewarn "Please add the network service to your boot runlevel"
ewarn "as soon as possible. Not doing so could leave you with a system"
ewarn "without networking."
ewarn
fi
ewarn "In this version of OpenRC, the loopback interface no longer"
ewarn "satisfies the net virtual."
ewarn "If you have services now which do not start because of this,"
ewarn "They can be fixed by adding rc_need=\"!net\""
ewarn "to the ${EROOT}etc/conf.d/<servicename> file."
ewarn "You should also file a bug against the service asking that"
ewarn "need net be dropped from the dependencies."
ewarn "The bug you file should block the following tracker:"
ewarn "https://bugs.gentoo.org/show_bug.cgi?id=439092"
ewarn
# Updated for 0.13.2.
ewarn "Bug https://bugs.gentoo.org/show_bug.cgi?id=427996 was not"
ewarn "fixed correctly in earlier versions of OpenRC."
ewarn "The correct fix is implemented in this version, but that"
ewarn "means netmount needs to be added to the default runlevel if"
ewarn "you are using nfs file systems."
ewarn
elog "You should now update all files in /etc, using etc-update"
elog "or equivalent before restarting any services or this host."
}

View file

@ -1,334 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/openrc-0.13.9.ebuild,v 1.1 2015/02/05 04:25:59 williamh Exp $
EAPI=5
inherit eutils flag-o-matic multilib pam toolchain-funcs
DESCRIPTION="OpenRC manages the services, startup and shutdown of a host"
HOMEPAGE="http://www.gentoo.org/proj/en/base/openrc/"
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="git://github.com/OpenRC/${PN}.git"
inherit git-r3
else
SRC_URI="http://dev.gentoo.org/~williamh/dist/${P}.tar.bz2"
KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
fi
LICENSE="BSD-2"
SLOT="0"
IUSE="debug elibc_glibc ncurses pam newnet pentoo prefix +netifrc selinux static-libs
tools unicode kernel_linux kernel_FreeBSD"
COMMON_DEPEND="kernel_FreeBSD? ( || ( >=sys-freebsd/freebsd-ubin-9.0_rc sys-process/fuser-bsd ) )
elibc_glibc? ( >=sys-libs/glibc-2.5 )
ncurses? ( sys-libs/ncurses )
pam? ( sys-auth/pambase )
tools? ( dev-lang/perl )
kernel_linux? (
sys-process/psmisc
!<sys-process/procps-3.3.9-r2
)
selinux? ( sys-libs/libselinux )
!<sys-apps/baselayout-2.1-r1
!<sys-fs/udev-init-scripts-27
>=sys-fs/udev-init-scripts-27"
DEPEND="${COMMON_DEPEND}
virtual/os-headers
ncurses? ( virtual/pkgconfig )"
RDEPEND="${COMMON_DEPEND}
!prefix? (
kernel_linux? ( || ( >=sys-apps/sysvinit-2.86-r6 sys-process/runit ) )
kernel_FreeBSD? ( sys-freebsd/freebsd-sbin )
)
selinux? (
sec-policy/selinux-base-policy
sec-policy/selinux-openrc
)
"
PDEPEND="netifrc? ( net-misc/netifrc )"
src_prepare() {
sed -i 's:0444:0644:' mk/sys.mk || die
if [[ ${PV} == "9999" ]] ; then
local ver="git-${EGIT_VERSION:0:6}"
sed -i "/^GITVER[[:space:]]*=/s:=.*:=${ver}:" mk/git.mk || die
fi
# Allow user patches to be applied without modifying the ebuild
epatch_user
}
src_compile() {
unset LIBDIR #266688
MAKE_ARGS="${MAKE_ARGS}
LIBNAME=$(get_libdir)
LIBEXECDIR=${EPREFIX}/$(get_libdir)/rc
MKNET=$(usex newnet)
MKSELINUX=$(usex selinux)
MKSTATICLIBS=$(usex static-libs)
MKTOOLS=$(usex tools)"
local brand="Unknown"
if use kernel_linux ; then
MAKE_ARGS="${MAKE_ARGS} OS=Linux"
brand="Linux"
elif use kernel_FreeBSD ; then
MAKE_ARGS="${MAKE_ARGS} OS=FreeBSD"
brand="FreeBSD"
fi
if use pentoo ; then
export BRANDING="Pentoo ${brand}"
else
export BRANDING="Gentoo ${brand}"
fi
use prefix && MAKE_ARGS="${MAKE_ARGS} MKPREFIX=yes PREFIX=${EPREFIX}"
export DEBUG=$(usev debug)
export MKPAM=$(usev pam)
export MKTERMCAP=$(usev ncurses)
tc-export CC AR RANLIB
emake ${MAKE_ARGS}
}
# set_config <file> <option name> <yes value> <no value> test
# a value of "#" will just comment out the option
set_config() {
local file="${ED}/$1" var=$2 val com
eval "${@:5}" && val=$3 || val=$4
[[ ${val} == "#" ]] && com="#" && val='\2'
sed -i -r -e "/^#?${var}=/{s:=([\"'])?([^ ]*)\1?:=\1${val}\1:;s:^#?:${com}:}" "${file}"
}
set_config_yes_no() {
set_config "$1" "$2" YES NO "${@:3}"
}
src_install() {
emake ${MAKE_ARGS} DESTDIR="${D}" install
# move the shared libs back to /usr so ldscript can install
# more of a minimal set of files
# disabled for now due to #270646
#mv "${ED}"/$(get_libdir)/lib{einfo,rc}* "${ED}"/usr/$(get_libdir)/ || die
#gen_usr_ldscript -a einfo rc
gen_usr_ldscript libeinfo.so
gen_usr_ldscript librc.so
if ! use kernel_linux; then
keepdir /$(get_libdir)/rc/init.d
fi
keepdir /$(get_libdir)/rc/tmp
# Backup our default runlevels
dodir /usr/share/"${PN}"
cp -PR "${ED}"/etc/runlevels "${ED}"/usr/share/${PN} || die
rm -rf "${ED}"/etc/runlevels
# Setup unicode defaults for silly unicode users
set_config_yes_no /etc/rc.conf unicode use unicode
# Cater to the norm
set_config_yes_no /etc/conf.d/keymaps windowkeys '(' use x86 '||' use amd64 ')'
# On HPPA, do not run consolefont by default (bug #222889)
if use hppa; then
rm -f "${ED}"/usr/share/openrc/runlevels/boot/consolefont
fi
# Support for logfile rotation
insinto /etc/logrotate.d
newins "${FILESDIR}"/openrc.logrotate openrc
# install the gentoo pam.d file
newpamd "${FILESDIR}"/start-stop-daemon.pam start-stop-daemon
# install documentation
dodoc ChangeLog README README.busybox README.history \
FEATURE-REMOVAL-SCHEDULE
if use newnet; then
dodoc README.newnet
fi
}
add_boot_init() {
local initd=$1
local runlevel=${2:-boot}
# if the initscript is not going to be installed and is not
# currently installed, return
[[ -e "${ED}"/etc/init.d/${initd} || -e "${EROOT}"etc/init.d/${initd} ]] \
|| return
[[ -e "${EROOT}"etc/runlevels/${runlevel}/${initd} ]] && return
# if runlevels dont exist just yet, then create it but still flag
# to pkg_postinst that it needs real setup #277323
if [[ ! -d "${EROOT}"etc/runlevels/${runlevel} ]] ; then
mkdir -p "${EROOT}"etc/runlevels/${runlevel}
touch "${EROOT}"etc/runlevels/.add_boot_init.created
fi
elog "Auto-adding '${initd}' service to your ${runlevel} runlevel"
ln -snf /etc/init.d/${initd} "${EROOT}"etc/runlevels/${runlevel}/${initd}
}
add_boot_init_mit_config() {
local config=$1 initd=$2
if [[ -e ${EROOT}${config} ]] ; then
if [[ -n $(sed -e 's:#.*::' -e '/^[[:space:]]*$/d' "${EROOT}"${config}) ]] ; then
add_boot_init ${initd}
fi
fi
}
pkg_preinst() {
local f LIBDIR=$(get_libdir)
# avoid default thrashing in conf.d files when possible #295406
if [[ -e "${EROOT}"etc/conf.d/hostname ]] ; then
(
unset hostname HOSTNAME
source "${EROOT}"etc/conf.d/hostname
: ${hostname:=${HOSTNAME}}
[[ -n ${hostname} ]] && set_config /etc/conf.d/hostname hostname "${hostname}"
)
fi
# set default interactive shell to sulogin if it exists
set_config /etc/rc.conf rc_shell /sbin/sulogin "#" test -e /sbin/sulogin
# termencoding was added in 0.2.1 and needed in boot
has_version ">=sys-apps/openrc-0.2.1" || add_boot_init termencoding
# swapfiles was added in 0.9.9 and needed in boot (february 2012)
has_version ">=sys-apps/openrc-0.9.9" || add_boot_init swapfiles
if ! has_version ">=sys-apps/openrc-0.11"; then
add_boot_init sysfs sysinit
fi
if ! has_version ">=sys-apps/openrc-0.11.3" ; then
migrate_udev_mount_script
add_boot_init tmpfiles.setup boot
fi
# these were added in 0.12.
if ! has_version ">=sys-apps/openrc-0.12"; then
add_boot_init loopback
add_boot_init tmpfiles.dev sysinit
# ensure existing /etc/conf.d/net is not removed
# undoes the hack to get around CONFIG_PROTECT in openrc-0.11.8 and earlier
# this needs to stay in openrc ebuilds for a long time. :(
# Added in 0.12.
if [[ -f "${EROOT}"etc/conf.d/net ]]; then
einfo "Modifying conf.d/net to keep it from being removed"
cat <<-EOF >>"${EROOT}"etc/conf.d/net
# The network scripts are now part of net-misc/netifrc
# In order to avoid sys-apps/${P} from removing this file, this comment was
# added; you can safely remove this comment. Please see
# /usr/share/doc/netifrc*/README* for more information.
EOF
fi
fi
}
# >=OpenRC-0.11.3 requires udev-mount to be in the sysinit runlevel with udev.
migrate_udev_mount_script() {
if [ -e "${EROOT}"etc/runlevels/sysinit/udev -a \
! -e "${EROOT}"etc/runlevels/sysinit/udev-mount ]; then
add_boot_init udev-mount sysinit
fi
return 0
}
pkg_postinst() {
local LIBDIR=$(get_libdir)
# Make our runlevels if they don't exist
if [[ ! -e "${EROOT}"etc/runlevels ]] || [[ -e "${EROOT}"etc/runlevels/.add_boot_init.created ]] ; then
einfo "Copying across default runlevels"
cp -RPp "${EROOT}"usr/share/${PN}/runlevels "${EROOT}"etc
rm -f "${EROOT}"etc/runlevels/.add_boot_init.created
else
if [[ ! -e "${EROOT}"etc/runlevels/sysinit/devfs ]] ; then
mkdir -p "${EROOT}"etc/runlevels/sysinit
cp -RPp "${EROOT}"usr/share/${PN}/runlevels/sysinit/* \
"${EROOT}"etc/runlevels/sysinit
fi
if [[ ! -e "${EROOT}"etc/runlevels/shutdown/mount-ro ]] ; then
mkdir -p "${EROOT}"etc/runlevels/shutdown
cp -RPp "${EROOT}"usr/share/${PN}/runlevels/shutdown/* \
"${EROOT}"etc/runlevels/shutdown
fi
fi
if use hppa; then
elog "Setting the console font does not work on all HPPA consoles."
elog "You can still enable it by running:"
elog "# rc-update add consolefont boot"
fi
# Handle the conf.d/local.{start,stop} -> local.d transition
if path_exists -o "${EROOT}"etc/conf.d/local.{start,stop} ; then
elog "Moving your ${EROOT}etc/conf.d/local.{start,stop}"
elog "files to ${EROOT}etc/local.d"
mv "${EROOT}"etc/conf.d/local.start "${EROOT}"etc/local.d/baselayout1.start
mv "${EROOT}"etc/conf.d/local.stop "${EROOT}"etc/local.d/baselayout1.stop
chmod +x "${EROOT}"etc/local.d/*{start,stop}
fi
if use kernel_linux && [[ "${EROOT}" = "/" ]]; then
if ! /$(get_libdir)/rc/sh/migrate-to-run.sh; then
ewarn "The dependency data could not be migrated to /run/openrc."
ewarn "This means you need to reboot your system."
fi
fi
# update the dependency tree after touching all files #224171
[[ "${EROOT}" = "/" ]] && "${EROOT}/${LIBDIR}"/rc/bin/rc-depend -u
if ! use newnet && ! use netifrc; then
ewarn "You have emerged OpenRc without network support. This"
ewarn "means you need to SET UP a network manager such as"
ewarn " net-misc/netifrc, net-misc/dhcpcd, net-misc/wicd,"
ewarn "net-misc/NetworkManager, or net-misc/badvpn."
ewarn "Or, you have the option of emerging openrc with the newnet"
ewarn "use flag and configuring /etc/conf.d/network and"
ewarn "/etc/conf.d/staticroute if you only use static interfaces."
ewarn
fi
if use newnet && [ ! -e "${EROOT}"etc/runlevels/boot/network ]; then
ewarn "Please add the network service to your boot runlevel"
ewarn "as soon as possible. Not doing so could leave you with a system"
ewarn "without networking."
ewarn
fi
ewarn "In this version of OpenRC, the loopback interface no longer"
ewarn "satisfies the net virtual."
ewarn "If you have services now which do not start because of this,"
ewarn "They can be fixed by adding rc_need=\"!net\""
ewarn "to the ${EROOT}etc/conf.d/<servicename> file."
ewarn "You should also file a bug against the service asking that"
ewarn "need net be dropped from the dependencies."
ewarn "The bug you file should block the following tracker:"
ewarn "https://bugs.gentoo.org/show_bug.cgi?id=439092"
ewarn
# Updated for 0.13.2.
ewarn "Bug https://bugs.gentoo.org/show_bug.cgi?id=427996 was not"
ewarn "fixed correctly in earlier versions of OpenRC."
ewarn "The correct fix is implemented in this version, but that"
ewarn "means netmount needs to be added to the default runlevel if"
ewarn "you are using nfs file systems."
ewarn
elog "You should now update all files in /etc, using etc-update"
elog "or equivalent before restarting any services or this host."
}