summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Kuznetsov <vadimk@gentoo.org>2010-07-08 15:58:29 +0000
committerVadim Kuznetsov <vadimk@gentoo.org>2010-07-08 15:58:29 +0000
commit0588190ecd910c6f0d0546eeaa4dd34965787b5c (patch)
treef65d9f2b23fd1d2ef563710ec56c815f6c0bd9c4 /app-emulation
parentold (diff)
downloadgentoo-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')
-rw-r--r--app-emulation/open-vm-tools/ChangeLog8
-rw-r--r--app-emulation/open-vm-tools/files/default-scripts.patch286
-rw-r--r--app-emulation/open-vm-tools/open-vm-tools-0.0.20100616.268169-r1.ebuild121
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
+}