diff options
author | 2009-02-13 09:07:24 +0000 | |
---|---|---|
committer | 2009-02-13 09:07:24 +0000 | |
commit | 501c1a7ad5d440cee5148a9f431684e3dc017f6b (patch) | |
tree | 12300ade6f8c73995f876de75d7833610d6ef08d | |
parent | Marked ~hppa (bug #258458). (diff) | |
download | historical-501c1a7ad5d440cee5148a9f431684e3dc017f6b.tar.gz historical-501c1a7ad5d440cee5148a9f431684e3dc017f6b.tar.bz2 historical-501c1a7ad5d440cee5148a9f431684e3dc017f6b.zip |
Fix is_older_than, Bug #258688.
Package-Manager: portage-2.1.6.7/cvs/Linux i686
-rw-r--r-- | sys-apps/openrc/ChangeLog | 8 | ||||
-rw-r--r-- | sys-apps/openrc/Manifest | 10 | ||||
-rw-r--r-- | sys-apps/openrc/files/openrc-0.4.3-fix-is_older_than.patch | 42 | ||||
-rw-r--r-- | sys-apps/openrc/openrc-0.4.3-r1.ebuild | 317 |
4 files changed, 372 insertions, 5 deletions
diff --git a/sys-apps/openrc/ChangeLog b/sys-apps/openrc/ChangeLog index ca9a03595ba7..b49971344b13 100644 --- a/sys-apps/openrc/ChangeLog +++ b/sys-apps/openrc/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-apps/openrc # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/ChangeLog,v 1.63 2009/02/11 14:31:23 cardoe Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/ChangeLog,v 1.64 2009/02/13 09:07:16 zzam Exp $ + +*openrc-0.4.3-r1 (13 Feb 2009) + + 13 Feb 2009; Matthias Schwarzott <zzam@gentoo.org> + +files/openrc-0.4.3-fix-is_older_than.patch, +openrc-0.4.3-r1.ebuild: + Fix is_older_than, Bug #258688. 11 Feb 2009; Doug Goldstein <cardoe@gentoo.org> -files/0.4.3/0001-msg-style.patch, diff --git a/sys-apps/openrc/Manifest b/sys-apps/openrc/Manifest index 0410c8637256..c0ada4f645ae 100644 --- a/sys-apps/openrc/Manifest +++ b/sys-apps/openrc/Manifest @@ -13,19 +13,21 @@ AUX 0.4.2/0004-svn-version.patch 450 RMD160 7e85a0b4e08bd9554749ab384ce61bab4b7d AUX 9999/0001-msg-style.patch 1709 RMD160 c8f22d90c66cd99da701d0840094694d96269def SHA1 2983c97f1b3c770d9b2afce4540d6d8a7db8abe7 SHA256 5a5d7cd9c0289eb9e7332b01aa15331e8497579efc78ea4d833400d00cb46f7b AUX 9999/0002-useful-functions.patch 1803 RMD160 be1963ad7d51deb8ffc96d9ce5d7c59903e9dbcd SHA1 d07901d1c65af2c37a4817d05b364f736b66470c SHA256 d270bba9141333df12c5b5795566bba9f59ba6d6c26a58f09abf0c394f802475 AUX 9999/0003-KV.patch 2569 RMD160 7ccbca71beba996aedcec5aa1def57a96c008893 SHA1 d3489d7a34f9984b4267819677b5e4549c12fc00 SHA256 dab3a00036718ea99058f362d84a4bac5e9bbd4eff934f1ad1d4da85c8551539 +AUX openrc-0.4.3-fix-is_older_than.patch 896 RMD160 8e0cf759932312ddab7e6dfc06c0e08c27f94629 SHA1 a3d9d3ab2d47f2f75529bd32a02ad4541b4aef18 SHA256 d047b14b49c7ce5bf53167a6e0b47d7c23830d91eeeb25d9e0df1330f9f1b1ab DIST openrc-0.4.1.tar.bz2 144429 RMD160 86510cb298eaa8f5f8cef4569e4df903650935de SHA1 1e56096b02a91ae7f455765f3334dfa8cc887f97 SHA256 0b6de456b1f5398089f8d4f805dcee427dced4d6245dfe1427b1994c2d2fa16b DIST openrc-0.4.2.tar.bz2 144825 RMD160 68f559ddb41f5fcc367298f258b43bf667af45c3 SHA1 da75f8a9d81639fa7e5de5b398c3b807190be520 SHA256 df6463ba76b3700d803b3fe81c9cd6d511142225ada7ff655cb71b91ca1bf8af DIST openrc-0.4.3.tar.bz2 145668 RMD160 9e517cb492651c5fc5f90ba1b52d42238cd239ad SHA1 8b23b410b4cc26670b509bf72a1e6e1e21639cd2 SHA256 58d9e7fcdb9ed5137aff16c3a2f89a2c9296843b60b91830b0380734e27f42c9 EBUILD openrc-0.4.1-r1.ebuild 10257 RMD160 09b1f0ef469dadb4db344e87f5695cbf40a487cc SHA1 e4294348c3540c3b5bdf779ade99b08aa45074f7 SHA256 eb90bb18cd80ff2449f2071f829cb1a672059320b03d81543d8133ca85588315 EBUILD openrc-0.4.2.ebuild 10228 RMD160 769c35cd085c3b45d722321c1d13d35b8c4c7283 SHA1 111aa2392d965846dc9ddf1c535010eec1524ed0 SHA256 b17d081ec30ae557bf5d2664b25e51f1b0425f08d4d8eba932c5a33672555681 +EBUILD openrc-0.4.3-r1.ebuild 10401 RMD160 a3a893677277873f0ea215df94075d73d8912e30 SHA1 e374022f5577d3616f20ebbbbb0e95d103265db4 SHA256 3317b03c5946aa2b09276c4a2b4352c90aee4af85373f1a90a27fa67c978ecaa EBUILD openrc-0.4.3.ebuild 10341 RMD160 c759e1a94c220df93a46f4a965dea25fc0bea019 SHA1 d044f3334857ad359cd491701a25c4cf9ec99f4c SHA256 1f2bbfc9c5a027a5513d91beab6cf1622bc02b7b9e882ad3295fa2e547e644cd EBUILD openrc-9999.ebuild 10129 RMD160 8a832f78324e5d6c72c31dbfcf86b0da2732802b SHA1 00a8eb5b146e24fc0b8ffb8b374cb2d631ad0d2d SHA256 0f2dc2caf6471ee98530b1dd038c2656be660c2d413fc346241bd5f343ace4b7 -MISC ChangeLog 13081 RMD160 23625fc636ab9a2986fbaac2bc0668ad5f002b1f SHA1 829fcf88a774d0c06c78170f036d20467331afa7 SHA256 51e77f0f3a778369d91e8ea4246b81f35141876c976e8e3c0d89d0f1fb63b301 +MISC ChangeLog 13271 RMD160 8b8598e8960377b6313f23000fade925c14a05f2 SHA1 f0f64908c163107e50fa5eb5448230f3689800c9 SHA256 b494dc63671ff50c0def2f37a5da7e2a3b6ba7f0c14a6e34039c0e1059bc9568 MISC metadata.xml 314 RMD160 ff92ab9cd3f1f3caf25d0be59cf658343d44991c SHA1 d9febb1ce1499c949a2478defda945a3ce716f73 SHA256 4eb82a61b3697027b5ccb1a328a763308c7e090aa23f69fe87b7b7966165fb33 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) -iEYEARECAAYFAkmS73UACgkQoeSe8B0zEfx7LwCeIiYWGZg5sYhn2Xne4f8DDtDJ -JvkAnig8qN+oznyAzdcXFLFAmQmpR0sT -=i8nz +iEYEARECAAYFAkmVOFsACgkQt2vP6XvVdOf1IwCdGEl+JYldk5k6FC1IM6q+5eZ2 +xjYAoOAqm9plDVdgH/JL0O77CrFRMprp +=koj0 -----END PGP SIGNATURE----- diff --git a/sys-apps/openrc/files/openrc-0.4.3-fix-is_older_than.patch b/sys-apps/openrc/files/openrc-0.4.3-fix-is_older_than.patch new file mode 100644 index 000000000000..263e06a000c4 --- /dev/null +++ b/sys-apps/openrc/files/openrc-0.4.3-fix-is_older_than.patch @@ -0,0 +1,42 @@ +Index: src/librc/librc-depend.c +=================================================================== +--- src/librc/librc-depend.c (Revision 1497) ++++ src/librc/librc-depend.c (Revision 1498) +@@ -565,27 +565,31 @@ + return true; + + if (newer) { +- if (mtime < buf.st_mtime) ++ if (mtime < buf.st_mtime) { ++ if (rel == NULL) ++ return false; + retval = false; ++ } + if (rel != NULL) { + if (*rel < buf.st_mtime) { + if (file) + strlcpy(file, target, PATH_MAX); + *rel = buf.st_mtime; + } +- } else +- return retval; ++ } + } else { +- if (mtime > buf.st_mtime) ++ if (mtime > buf.st_mtime) { ++ if (rel == NULL) ++ return false; + retval = false; ++ } + if (rel != NULL) { + if (*rel > buf.st_mtime) { + if (file) + strlcpy(file, target, PATH_MAX); + *rel = buf.st_mtime; + } +- } else +- return retval; ++ } + } + + /* If not a dir then reset errno */ diff --git a/sys-apps/openrc/openrc-0.4.3-r1.ebuild b/sys-apps/openrc/openrc-0.4.3-r1.ebuild new file mode 100644 index 000000000000..b7b4edd7a532 --- /dev/null +++ b/sys-apps/openrc/openrc-0.4.3-r1.ebuild @@ -0,0 +1,317 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/openrc/openrc-0.4.3-r1.ebuild,v 1.1 2009/02/13 09:07:16 zzam Exp $ + +inherit eutils flag-o-matic multilib toolchain-funcs + +if [[ ${PV} == "9999" ]] ; then + ESVN_REPO_URI="svn://roy.marples.name/openrc/trunk" + inherit subversion +else + SRC_URI="http://roy.marples.name/downloads/${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 elibc_glibc ncurses pam unicode kernel_linux kernel_FreeBSD" + +RDEPEND="virtual/init + 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 + 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" + +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 + subversion_src_unpack + else + unpack ${A} + fi + cd "${S}" + epatch "${FILESDIR}"/0.4.2/0001-msg-style.patch + epatch "${FILESDIR}"/0.4.2/0002-useful-functions.patch + epatch "${FILESDIR}"/0.4.2/0003-KV.patch + epatch "${FILESDIR}"/openrc-0.4.3-fix-is_older_than.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="-svn-$(cd "${ESVN_STORE_DIR}/${ESVN_PROJECT}/${ESVN_REPO_URI##*/}"; LC_ALL=C svnversion)" + sed -i "/^SVNVER[[:space:]]*=/s:=.*:=${ver}:" src/rc/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}"/ + + # upgrade timezone file ... do it before moving clock + 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 + + # /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 + + # openrc-0.4.0 no longer loads the udev addon + enable_udev=0 + if [[ ! -e "${ROOT}"/etc/runlevels/sysinit/udev ]] && \ + [[ -e "${ROOT}"/etc/init.d/udev ]] && \ + ! has_version ">=sys-apps/openrc-0.4.0" + then + # make sure udev is in sysinit if it was enabled before + 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=1 + ;; + esac + fi + + # 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 + 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 + + if [[ "$enable_udev" = 1 ]]; then + elog "Auto adding udev init script to the sysinit runlevel" + ln -sf /etc/init.d/udev "${ROOT}"/etc/runlevels/sysinit/udev + fi + + # update the dependency tree bug #224171 + [[ "${ROOT}" = "/" ]] && "${ROOT}/${LIBDIR}"/rc/bin/rc-depend -u + + 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" +} |