diff options
author | Vadim Kuznetsov <vadimk@gentoo.org> | 2010-07-08 15:58:29 +0000 |
---|---|---|
committer | Vadim Kuznetsov <vadimk@gentoo.org> | 2010-07-08 15:58:29 +0000 |
commit | 0588190ecd910c6f0d0546eeaa4dd34965787b5c (patch) | |
tree | f65d9f2b23fd1d2ef563710ec56c815f6c0bd9c4 /app-emulation | |
parent | old (diff) | |
download | gentoo-2-0588190ecd910c6f0d0546eeaa4dd34965787b5c.tar.gz gentoo-2-0588190ecd910c6f0d0546eeaa4dd34965787b5c.tar.bz2 gentoo-2-0588190ecd910c6f0d0546eeaa4dd34965787b5c.zip |
new default scripts patch
(Portage version: 2.1.8.3/cvs/Linux x86_64)
Diffstat (limited to 'app-emulation')
3 files changed, 314 insertions, 101 deletions
diff --git a/app-emulation/open-vm-tools/ChangeLog b/app-emulation/open-vm-tools/ChangeLog index 2f23ab35ab2b..d8fbfd18dc07 100644 --- a/app-emulation/open-vm-tools/ChangeLog +++ b/app-emulation/open-vm-tools/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for app-emulation/open-vm-tools # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/open-vm-tools/ChangeLog,v 1.36 2010/07/04 00:50:52 vadimk Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/open-vm-tools/ChangeLog,v 1.37 2010/07/08 15:58:28 vadimk Exp $ + +*open-vm-tools-0.0.20100616.268169-r1 (08 Jul 2010) + + 08 Jul 2010; Vadim Kuznetsov <vadimk@gentoo.org> + +open-vm-tools-0.0.20100616.268169-r1.ebuild, files/default-scripts.patch: + new default scripts patch *open-vm-tools-0.0.20100616.268169 (04 Jul 2010) diff --git a/app-emulation/open-vm-tools/files/default-scripts.patch b/app-emulation/open-vm-tools/files/default-scripts.patch index 2136dad71d90..ed57fcfaa1da 100644 --- a/app-emulation/open-vm-tools/files/default-scripts.patch +++ b/app-emulation/open-vm-tools/files/default-scripts.patch @@ -1,11 +1,21 @@ -diff --git a/scripts/linux/resume-vm-default b/scripts/linux/resume-vm-default -index cebbba0..dbd38a6 100644 ---- a/scripts/linux/resume-vm-default -+++ b/scripts/linux/resume-vm-default -@@ -25,41 +25,10 @@ - echo `date` ": Executing '$0'" - echo +--- scripts/linux/network.orig 2010-07-06 14:54:01.000000000 -0400 ++++ scripts/linux/network 2010-07-07 13:05:21.000000000 -0400 +@@ -34,164 +34,6 @@ + + # +-# find_networking_script -- +-# +-# Searches common Linux distro init/rc paths to find a singular network +-# services script. +-# +-# Result: +-# Returns a valid networking script path on success or "error" on failure. +-# +-# Side effects: +-# None. +-# +- -find_networking_script() { - local script="error" - for dir in "/etc/init.d" "/sbin/init.d" "/etc" "/etc/rc.d" ; do @@ -37,103 +47,179 @@ index cebbba0..dbd38a6 100644 - echo "$script" -} - - rescue_NIC() { - niclist="/var/run/vmware-active-nics" - -- ifup_path=`which ifup 2>/dev/null`; -+ ifup_path="/etc/init.d/net."; - if [ $? -ne 0 ]; then - return 1; - fi -@@ -76,7 +45,7 @@ rescue_NIC() { - else - echo `date` "[rescue_nic] activating $nic ..." - -- $ifup_path $nic -+ $ifup_path$nic restart - fi - done < $niclist - -@@ -95,15 +64,8 @@ if [ -d "$scriptsdir" ]; then - done - fi - --network=`find_networking_script` --if [ "$network" != "error" ]; then -- "$network" restart -- # Continue even if the networking init script wasn't successful. -- status=0 --else -- echo "networking script not found" -- status=1 --fi -+# Continue even if the networking init script wasn't successful. -+status=0 - - if [ $status -eq 0 ]; then - rescue_NIC -diff --git a/scripts/linux/suspend-vm-default b/scripts/linux/suspend-vm-default -index 80bf5b9..f590194 100644 ---- a/scripts/linux/suspend-vm-default -+++ b/scripts/linux/suspend-vm-default -@@ -25,37 +25,6 @@ - echo `date` ": Executing '$0'" - echo - --find_networking_script() { -- local script="error" -- for dir in "/etc/init.d" "/sbin/init.d" "/etc" "/etc/rc.d" ; do -- if [ -d "$dir/rc0.d" ] && -- [ -d "$dir/rc1.d" ] && -- [ -d "$dir/rc2.d" ] && -- [ -d "$dir/rc3.d" ] && -- [ -d "$dir/rc4.d" ] && -- [ -d "$dir/rc5.d" ] && -- [ -d "$dir/rc6.d" ]; then - -- # Now find the appropriate networking script. -- if [ -d "$dir/init.d" ]; then -- if [ -x "$dir/init.d/network" ]; then -- script="$dir/init.d/network" -- elif [ -x "$dir/init.d/networking" ]; then -- script="$dir/init.d/networking" -- fi -- else -- if [ -x "$dir/network" ]; then -- script="$dir/network" -- elif [ -x "$dir/networking" ]; then -- script="$dir/networking" -- fi -- fi -- fi -- done +-# +-# save_active_NIC_list -- +-# +-# Records a list of every active NIC to /var/run/vmware-active-nics. +-# +-# XXX What's the story on aliases? Should they still be included, or will +-# they be recreated automatically upon resume? +-# +-# Results: +-# $activeList has, one per line, a list of all active NICs. +-# +-# Side effects: +-# None. +-# - -- echo "$script" +-save_active_NIC_list() { +- >$activeList +- +- for nic in `ifconfig | awk '/^eth/ { print $1 }'`; do +- ifconfig $nic | egrep -q '\bUP\b' && echo $nic >> $activeList +- exitCode=`expr $exitCode \| $?` +- done +-} +- +- +-# +-# rescue_NIC -- +-# +-# For each NIC recorded in $activeList that is not currently "up", run +-# "ifup $nic". +-# +-# Results: +-# All downed NICs should be active. +-# +- +-rescue_NIC() { +- if [ -f "$activeList" ]; then +- while read nic; do +- if ifconfig $nic | egrep -q '\bUP\b'; then +- echo `date` "[rescue_nic] $nic is already active." +- else +- echo `date` "[rescue_nic] activating $nic ..." +- +- ifup $nic +- exitCode=`expr $exitCode \| $?` +- fi +- done < $activeList +- +- rm -f $activeList +- fi +-} +- +- +-# +-# TranquilizeNetworkManager -- +-# +-# Put the NetworkManager daemon to sleep (maybe). +-# +-# See http://projects.gnome.org/NetworkManager/developers/spec.html . +-# +-# Results: +-# Sleep(true) request is sent to the NetworkManager D-Bus interface. +-# +-# Side effects: +-# None. +-# +- +-TranquilizeNetworkManager() { +- # `which' may be a bit noisy, so we'll shush it. +- dbusSend=`which dbus-send 2>/dev/null` +- if [ $? -eq 0 ]; then +- # NetworkManager 0.6 +- $dbusSend --system --dest=org.freedesktop.NetworkManager \ +- /org/freedesktop/NetworkManager \ +- org.freedesktop.NetworkManager.sleep +- # NetworkManager 0.7.0 +- $dbusSend --system --dest=org.freedesktop.NetworkManager \ +- /org/freedesktop/NetworkManager \ +- org.freedesktop.NetworkManager.Sleep boolean:true +- fi -} - - save_active_NIC_list() { - ifconfig_path=`which ifconfig 2>/dev/null` - if [ $? ]; then -@@ -76,15 +45,12 @@ fi +- +-# +-# WakeNetworkManager -- +-# +-# Wake the NetworkManager daemon (maybe). +-# +-# See http://projects.gnome.org/NetworkManager/developers/spec.html . +-# +-# Results: +-# Sleep(false)request is sent to the NetworkManager D-Bus interface. +-# +-# Side effects: +-# None. +-# +- +-WakeNetworkManager() { +- # `which' may be a bit noisy, so we'll shush it. +- dbusSend=`which dbus-send 2>/dev/null` +- if [ $? -eq 0 ]; then +- # NetworkManager 0.6 +- $dbusSend --system --dest=org.freedesktop.NetworkManager \ +- /org/freedesktop/NetworkManager \ +- org.freedesktop.NetworkManager.wake +- # NetworkManager 0.7.0 +- $dbusSend --system --dest=org.freedesktop.NetworkManager \ +- /org/freedesktop/NetworkManager \ +- org.freedesktop.NetworkManager.Sleep boolean:false +- fi +-} +- +- +-# + # main -- + # + # Main entry point. Perform some sanity checking, then map state change +@@ -203,45 +45,24 @@ - save_active_NIC_list + main() { + exitCode=0 +- activeList=/var/run/vmware-active-nics --network=`find_networking_script` --if [ "$network" != "error" ]; then -- "$network" stop -- # If the network is down, this may fail but that's not a good reason -- # to prevent the suspend. -- status=0 --else -- echo "networking script not found" -- status=1 --fi -+for network in `ls /etc/init.d/net.*`; -+do -+ "$network" stop -+done -+# If the network is down, this may fail but that's not a good reason -+# to prevent the suspend. -+status=0 +- networkScript=`find_networking_script` +- [ "$networkScript" != "error" ] || Panic "Cannot find system networking script." +- +- # XXX Are these really necessary? If so, we should have seen customer +- # complaints by now. +- which ifup >/dev/null 2>&1 || Panic "ifup not in search path." +- which ifconfig >/dev/null 2>&1 || Panic "ifconfig not in search path." ++ # ++ # net.eth0, net.eth1, network, wicd, NetworkManager ++ service="net.eth0" ++ ++ if [ $(rc-service -e net.eth0) ] ++ then ++ service="net.eth0" ++ else ++ service="network" ++ fi - exit "$status" + case "$1" in +- poweron-vm) +- rm -f $activeList +- ;; + suspend-vm) +- save_active_NIC_list +- "$networkScript" stop +- TranquilizeNetworkManager ++ rc-service $service stop + ;; + resume-vm) +- # According to hfu, "/etc/init.d/networking restart" on Debian 5.0 +- # may bring down ethernet interfaces tagged as "allow-hotplug" without +- # bringing them back up. +- # +- # This is especially a problem when reverting to a live, running +- # VM snapshot where an active NIC list hadn't yet been generated, +- # resulting in sudden loss of an otherwise operational NIC. +- # +- # So, if the active list doesn't exist, assume we're coming back to +- # a live snapshot and capture the current active list now for +- # rescue later. +- if [ ! -s $activeList ]; then +- save_active_NIC_list +- fi +- WakeNetworkManager +- # XXX Do we really want restart or is start sufficient? Like, would +- # using start avoid the problem mentioned above? +- "$networkScript" restart +- rescue_NIC ++ rc-service $service start + ;; + *) ;; + esac diff --git a/app-emulation/open-vm-tools/open-vm-tools-0.0.20100616.268169-r1.ebuild b/app-emulation/open-vm-tools/open-vm-tools-0.0.20100616.268169-r1.ebuild new file mode 100644 index 000000000000..144b21c2d776 --- /dev/null +++ b/app-emulation/open-vm-tools/open-vm-tools-0.0.20100616.268169-r1.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/open-vm-tools/open-vm-tools-0.0.20100616.268169-r1.ebuild,v 1.1 2010/07/08 15:58:28 vadimk Exp $ + +EAPI="2" + +inherit eutils pam versionator + +MY_DATE="$(get_version_component_range 3)" +MY_BUILD="$(get_version_component_range 4)" +MY_PV="${MY_DATE:0:4}.${MY_DATE:4:2}.${MY_DATE:6:2}-${MY_BUILD}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="Opensourced tools for VMware guests" +HOMEPAGE="http://open-vm-tools.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="X doc fuse icu +pic unity xinerama" + +RDEPEND="app-emulation/open-vm-tools-kmod + >=dev-libs/glib-2 + dev-libs/libdnet + sys-apps/ethtool + sys-process/procps + virtual/pam + X? ( + dev-cpp/gtkmm + x11-base/xorg-server + x11-drivers/xf86-input-vmmouse + x11-drivers/xf86-video-vmware + x11-libs/gtk+ + x11-libs/libnotify + x11-libs/libX11 + x11-libs/libXtst + ) + fuse? ( sys-fs/fuse ) + icu? ( dev-libs/icu ) + unity? ( + dev-libs/uriparser + media-libs/libpng + x11-libs/libXScrnSaver + ) + xinerama? ( x11-libs/libXinerama ) + " + +DEPEND="${RDEPEND} + doc? ( app-doc/doxygen ) + dev-util/pkgconfig + virtual/linux-sources + sys-apps/findutils + " + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + use unity && ! use X && die 'The Unity USE flag requires "X" USE flag as well' + use unity && ! use xinerama && die 'The Unity USE flag requires xinerame USE="xinerama" as well' + + enewgroup vmware +} + +src_prepare() { + epatch "${FILESDIR}/default-scripts.patch" + epatch "${FILESDIR}/checkvm-pie-safety.patch" + #sed -i -e 's/proc-3.2.7/proc/g' configure || die "sed configure failed" + # Do not filter out Werror + # Upstream Bug http://sourceforge.net/tracker/?func=detail&aid=2959749&group_id=204462&atid=989708 + # sed -i -e 's/CFLAGS=.*Werror/#&/g' configure || die "sed comment out Werror failed" + sed -i -e 's:\(TEST_PLUGIN_INSTALLDIR=\).*:\1\$libdir/open-vm-tools/plugins/tests:g' configure || die "sed test_plugin_installdir failed" +} + +src_configure() { + econf \ + --with-procps \ + --with-dnet \ + --without-kernel-modules \ + $(use_enable doc docs) \ + --docdir=/usr/share/doc/${PF} \ + $(use_with X x) \ + $(use_with X gtk2) \ + $(use_with X gtkmm) \ + $(use_with icu) \ + $(use_with pic) \ + $(use_enable unity) \ + $(use_enable xinerama multimon) + + # Bugs 260878, 326761 + find ./ -name Makefile | xargs sed -i -e 's/-Werror//g' || die "sed out Werror failed" +} + +src_compile() { + emake || die "failed to compile" +} + +src_install() { + emake DESTDIR="${D}" install || die "failed to install" + + rm "${D}"/etc/pam.d/vmtoolsd + pamd_mimic_system vmtoolsd auth account + + rm "${D}"/usr/$(get_libdir)/*.la + rm "${D}"/usr/$(get_libdir)/open-vm-tools/plugins/common/*.la + + newinitd "${FILESDIR}/open-vm-tools.initd" vmware-tools || die "failed to newinitd" + newconfd "${FILESDIR}/open-vm.confd" vmware-tools || die "failed to newconfd" + + if use X; + then + insinto /etc/xdg/autostart + doins "${FILESDIR}/open-vm-tools.desktop" || die "failed to install .desktop" + + elog "To be able to use the drag'n'drop feature of VMware for file" + elog "exchange, you need to do this:" + elog " Add 'vmware-tools' to your default runlevel." + elog " Add the users which should have access to this function" + elog " to the group 'vmware'." + fi +} |