diff options
author | Doug Goldstein <cardoe@gentoo.org> | 2008-05-29 13:47:47 +0000 |
---|---|---|
committer | Doug Goldstein <cardoe@gentoo.org> | 2008-05-29 13:47:47 +0000 |
commit | 0233dc5779ee346fb092b8b5d6d1de349df60845 (patch) | |
tree | 0ca9f144732245d2f1889428adfed48d0550f172 /sys-apps | |
parent | Empty HOMEPAGE according to devmanual. (diff) | |
download | historical-0233dc5779ee346fb092b8b5d6d1de349df60845.tar.gz historical-0233dc5779ee346fb092b8b5d6d1de349df60845.tar.bz2 historical-0233dc5779ee346fb092b8b5d6d1de349df60845.zip |
version bump to fix a few outstanding bugs. 1) when a process stops, it may delete it's pid file before actually being stopped
Package-Manager: portage-2.1.5.2
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/openrc/ChangeLog | 8 | ||||
-rw-r--r-- | sys-apps/openrc/Manifest | 10 | ||||
-rw-r--r-- | sys-apps/openrc/openrc-0.2.5.ebuild | 273 |
3 files changed, 286 insertions, 5 deletions
diff --git a/sys-apps/openrc/ChangeLog b/sys-apps/openrc/ChangeLog index 756326e8a966..8304edad2a0e 100644 --- a/sys-apps/openrc/ChangeLog +++ b/sys-apps/openrc/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-apps/openrc # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/ChangeLog,v 1.36 2008/05/16 18:15:37 cardoe Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/ChangeLog,v 1.37 2008/05/29 13:47:47 cardoe Exp $ + +*openrc-0.2.5 (29 May 2008) + + 29 May 2008; Doug Goldstein <cardoe@gentoo.org> +openrc-0.2.5.ebuild: + version bump to fix a few outstanding bugs. 1) when a process stops, it + may delete it's pid file before actually being stopped *openrc-0.2.4-r1 (14 May 2008) diff --git a/sys-apps/openrc/Manifest b/sys-apps/openrc/Manifest index cb90a4476f53..4a5ca717f66c 100644 --- a/sys-apps/openrc/Manifest +++ b/sys-apps/openrc/Manifest @@ -8,17 +8,19 @@ AUX openrc-0.2.4-start-nodep.patch 799 RMD160 684a35626ddd1f72466842adb677cb1564 DIST openrc-0.2.2.tar.bz2 142186 RMD160 50c54259e8824306f353f3bdc784c81ff075d1ba SHA1 60cac0ab72743b821b28b330e732b96d6170d63e SHA256 10b4ecff9b58e2d60d357a4d09770698c30d7031cd128d1b9f53a080f0df54e6 DIST openrc-0.2.3.tar.bz2 142479 RMD160 faf0588c19aa3b4a834fc8838eb018d3a60b95bf SHA1 9cc1643bd56bd8cb3a238c76018f0f438b89bcce SHA256 c276b613ac57d50909336c094ba9c97193df3e3c4de29246f623a31ea7a9e6a0 DIST openrc-0.2.4.tar.bz2 142810 RMD160 df085e149ec3b410afa6a7d32b8c5579143513c0 SHA1 7ae114cdf5c391f46769fe5c0c26140327f6f9ca SHA256 e8038278d16aaf83d94a4be911bc94dcbb943928f2871bfdcecfb4fbdeec5cdc +DIST openrc-0.2.5.tar.bz2 142526 RMD160 5938b2186b7ef84890d4a6aebb9aeb3bf272e609 SHA1 e41249abb9f68ac0ebf92c080276499bd22daa94 SHA256 f81e6a84f016dcecdee67067d6c0bc85f3184baa6c127cc406cc00e88a45bec2 EBUILD openrc-0.2.2.ebuild 8831 RMD160 2afa29b02af98ee215fdb1cf7ce8ffeb28c2e550 SHA1 d252c83d8af9a14b353b8d31e6e7bd7cb86063bd SHA256 d097de68538cd29cba6a8bee785058ea3c7b09c9b03950f429aef3ad9381a02a EBUILD openrc-0.2.3.ebuild 8831 RMD160 9c20bf75aa9bd701bda1d3a03accdd2f8f53015d SHA1 ed65da14a702bf4c861608177c16301e2445647e SHA256 4d9e573e9ea4bcb5a8b7d897f9c0d8674ac71d82a67e5f835411ee35d8861293 EBUILD openrc-0.2.4-r1.ebuild 8955 RMD160 263224dd336974e2909921c8b6add525ce3c5430 SHA1 d17eaca482fc0eb4b7c716af469abc1f67b89ed8 SHA256 3ef68c487299f5487eb4ad5d76aaf1925daf0a13a1bd280231b53ef3e267d916 EBUILD openrc-0.2.4.ebuild 8831 RMD160 ef7f0d383a667600e47edd2cd63404b8b8643e53 SHA1 d779481a0388af6be1ae2c0c384b37d65912a506 SHA256 ae95509b4478780788ac291a294ea8926aae473040b7be7f17f64d4fee3dc4fe +EBUILD openrc-0.2.5.ebuild 8884 RMD160 f7acacd3e7d8505fa83e4187c5a99983df88d366 SHA1 727ddcd2c40b6a1c28f9584c7c78f7689553a657 SHA256 a937eadf14247b478f93127f424248f8d1cb110427f7f84e832ccaca89c55228 EBUILD openrc-9999.ebuild 8609 RMD160 3869f5b2070090d794f0997c6203c1b5dcfa0ca8 SHA1 69035cfc762c5b2b2560b2228b7dad36125d828e SHA256 247ce75887f8419a471f87a29b0493fb2ef253595f4b8415385a6f1b3c6c2b8f -MISC ChangeLog 6174 RMD160 71f65e43999972673e1a9664059fc99d6117a8f1 SHA1 cbcd122850b5be1aeb64f49bbce467f3d403ef8d SHA256 35c2d96d9c9d987357b26cc20295f7195c0ca6ab346835e4daaaae5349f20333 +MISC ChangeLog 6407 RMD160 e4791868259e20e4d502c6b03b695f5f10846413 SHA1 77ff2ed6e93f22e12b173bc8053c7a0657464602 SHA256 60f2eb5d32c834dd40be913ab0b57fced62736a91bce31557d78ee36eb81bf05 MISC metadata.xml 231 RMD160 c39b780fbbb9eb38f1ba1a0ee134231ca8e7449c SHA1 d5a4c0d0c7641c862b43e742f832bab6c69482d8 SHA256 02e8fa3806efbc7cea8bc78653397b8d59b398faca8bcfd3aabb216103cd8f4f -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) -iEYEARECAAYFAkg0Qe0ACgkQoeSe8B0zEfzqIwCeP2q0pbUfR7BzAhC1nAdCO8yY -9jAAmwYcKRZHWe5dGfl/MQL59fXZszsU -=5HNA +iEYEARECAAYFAkg+tCQACgkQoeSe8B0zEfxwZQCgh2iM0IZyJrsWgIBbdrJeAusC +QNMAoIIQY8dLGVhBiYy2WRpyNUW/skmR +=f9a/ -----END PGP SIGNATURE----- diff --git a/sys-apps/openrc/openrc-0.2.5.ebuild b/sys-apps/openrc/openrc-0.2.5.ebuild new file mode 100644 index 000000000000..0777c76aa244 --- /dev/null +++ b/sys-apps/openrc/openrc-0.2.5.ebuild @@ -0,0 +1,273 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/openrc-0.2.5.ebuild,v 1.1 2008/05/29 13:47:47 cardoe Exp $ + +inherit eutils flag-o-matic multilib toolchain-funcs + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="git://git.overlays.gentoo.org/proj/openrc.git" + EGIT_BRANCH="master" + inherit git +else + SRC_URI="http://roy.marples.name/${PN}/${P}.tar.bz2 + mirror://gentoo/${P}.tar.bz2 + http://dev.gentoo.org/~cardoe/files/${P}.tar.bz2 + http://dev.gentoo.org/~vapier/dist/${P}.tar.bz2" +fi + +DESCRIPTION="OpenRC manages the services, startup and shutdown of a host" +HOMEPAGE="http://roy.marples.name/openrc" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" +IUSE="debug ncurses pam unicode kernel_linux kernel_FreeBSD" + +RDEPEND="virtual/init + kernel_linux? ( >=sys-apps/module-init-tools-3.2.2-r2 ) + kernel_FreeBSD? ( sys-process/fuser-bsd ) + elibc_glibc? ( >=sys-libs/glibc-2.5 ) + ncurses? ( sys-libs/ncurses ) + pam? ( virtual/pam ) + >=sys-apps/baselayout-2.0.0 + !<sys-fs/udev-118-r2" +DEPEND="${RDEPEND} + virtual/os-headers" + +pkg_setup() { + LIBDIR="lib" + [ "${SYMLINK_LIB}" = "yes" ] && LIBDIR=$(get_abi_LIBDIR "${DEFAULT_ABI}") + + MAKE_ARGS="${MAKE_ARGS} LIBNAME=${LIBDIR}" + + 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 + export BRANDING="Gentoo ${brand}" + + export DEBUG=$(usev debug) + export MKPAM=$(usev pam) + export MKTERMCAP=$(usev ncurses) +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + git_src_unpack + else + unpack ${A} + fi + cd "${S}" + epatch "${FILESDIR}"/9999/*.patch +} + +src_compile() { + # catch people running `ebuild` w/out setup + if [[ -z ${MAKE_ARGS} ]] ; then + die "Your MAKE_ARGS is empty ... are you running 'ebuild' but forgot to execute 'setup' ?" + fi + + if [[ ${PV} == "9999" ]] ; then + local ver="git-$(git --git-dir=${EGIT_STORE_DIR}/${EGIT_PROJECT} rev-parse --verify ${EGIT_BRANCH} | cut -c1-8)" + sed -i "/^VERSION[[:space:]]*=/s:=.*:=${ver}:" Makefile + fi + + tc-export CC AR RANLIB + echo emake ${MAKE_ARGS} + emake ${MAKE_ARGS} || die "emake ${MAKE_ARGS} failed" +} + +src_install() { + emake ${MAKE_ARGS} DESTDIR="${D}" install || die "make install failed" + gen_usr_ldscript libeinfo.so + gen_usr_ldscript librc.so + + keepdir /"${LIBDIR}"/rc/init.d + keepdir /"${LIBDIR}"/rc/tmp + + # Backup our default runlevels + dodir /usr/share/"${PN}" + mv "${D}/etc/runlevels" "${D}/usr/share/${PN}" + + # Setup unicode defaults for silly unicode users + use unicode && sed -i -e '/^unicode=/s:NO:YES:' "${D}"/etc/rc.conf + + # Cater to the norm + (use x86 || use amd64) && sed -i -e '/^windowkeys=/s:NO:YES:' "${D}"/etc/conf.d/keymaps +} + +add_boot_init() { + local initd=$1 + # if the initscript is not going to be installed and is not + # currently installed, return + [[ -e ${D}/etc/init.d/${initd} || -e ${ROOT}/etc/init.d/${initd} ]] \ + || return + [[ -e ${ROOT}/etc/runlevels/boot/${initd} ]] && return + elog "Auto-adding '${initd}' service to your boot runlevel" + ln -snf /etc/init.d/${initd} "${ROOT}"/etc/runlevels/boot/${initd} +} +add_boot_init_mit_config() { + local config=$1 initd=$2 + if [[ -e ${ROOT}${config} ]] ; then + if [[ -n $(sed -e 's:#.*::' -e '/^[[:space:]]*$/d' "${ROOT}"/${config}) ]] ; then + add_boot_init ${initd} + fi + fi +} + +pkg_preinst() { + local f + + # default net script is just comments, so no point in biting people + # in the ass by accident + mv "${D}"/etc/conf.d/net "${T}"/ + [[ -e ${ROOT}/etc/conf.d/net ]] && cp "${ROOT}"/etc/conf.d/net "${T}"/ + + # /etc/conf.d/clock moved to /etc/conf.d/hwclock + local clock + use kernel_FreeBSD && clock="adjkerntz" || clock="hwclock" + if [[ -e ${ROOT}/etc/conf.d/clock ]] ; then + mv "${ROOT}"/etc/conf.d/clock "${ROOT}"/etc/conf.d/${clock} + fi + if [[ -L ${ROOT}/etc/runlevels/boot/clock ]] ; then + rm -f "${ROOT}"/etc/runlevels/boot/clock + ln -snf /etc/init.d/${clock} "${ROOT}"/etc/runlevels/boot/${clock} + fi + if [[ -L ${ROOT}${LIBDIR}/rc/init.d/started/clock ]] ; then + rm -f "${ROOT}${LIBDIR}"/rc/init.d/started/clock + ln -snf /etc/init.d/${clock} "${ROOT}${LIBDIR}"/rc/init.d/started/${clock} + fi + + # /etc/conf.d/rc is no longer used for configuration + if [[ -e ${ROOT}/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 + + # upgrade timezone file + if [[ -e ${ROOT}/etc/conf.d/clock && ! -e ${ROOT}/etc/timezone ]] ; then + ( + source "${ROOT}"/etc/conf.d/clock + [[ -n ${TIMEZONE} ]] && echo "${TIMEZONE}" > "${ROOT}"/etc/timezone + ) + fi + + # force net init.d scripts into symlinks + for f in "${ROOT}"/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 + + # skip remaining migration if we already have openrc installed + has_version sys-apps/openrc && return 0 + + # baselayout boot init scripts have been split out + for f in $(cd "${D}"/usr/share/${PN}/runlevels/boot || exit; echo *) ; do + 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 ${ROOT}/sbin/dmsetup ]] && add_boot_init device-mapper + [[ -e ${ROOT}/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 out state for baselayout-1 users + if [[ ! -e ${ROOT}${LIBDIR}/rc/init.d/started ]] ; then + ( + [[ -e ${ROOT}/etc/conf.d/rc ]] && source "${ROOT}"/etc/conf.d/rc + svcdir=${svcdir:-/var/lib/init.d} + if [[ ! -d ${ROOT}${svcdir}/started ]] ; then + ewarn "No state found, and no state exists" + elog "You should reboot this host" + else + mkdir -p "${ROOT}${LIBDIR}/rc/init.d" + einfo "Moving state from ${ROOT}${svcdir} to ${ROOT}${LIBDIR}/rc/init.d" + mv "${ROOT}${svcdir}"/* "${ROOT}${LIBDIR}"/rc/init.d + rm -rf "${ROOT}${LIBDIR}"/rc/init.d/daemons \ + "${ROOT}${LIBDIR}"/rc/init.d/console + umount "${ROOT}${svcdir}" 2>/dev/null + rm -rf "${ROOT}${svcdir}" + fi + ) + fi + + # Handle the /etc/modules.autoload.d -> /etc/conf.d/modules transition + if [[ -d ${ROOT}/etc/modules.autoload.d ]] ; then + elog "Converting your /etc/modules.autoload.d/ files to /etc/conf.d/modules" + rm -f "${ROOT}"/etc/modules.autoload.d/.keep* + rmdir "${ROOT}"/etc/modules.autoload.d 2>/dev/null + if [[ -d ${ROOT}/etc/modules.autoload.d ]] ; then + local f v + for f in "${ROOT}"/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}" >> "${D}"/etc/conf.d/modules + done + rm -f "${f}" + rmdir "${ROOT}"/etc/modules.autoload.d 2>/dev/null + fi + fi +} + +pkg_postinst() { + # Remove old baselayout links + rm -f "${ROOT}"/etc/runlevels/boot/{check{fs,root},rmnologin} + + [[ -e ${T}/net && ! -e ${ROOT}/etc/conf.d/net ]] && mv "${T}"/net "${ROOT}"/etc/conf.d/net + + # Make our runlevels if they don't exist + if [[ ! -e ${ROOT}/etc/runlevels ]] ; then + einfo "Copying across default runlevels" + cp -RPp "${ROOT}"/usr/share/${PN}/runlevels "${ROOT}"/etc + fi + + if [[ -d ${ROOT}/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 + + 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" +} |