version bump, bug #387433 tracks changes since openrc-0.9.4.
authorWilliam Hubbs <williamh@gentoo.org>
Fri, 25 Nov 2011 21:54:59 +0000 (21:54 +0000)
committerWilliam Hubbs <williamh@gentoo.org>
Fri, 25 Nov 2011 21:54:59 +0000 (21:54 +0000)
Package-Manager: portage-2.2.0_alpha77/cvs/Linux x86_64

sys-apps/openrc/ChangeLog
sys-apps/openrc/Manifest
sys-apps/openrc/openrc-0.9.6.ebuild [new file with mode: 0644]
sys-apps/openrc/openrc-9999.ebuild

index 0b4b7c58b4af0ae48cadb50db02a1cd675c27c5f..4bea13a76b1b25d7b7c11131d30291c71404267d 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for sys-apps/openrc
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/ChangeLog,v 1.178 2011/11/22 19:46:53 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/ChangeLog,v 1.179 2011/11/25 21:54:59 williamh Exp $
+
+*openrc-0.9.6 (25 Nov 2011)
+
+  25 Nov 2011; William Hubbs <williamh@gentoo.org> +openrc-0.9.6.ebuild,
+  openrc-9999.ebuild:
+  version bump, bug #387433 tracks changes since openrc-0.9.4.
 
   22 Nov 2011; Jeroen Roovers <jer@gentoo.org> openrc-0.9.4.ebuild:
   Stable for HPPA (bug #391271).
index ba614be67eac5499396c6b9112abe0b9627f5a67..a78ea4ae71c8b82771e93d3bf550939aa68e2e17 100644 (file)
@@ -1,6 +1,3 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
 AUX openrc-0.8.3-ccwgroup.patch 1992 RMD160 7a403f5107b17c200b81e4290292e74ec9f222fe SHA1 228f924991c870e7a9ab227c0b9d99e00dbb3d8a SHA256 5a092cc0ab90507c28f8bd6af34b67fbb3d8a9ddce257195dde55128f87324fc
 AUX openrc-0.8.3-deprecation_warning.patch 1055 RMD160 f91a0ca1aba21c9da5e968ae66f709e1751459d1 SHA1 8a07d6106ce4675087224c5cd22d5c9ce01696fb SHA256 fa95aaa34db3556240031fcfb5e33d85e44da2a2f74562faa97c75f569d4efa0
 AUX openrc-9999-msg-style.patch 2775 RMD160 af958b2a8ed5ad29f25b53bad9a426cf7e173405 SHA1 251b8d0a52bb6e98d80a5213afc4d067583441fc SHA256 637fc2d13e0940b55b7d4613ebf8ebabdee87a802a2690191c01fd5ee7cb3581
@@ -11,18 +8,13 @@ DIST openrc-0.8.3.tar.bz2 162474 RMD160 51728d13abaf10df0309f20efb5181cf46c71277
 DIST openrc-0.9.2.tar.bz2 163107 RMD160 35ce9150d03aa442627713678f8f215ebb86b3b5 SHA1 cebb0f32d22ceb98118437ad89c964163cf35823 SHA256 5831bb8a8018f4e11a68548bbbbe71eafb149a1ef6efa8db19f21948fd1763af
 DIST openrc-0.9.3.tar.bz2 163749 RMD160 4204d0638fe26af5e22305d1c8f910782953baef SHA1 24b7ee4cc92fda6b3be580aaf5897913b84b9b00 SHA256 fa7797754cad68ae0aa612e8969d124fc24a3c48edafce02133cf15f3d6c68b2
 DIST openrc-0.9.4.tar.bz2 163514 RMD160 b0c5b10a562b7a906d762f9b735aa386be6c4afa SHA1 a44f0606db29b6aa2cf98c1907c915e8da5acf4f SHA256 0da3981de88c16b24d14b37d4d2eb0f631cbe5ebe3058dd8c2e32f7092937ae3
+DIST openrc-0.9.6.tar.bz2 164381 RMD160 17a6e3bc837f968553d05a529896b066a389230f SHA1 59af1e0ab4a48819cf3d8e1d72ce20a9c26db7aa SHA256 28d207907ca8997cc8f816363bb728edb0557fd4a10f6766e82206dcb490db83
 EBUILD openrc-0.8.3-r1.ebuild 14183 RMD160 8616014525efc3de34ccb4b780c25f37f29093eb SHA1 6c641ff2877c321112c071467b7f0860bfeedd38 SHA256 dd06d6539d01e0a517b230341d0553ca90af9938f2e9d2fd622ca43d1e7960dd
 EBUILD openrc-0.9.2.ebuild 14179 RMD160 3775f445228811986554186d2865effd79345344 SHA1 d68704ca240ad67086ee56f9bac9764942ba1358 SHA256 f0f69286e5933a32b896ab0946e2af58b0ad1bf6454bda3ae370eef69abfeb31
 EBUILD openrc-0.9.3-r1.ebuild 14192 RMD160 c897085d00542b34e416bd3e38f46c993edd24e8 SHA1 2c3189ecc608bab0f1c2818f29871970123edcaf SHA256 5d5f2a33188743d2739463693f56f47f0f2782652b61b78b3000afe4738f98b6
 EBUILD openrc-0.9.3.ebuild 14179 RMD160 636683e3572c56c0e69020bbad2a704561596928 SHA1 38167d4fa5efebc8ee98cf475771c4efb4c48be5 SHA256 5104c6daa2bff6b474045d28841635ac8055dd78674c246ab6d594a7bcdb5876
 EBUILD openrc-0.9.4.ebuild 14181 RMD160 c138521d78eb1178ed06b08464edce70f918d69c SHA1 5750142ef63642ac2a1077cac463e8dc54e34855 SHA256 89b080e1ab20bea00137c1ef3ba9f0c30e753f2abc40bfec3b4530797de35214
-EBUILD openrc-9999.ebuild 14017 RMD160 2e8cd739f1f7b9c6541f0b318bf45a738fdfc94d SHA1 7c923e91808ee67b5dada3d6f0c76058943601c7 SHA256 6b7dc4c5fb22bbb110e0aba7e142f8d44cc73a4f2fc13f23be0c5a57ed989a30
-MISC ChangeLog 32296 RMD160 50d11701432f9c0d6a13fbf43d1264bdf7ade04c SHA1 5c097abfe642a8e06a541f101b2252d91d75cf78 SHA256 d6990d877231a9cd7a1314236a8aa955d9ad1959afd9715f5e7745cb8bb99c61
+EBUILD openrc-0.9.6.ebuild 14123 RMD160 9e98207c80f40cc744d73c889445a3f14f6b01f1 SHA1 c79e390451a85f66d3d7e42fd83eb0f03fdc8e6d SHA256 1b324935229f4b9802f2d41cccd306a896958855db81233da0e2e0cb093fe58b
+EBUILD openrc-9999.ebuild 14123 RMD160 81228903fd0b33027a68bfe36bbd1a727cdad445 SHA1 13602eeeac9d0f23b0beb7436b507f892cda1eee SHA256 74758ec0dc422ef0351f022d8b4b6775646808afa0b4bee844514331d7e9a1e7
+MISC ChangeLog 32489 RMD160 7ac6f6103c7cbe7c94cdb1d96fa46b1d57685ea5 SHA1 0603878f93fd4637ef96a96abb2d03f5d9ffd496 SHA256 221605562aceb07ced5c095926d4c9922dee44c015ef184bcd1896208394e94a
 MISC metadata.xml 159 RMD160 b92bb52b0f2ee2c0ee08ac8b32f98c3521f9d480 SHA1 aac3cb897981c4918f5f2244d192b5bcc6727d36 SHA256 ca2e1a5ac106397eca5111140a1b07830e4d5dfacbeadba359fe17896c33a6c8
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.17 (GNU/Linux)
-
-iEUEARECAAYFAk7L/DMACgkQVWmRsqeSphO0zQCY+70pzTSZ9/4MTOHg4B6ct4WG
-KwCeOlHBQ0qI+nauQwDcNsEGMAhs3Uw=
-=HFnx
------END PGP SIGNATURE-----
diff --git a/sys-apps/openrc/openrc-0.9.6.ebuild b/sys-apps/openrc/openrc-0.9.6.ebuild
new file mode 100644 (file)
index 0000000..909b036
--- /dev/null
@@ -0,0 +1,426 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/openrc-0.9.6.ebuild,v 1.1 2011/11/25 21:54:59 williamh Exp $
+
+EAPI=4
+
+EGIT_REPO_URI="git://git.overlays.gentoo.org/proj/${PN}.git"
+[[ ${PV} == "9999" ]] && SCM_ECLASS="git-2"
+inherit eutils flag-o-matic multilib pam toolchain-funcs ${SCM_ECLASS}
+unset SCM_ECLASS
+
+DESCRIPTION="OpenRC manages the services, startup and shutdown of a host"
+HOMEPAGE="http://www.gentoo.org/proj/en/base/openrc/"
+if [[ ${PV} != "9999" ]] ; then
+       SRC_URI="mirror://gentoo/${P}.tar.bz2"
+       KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
+fi
+
+LICENSE="BSD-2"
+SLOT="0"
+IUSE="debug elibc_glibc ncurses pam selinux unicode kernel_linux kernel_FreeBSD
+       static-libs"
+
+RDEPEND="virtual/init
+       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? ( virtual/pam )
+       >=sys-apps/baselayout-2.0.0
+       kernel_linux? ( !<sys-apps/module-init-tools-3.2.2-r2 )
+       !<sys-fs/udev-133
+       !<sys-apps/sysvinit-2.86-r11"
+DEPEND="${RDEPEND}
+       virtual/os-headers"
+
+make_args() {
+       unset LIBDIR #266688
+
+       MAKE_ARGS="${MAKE_ARGS} LIBNAME=$(get_libdir) LIBEXECDIR=/$(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
+       export BRANDING="Gentoo ${brand}"
+       if ! use static-libs; then
+                       MAKE_ARGS="${MAKE_ARGS} MKSTATICLIBS=no"
+       fi
+}
+
+pkg_setup() {
+       export DEBUG=$(usev debug)
+       export MKPAM=$(usev pam)
+       export MKTERMCAP=$(usev 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() {
+       make_args
+
+       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="${D}/$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() {
+       make_args
+       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 "${D}"/$(get_libdir)/lib{einfo,rc}* "${D}"/usr/$(get_libdir)/ || die
+       #gen_usr_ldscript -a einfo rc
+       gen_usr_ldscript libeinfo.so
+       gen_usr_ldscript librc.so
+
+       keepdir /$(get_libdir)/rc/{init.d,tmp}
+
+       # Backup our default runlevels
+       dodir /usr/share/"${PN}"
+       cp -PR "${D}"/etc/runlevels "${D}"/usr/share/${PN} || die
+       rm -rf "${D}"/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 "${D}"/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 ${D}/etc/init.d/${initd} || -e ${ROOT}/etc/init.d/${initd} ]] \
+               || return
+       [[ -e ${ROOT}/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 ${ROOT}/etc/runlevels/${runlevel} ]] ; then
+               mkdir -p "${ROOT}"/etc/runlevels/${runlevel}
+               touch "${ROOT}"/etc/runlevels/.add_boot_init.created
+       fi
+
+       elog "Auto-adding '${initd}' service to your ${runlevel} runlevel"
+       ln -snf /etc/init.d/${initd} "${ROOT}"/etc/runlevels/${runlevel}/${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 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 ${ROOT}/etc/conf.d/net ]] && cp "${ROOT}"/etc/conf.d/net "${D}"/etc/conf.d/
+
+       # avoid default thrashing in conf.d files when possible #295406
+       if [[ -e ${ROOT}/etc/conf.d/hostname ]] ; then
+               (
+               unset hostname HOSTNAME
+               source "${ROOT}"/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 ${ROOT}/etc/conf.d/clock && ! -e ${ROOT}/etc/timezone ]] ; then
+               (
+               unset TIMEZONE
+               source "${ROOT}"/etc/conf.d/clock
+               [[ -n ${TIMEZONE} ]] && echo "${TIMEZONE}" > "${ROOT}"/etc/timezone
+               )
+       fi
+
+       # /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 [[ -e ${ROOT}/etc/init.d/clock ]] ; then
+               rm -f "${ROOT}"/etc/init.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
+
+       # 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
+
+       # migrate-run was added in 0.9.5 and is needed in boot
+       use kernel_linux && add_boot_init migrate-run
+
+       # 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
+}
+
+# >=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
+}
+
+migrate_from_baselayout_1() {
+       # baselayout boot init scripts have been split out
+       for f in $(cd "${D}"/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 ${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 our 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() {
+       local LIBDIR=$(get_libdir)
+
+       # Remove old baselayout links
+       rm -f "${ROOT}"/etc/runlevels/boot/{check{fs,root},rmnologin}
+       rm -f "${ROOT}"/etc/init.d/{depscan,runscript}.sh
+
+       # Make our runlevels if they don't exist
+       if [[ ! -e ${ROOT}/etc/runlevels ]] || [[ -e ${ROOT}/etc/runlevels/.add_boot_init.created ]] ; then
+               einfo "Copying across default runlevels"
+               cp -RPp "${ROOT}"/usr/share/${PN}/runlevels "${ROOT}"/etc
+               rm -f "${ROOT}"/etc/runlevels/.add_boot_init.created
+       else
+               if [[ ! -e ${ROOT}/etc/runlevels/sysinit/devfs ]] ; then
+                       mkdir -p "${ROOT}"/etc/runlevels/sysinit
+                       cp -RPp "${ROOT}"/usr/share/${PN}/runlevels/sysinit/* \
+                               "${ROOT}"/etc/runlevels/sysinit
+               fi
+               if [[ ! -e ${ROOT}/etc/runlevels/shutdown/mount-ro ]] ; then
+                       mkdir -p "${ROOT}"/etc/runlevels/shutdown
+                       cp -RPp "${ROOT}"/usr/share/${PN}/runlevels/shutdown/* \
+                               "${ROOT}"/etc/runlevels/shutdown
+               fi
+       fi
+
+       # /etc/conf.d/net.example is no longer valid
+       local NET_EXAMPLE="${ROOT}/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 ${ROOT}/usr/share/doc/${PF}/net.example"
+       fi
+
+       # /etc/conf.d/wireless.example is no longer valid
+       local WIRELESS_EXAMPLE="${ROOT}/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 ${ROOT}/etc/conf.d/net"
+               elog "after reviewing ${ROOT}/usr/share/doc/${PF}/net.example"
+       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
+
+       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 "${ROOT}"etc/conf.d/local.{start,stop} ; then
+               elog "Moving your ${ROOT}etc/conf.d/local.{start,stop}"
+               elog "files to ${ROOT}etc/local.d"
+               mv "${ROOT}"etc/conf.d/local.start "${ROOT}"etc/local.d/baselayout1.start
+               mv "${ROOT}"etc/conf.d/local.stop "${ROOT}"etc/local.d/baselayout1.stop
+               chmod +x "${ROOT}"etc/local.d/*{start,stop}
+       fi
+
+       # update the dependency tree after touching all files #224171
+       [[ "${ROOT}" = "/" ]] && "${ROOT}/${LIBDIR}"/rc/bin/rc-depend -u
+
+       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"
+}
index 9b2494d24566ee64af492fb1d0cfac3cd47682cd..92e9dde785bef39f0cf1cd0b6e5396581d75af8e 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/openrc-9999.ebuild,v 1.92 2011/11/21 22:37:21 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/openrc-9999.ebuild,v 1.93 2011/11/25 21:54:59 williamh Exp $
 
 EAPI=4
 
@@ -233,6 +233,9 @@ pkg_preinst() {
        # termencoding was added in 0.2.1 and needed in boot
        has_version ">=sys-apps/openrc-0.2.1" || add_boot_init termencoding
 
+       # migrate-run was added in 0.9.5 and is needed in boot
+       use kernel_linux && add_boot_init migrate-run
+
        # set default interactive shell to sulogin if it exists
        set_config /etc/rc.conf rc_shell /sbin/sulogin "#" test -e /sbin/sulogin