Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 311723 Details for
Bug 415899
patch of sys-apps/openrc for Prefix directories
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
openrc.patch
openrc.patch (text/plain), 14.98 KB, created by
Benda Xu
on 2012-05-14 10:35:46 UTC
(
hide
)
Description:
openrc.patch
Filename:
MIME Type:
Creator:
Benda Xu
Created:
2012-05-14 10:35:46 UTC
Size:
14.98 KB
patch
obsolete
>--- /home/benda/gentoo/usr/portage/sys-apps/openrc/openrc-9999.ebuild 2012-04-26 23:33:26.000000000 +0900 >+++ openrc-9999.ebuild 2012-05-14 19:20:50.000000000 +0900 >@@ -25,7 +25,8 @@ RDEPEND="virtual/init > elibc_glibc? ( >=sys-libs/glibc-2.5 ) > ncurses? ( sys-libs/ncurses ) > pam? ( sys-auth/pambase ) >- >=sys-apps/baselayout-2.0.0 >+ !prefix? ( >=sys-apps/baselayout-2.0.0 ) >+ prefix? ( sys-apps/baselayout-prefix ) > kernel_linux? ( > sys-process/psmisc > ) >@@ -36,7 +37,7 @@ DEPEND="${RDEPEND} > make_args() { > unset LIBDIR #266688 > >- MAKE_ARGS="${MAKE_ARGS} LIBNAME=$(get_libdir) LIBEXECDIR=/$(get_libdir)/rc" >+ MAKE_ARGS="${MAKE_ARGS} LIBNAME=$(get_libdir) LIBEXECDIR=${EPREFIX}/$(get_libdir)/rc" > > local brand="Unknown" > if use kernel_linux ; then >@@ -53,6 +54,8 @@ make_args() { > if ! use static-libs; then > MAKE_ARGS="${MAKE_ARGS} MKSTATICLIBS=no" > fi >+ >+ MAKE_ARGS="${MAKE_ARGS} PREFIX=${EPREFIX}" > } > > pkg_setup() { >@@ -70,6 +73,14 @@ src_prepare() { > sed -i "/^GITVER[[:space:]]*=/s:=.*:=${ver}:" mk/git.mk || die > fi > >+ epatch ${FILESDIR}/${PN}-0.9.9.3-uprefix.patch >+ >+ # The build requires einfo.h. /usr/include/einfo.h itself >+ # belongs to openrc. While it is not a problem when it comes >+ # with stage3 tarball, such assumption does not stand in prefix >+ use prefix && ( cd src/includes; ln -snf ../libeinfo/einfo.h \ >+ || die "symlink einfo.h failed" ) >+ > # Allow user patches to be applied without modifying the ebuild > epatch_user > } >@@ -84,7 +95,7 @@ src_compile() { > # 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 >+ 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}" >@@ -95,7 +106,7 @@ set_config_yes_no() { > } > > src_install() { >- make_args >+ [[ ${MAKE_ARGS} == "*LIBEXECDIR*" ]] || make_args > emake ${MAKE_ARGS} DESTDIR="${D}" install > > # move the shared libs back to /usr so ldscript can install >@@ -110,8 +121,8 @@ src_install() { > > # Backup our default runlevels > dodir /usr/share/"${PN}" >- cp -PR "${D}"/etc/runlevels "${D}"/usr/share/${PN} || die >- rm -rf "${D}"/etc/runlevels >+ cp -PR "${ED}"/etc/runlevels "${ED}"/usr/share/${PN} || die >+ rm -rf "${ED}"/etc/runlevels > > # Install the default net configuration > doconfd conf.d/net >@@ -124,7 +135,7 @@ src_install() { > > # On HPPA, do not run consolefont by default (bug #222889) > if use hppa; then >- rm -f "${D}"/usr/share/openrc/runlevels/boot/consolefont >+ rm -f "${ED}"/usr/share/openrc/runlevels/boot/consolefont > fi > > # Support for logfile rotation >@@ -140,24 +151,24 @@ add_boot_init() { > 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} ]] \ >+ [[ -e ${ED}/etc/init.d/${initd} || -e ${EROOT}/etc/init.d/${initd} ]] \ > || return >- [[ -e ${ROOT}/etc/runlevels/${runlevel}/${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 ${ROOT}/etc/runlevels/${runlevel} ]] ; then >- mkdir -p "${ROOT}"/etc/runlevels/${runlevel} >- touch "${ROOT}"/etc/runlevels/.add_boot_init.created >+ 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} "${ROOT}"/etc/runlevels/${runlevel}/${initd} >+ ln -snf "${EPREFIX}"/etc/init.d/${initd} "${EROOT}"/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 >+ if [[ -e ${EROOT}${config} ]] ; then >+ if [[ -n $(sed -e 's:#.*::' -e '/^[[:space:]]*$/d' "${EROOT}"/${config}) ]] ; then > add_boot_init ${initd} > fi > fi >@@ -171,54 +182,54 @@ pkg_preinst() { > # 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/ >+ [[ -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 ${ROOT}/etc/conf.d/hostname ]] ; then >+ if [[ -e ${EROOT}/etc/conf.d/hostname ]] ; then > ( > unset hostname HOSTNAME >- source "${ROOT}"/etc/conf.d/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 ${ROOT}/etc/conf.d/clock && ! -e ${ROOT}/etc/timezone ]] ; then >+ if [[ -e ${EROOT}/etc/conf.d/clock && ! -e ${EROOT}/etc/timezone ]] ; then > ( > unset TIMEZONE >- source "${ROOT}"/etc/conf.d/clock >- [[ -n ${TIMEZONE} ]] && echo "${TIMEZONE}" > "${ROOT}"/etc/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 ${ROOT}/etc/conf.d/clock ]] ; then >- mv "${ROOT}"/etc/conf.d/clock "${ROOT}"/etc/conf.d/${clock} >+ if [[ -e ${EROOT}/etc/conf.d/clock ]] ; then >+ mv "${EROOT}"/etc/conf.d/clock "${EROOT}"/etc/conf.d/${clock} > fi >- if [[ -e ${ROOT}/etc/init.d/clock ]] ; then >- rm -f "${ROOT}"/etc/init.d/clock >+ if [[ -e ${EROOT}/etc/init.d/clock ]] ; then >+ rm -f "${EROOT}"/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} >+ if [[ -L ${EROOT}/etc/runlevels/boot/clock ]] ; then >+ rm -f "${EROOT}"/etc/runlevels/boot/clock >+ ln -snf "${EPREFIX}"/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 "${EPREFIX}"/etc/init.d/${clock} "${EROOT}${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 >+ 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 "${ROOT}"/etc/init.d/net.* ; do >+ 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 >@@ -266,7 +277,7 @@ migrate_udev_init_script() { > > 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 >+ 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 > >@@ -278,40 +289,40 @@ migrate_from_baselayout_1() { > 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 >+ [[ -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 ${ROOT}${LIBDIR}/rc/init.d/started ]] ; then >+ if [[ ! -e ${EROOT}${LIBDIR}/rc/init.d/started ]] ; then > ( >- [[ -e ${ROOT}/etc/conf.d/rc ]] && source "${ROOT}"/etc/conf.d/rc >+ [[ -e ${EROOT}/etc/conf.d/rc ]] && source "${EROOT}"/etc/conf.d/rc > svcdir=${svcdir:-/var/lib/init.d} >- if [[ ! -d ${ROOT}${svcdir}/started ]] ; then >+ if [[ ! -d ${EROOT}${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}" >+ 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 ${ROOT}/etc/modules.autoload.d ]] ; then >+ if [[ -d ${EROOT}/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 >+ 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 "${ROOT}"/etc/modules.autoload.d/* ; do >+ for f in "${EROOT}"/etc/modules.autoload.d/* ; do > v=${f##*/} > v=${v#kernel-} > v=${v//[^[:alnum:]]/_} >@@ -332,10 +343,10 @@ migrate_from_baselayout_1() { > print > } > END { print "\n### END: Auto-converted from " f "\n" } >- ' "${f}" >> "${D}"/etc/conf.d/modules >+ ' "${f}" >> "${ED}"/etc/conf.d/modules > done > rm -f "${f}" >- rmdir "${ROOT}"/etc/modules.autoload.d 2>/dev/null >+ rmdir "${EROOT}"/etc/modules.autoload.d 2>/dev/null > fi > fi > } >@@ -344,29 +355,29 @@ 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 >+ 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 ${ROOT}/etc/runlevels ]] || [[ -e ${ROOT}/etc/runlevels/.add_boot_init.created ]] ; then >+ if [[ ! -e ${EROOT}/etc/runlevels ]] || [[ -e ${EROOT}/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 >+ cp -RPp "${EROOT}"/usr/share/${PN}/runlevels "${EROOT}"/etc >+ rm -f "${EROOT}"/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 >+ 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 ${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 >+ 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="${ROOT}/etc/conf.d/net.example" >+ 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 >@@ -376,11 +387,11 @@ pkg_postinst() { > 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" >+ 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="${ROOT}/etc/conf.d/wireless.example" >+ 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 >@@ -391,11 +402,11 @@ pkg_postinst() { > 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" >+ elog "Configure wireless settings in ${EROOT}/etc/conf.d/net" >+ elog "after reviewing ${EROOT}/usr/share/doc/${PF}/net.example" > fi > >- if [[ -d ${ROOT}/etc/modules.autoload.d ]] ; then >+ 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 >@@ -407,16 +418,16 @@ pkg_postinst() { > 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} >+ 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 > > # update the dependency tree after touching all files #224171 >- [[ "${ROOT}" = "/" ]] && "${ROOT}/${LIBDIR}"/rc/bin/rc-depend -u >+ [[ "${ROOT}" = "/" ]] && "${EROOT}/${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."
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 415899
:
311723
|
311725
|
324072
|
324446