openrc: fork 0.13.2 for testing, if anyone else wants to test, here it is

This commit is contained in:
Zero_Chaos 2014-11-13 01:12:09 +00:00
parent 3b71775bdf
commit 7375003bd5
2 changed files with 331 additions and 0 deletions

View file

@ -3,5 +3,7 @@ AUX openrc.logrotate 71 SHA256 0b44210db9770588bd491cd6c0ac9412d99124c6be4c9d3f7
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.2.tar.bz2 141784 SHA256 6552cbc58f86ad6cb680c3ee5544ced1865bee8edb3543473eccc6aeaaf47855 SHA512 e4209691136cbe7bb66c4b0a927c416afe54ae1fbf9678d51b5766e6dab51ab7f59ccdf16e6b375e97c53707f486b6e19b49a27b762ad6fd3eecac391033e801 WHIRLPOOL 7e2bfe3f3fc17aaa9a8a8cb0f7294e16d80eba256ed1e40fb2e4075af25b4c196f22a132e6aeab386bd31077529cd5feaeb23e07a851ab51af4a4d68f1bc0047
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.2.ebuild 10752 SHA256 992610adf87edde80fdb69107b78dc9573815dbf5b20686509fbed752904bf36 SHA512 ab57eeebc9de2e613d5681c4fe5ab77a004f40f7a54b55686d3207dceaab51abc041b841d70b14609a84c020813215b4721e30b65c18fc685c6051a2fc5fbd1e WHIRLPOOL 71b4613325ace1c2f68d9c05f0b926eddc1c096b7a5dc3370f31fa5b7ecae361a139f34947c6cab3c75540acc1edaed5979bdd185471a56f2c42f4a1792c666b

View file

@ -0,0 +1,329 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/openrc-0.13.2.ebuild,v 1.2 2014/10/28 17:27:35 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 pentoo newnet 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? ( sec-policy/selinux-base-policy
sec-policy/selinux-openrc
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 )
)"
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 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."
}