From 6de191b8018bbaec256a3236f7cb8b4d444d8991 Mon Sep 17 00:00:00 2001 From: geos_one Date: Sun, 31 May 2009 12:51:15 +0000 Subject: [PATCH] app-emulation/open-vm-tools: initial checkin without modules git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@1287 6952d904-891a-0410-993b-d76249ca496b --- app-emulation/open-vm-tools/ChangeLog | 22 +++ app-emulation/open-vm-tools/Manifest | 8 + .../open-vm-tools/files/default-scripts.patch | 139 ++++++++++++++++++ .../open-vm-tools/files/open-vm-tools.desktop | 7 + .../open-vm-tools/files/open-vm.confd | 2 + .../open-vm-tools/files/open-vm.initd | 76 ++++++++++ app-emulation/open-vm-tools/metadata.xml | 9 ++ .../open-vm-tools-2009.05.22_p167859.ebuild | 100 +++++++++++++ 8 files changed, 363 insertions(+) create mode 100644 app-emulation/open-vm-tools/ChangeLog create mode 100644 app-emulation/open-vm-tools/Manifest create mode 100644 app-emulation/open-vm-tools/files/default-scripts.patch create mode 100644 app-emulation/open-vm-tools/files/open-vm-tools.desktop create mode 100644 app-emulation/open-vm-tools/files/open-vm.confd create mode 100644 app-emulation/open-vm-tools/files/open-vm.initd create mode 100644 app-emulation/open-vm-tools/metadata.xml create mode 100644 app-emulation/open-vm-tools/open-vm-tools-2009.05.22_p167859.ebuild diff --git a/app-emulation/open-vm-tools/ChangeLog b/app-emulation/open-vm-tools/ChangeLog new file mode 100644 index 00000000..cdb3a032 --- /dev/null +++ b/app-emulation/open-vm-tools/ChangeLog @@ -0,0 +1,22 @@ +# ChangeLog for app-emulation/open-vm-tools +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + + 04 Feb 2009; Mike Auty files/open-vm-tools.desktop: + Add in Type=Application to open-vm-tools.desktop file. + + 31 Jan 2009; Mike Auty -files/10-vmware-tools, + -files/disable-toolbox.patch, +files/open-vm-tools.desktop, + -files/tools.conf, -files/xautostart.conf, + open-vm-tools-0.0.20090121.142982.ebuild: + Update open-vm-tools to use XDG autostart. + +*open-vm-tools-0.0.20090121.142982 (30 Jan 2009) + + 30 Jan 2009; Mike Auty + +files/2.6.28.1-api-break.patch, + -open-vm-tools-0.0.20081223.137496.ebuild, + +open-vm-tools-0.0.20090121.142982.ebuild: + Update open-vm-tools and add in a patch to fix bug 256678, since they + broke the 2.6.28 api with .1. + diff --git a/app-emulation/open-vm-tools/Manifest b/app-emulation/open-vm-tools/Manifest new file mode 100644 index 00000000..8294fad2 --- /dev/null +++ b/app-emulation/open-vm-tools/Manifest @@ -0,0 +1,8 @@ +AUX default-scripts.patch 3525 RMD160 7c3dfd342be245531493a9cf7a8be2be4c67dc4b SHA1 56ba6ca91262f73732a7d806a9c812aea683c2d2 SHA256 99ad1a202335736c50bbb92432371e522934d1a3347e992158b881cf9f810da6 +AUX open-vm-tools.desktop 127 RMD160 375ec8cd688a5fe0609076798e515c048be81c15 SHA1 6b6adcb93fbcb11e1638d6a80b3828256f880dcf SHA256 7cb78f0d94f1849aa964bc8e9d9a6c49955ba1a9b937174b1c266a9cc8eb4bc3 +AUX open-vm.confd 88 RMD160 5e398024e72a871f258d73e09f02e37a815443b0 SHA1 56133c21c6d29243ac81a9c1ada61616778f3ce2 SHA256 180a2b6d9d18af319b79b2ca6ebf1020b63e5ebf2f601a63c1a9f9f7d2e0b95c +AUX open-vm.initd 1875 RMD160 9d2cc36fd93e70ae20eecd49b10c4da0e09aad69 SHA1 1702f267d32ca138e0e99d9ed86b4abc32cc3997 SHA256 1799b78836441b389de0b3d92aad80fcf020fe8b57da4f6d6999f86ee87f51bf +DIST open-vm-tools-2009.05.22-167859.tar.gz 3417843 RMD160 c8403e0fe1ff32ec356ce997b7e621ee7fe87d22 SHA1 a38e16e8cc6bb3b9d9ce88244aef8332a233b7e4 SHA256 99f3726f86e53abac4efcf70a871e2003d2f245fd83b663ae8ad756322c48a2b +EBUILD open-vm-tools-2009.05.22_p167859.ebuild 2116 RMD160 0a921405c63c8641babc0e384962a779ec07a522 SHA1 3c6534024ed6a88d73082d2e71c6b6190f4c3a99 SHA256 774a3fd8f1f43076f3801c1c33fffd8761ac08160a6e569c634140e66046e56b +MISC ChangeLog 851 RMD160 85dd87325a0294d1a6268e9382429e53f691d749 SHA1 86123884ec7e16958fb50c0a3bc8341eeb832871 SHA256 96c8325fcaf9bf629f28afc1e97eb6e1f1a09e78f9e80e2c7d1ee97c9a6f847d +MISC metadata.xml 273 RMD160 868f3e6ce2b19d6874be333eb73f9320df75605f SHA1 a5fa804bbe72aee73c241218da87736c81ff3815 SHA256 3528eb8ce4ae248c296a08cd9c3d252fbb4421fe5369ec3b5353b3c4f0da025d diff --git a/app-emulation/open-vm-tools/files/default-scripts.patch b/app-emulation/open-vm-tools/files/default-scripts.patch new file mode 100644 index 00000000..2136dad7 --- /dev/null +++ b/app-emulation/open-vm-tools/files/default-scripts.patch @@ -0,0 +1,139 @@ +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 + +-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 +- +- 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 +- +- echo "$script" +-} +- + save_active_NIC_list() { + ifconfig_path=`which ifconfig 2>/dev/null` + if [ $? ]; then +@@ -76,15 +45,12 @@ fi + + save_active_NIC_list + +-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 + + exit "$status" diff --git a/app-emulation/open-vm-tools/files/open-vm-tools.desktop b/app-emulation/open-vm-tools/files/open-vm-tools.desktop new file mode 100644 index 00000000..2107a62e --- /dev/null +++ b/app-emulation/open-vm-tools/files/open-vm-tools.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Encoding=UTF-8 +Type=Application +Exec=vmware-user +Name=VMware User Agent +X-KDE-autostart-phase=1 +NoDisplay=true diff --git a/app-emulation/open-vm-tools/files/open-vm.confd b/app-emulation/open-vm-tools/files/open-vm.confd new file mode 100644 index 00000000..4414fabd --- /dev/null +++ b/app-emulation/open-vm-tools/files/open-vm.confd @@ -0,0 +1,2 @@ +# Set this to no to disable drag and drop (and vmblock) loading. +VM_DRAG_AND_DROP="yes" diff --git a/app-emulation/open-vm-tools/files/open-vm.initd b/app-emulation/open-vm-tools/files/open-vm.initd new file mode 100644 index 00000000..d4f96cc8 --- /dev/null +++ b/app-emulation/open-vm-tools/files/open-vm.initd @@ -0,0 +1,76 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/open-vm-tools/files/open-vm.initd,v 1.2 2008/02/01 12:33:36 flameeyes Exp $ + +DND_TMPDIR="/tmp/VMwareDnD" +USER_GROUP="root:vmware" +DND_TMPDIR_PERMS="1777" +GUESTD_BIN="/usr/sbin/vmware-guestd" +PIDFILE="/var/run/vmware-guestd.pid" +MOUNTPOINT="/proc/fs/vmblock/mountPoint" + +depend() { + before checkfs fsck net X +} + +start() { + if [ "${VM_DRAG_AND_DROP}" == "yes" ]; + then + + if ! grep -q -w vmblock /proc/modules; + then + ebegin "Loading vmblock module" + modprobe vmblock + eend $? + sleep 0.25 + fi + + if [[ ! -d "${DND_TMPDIR}" ]]; + then + # einfo "Creating the VM drag and drop directory" + mkdir "${DND_TMPDIR}" + chown "${USER_GROUP}" "${DND_TMPDIR}" + chmod "${DND_TMPDIR_PERMS}" "${DND_TMPDIR}" + fi + + # DnD_TMPDIR must exist before vmblock can be mounted + ebegin "Mounting vmblock device" + mount -t vmblock none ${MOUNTPOINT} + eend $? + fi + + ebegin "Starting vmware-guestd" + start-stop-daemon --chuid "${USER_GROUP}" --start --quiet --exec ${GUESTD_BIN} -- --background "${PIDFILE}" + eend $? +} + +stop() { + local ret + + if [ "${VM_DRAG_AND_DROP}" == "yes" ]; + then + ebegin "Cleaning the contents of ${DND_TMPDIR}" + # First check, whether ${DND_TMPDIR} isn valid... we shouldn't risk deleting the content of ""/* + if [[ ! -z "${DND_TMPDIR}" ]] && [[ "${DND_TMPDIR}" != "/" ]]; + then + rm -rf ${DND_TMPDIR}/* + ret=0 + else + eerror "Not cleaning up ${DND_TMPDIR}, please check definition of variable" + ret=1 + fi + eend $ret + + ebegin "Unmounting vmblock device" + if grep -q -w "${MOUNTPOINT}" /proc/mounts; + then + umount ${MOUNTPOINT} 1>&2 > /dev/null + fi + eend 0 + fi + + ebegin "Stopping vmware-guestd" + start-stop-daemon --stop --quiet --pidfile "${PIDFILE}" + eend $? +} diff --git a/app-emulation/open-vm-tools/metadata.xml b/app-emulation/open-vm-tools/metadata.xml new file mode 100644 index 00000000..9cc5114a --- /dev/null +++ b/app-emulation/open-vm-tools/metadata.xml @@ -0,0 +1,9 @@ + + + +vmware + + Enable host unity support + Enable gtkmm support + + diff --git a/app-emulation/open-vm-tools/open-vm-tools-2009.05.22_p167859.ebuild b/app-emulation/open-vm-tools/open-vm-tools-2009.05.22_p167859.ebuild new file mode 100644 index 00000000..54c49983 --- /dev/null +++ b/app-emulation/open-vm-tools/open-vm-tools-2009.05.22_p167859.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +inherit pam eutils + +MY_P="${P/_p/-}" +VMWARE_GROUP="vmware" + +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="~x86 ~amd64" +IUSE="X xinerama icu unity gtkmm" +DEPEND="virtual/linux-sources + sys-apps/ethtool + X? ( + x11-libs/libX11 + x11-libs/gtk+ + ) + unity? ( + x11-libs/libXScrnSaver + dev-libs/uriparser + ) + xinerama? ( + x11-libs/libXinerama + ) + gtkmm? ( + dev-cpp/gtkmm + ) + !app-emulation/vmware-workstation-tools + !app-emulation/vmware-server-tools + !app-emulation/vmware-esx-tools + sys-process/procps + dev-libs/libdnet + icu? ( dev-libs/icu ) + " + +RDEPEND="${DEPEND/virtual\/linux\-sources/} + virtual/pam + X? ( + x11-base/xorg-server + x11-drivers/xf86-video-vmware + x11-drivers/xf86-input-vmmouse + ) + unity? ( + x11-libs/libXScrnSaver + dev-libs/uriparser + app-emulation/open-vm-modules ) + " + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + use unity && ! use xinerama && \ + die 'The Unity USE flag requires USE="xinerama" as well' + + enewgroup ${VMWARE_GROUP} +} + +src_prepare() { + epatch "${FILESDIR}/default-scripts.patch" +} + +src_configure() { + econf \ + --without-kernel-modules \ + $(use_with icu) \ + $(use_with X x) \ + $(use_with gtkmm) \ + $(use_enable unity) \ + $(use_enable xinerama multimon) \ + || die "Error: econf failed!" +} + +src_install() { + pamd_mimic_system vmware-guestd auth account + + emake install DESTDIR="${D}" || die "Failed to install" + + newinitd "${FILESDIR}/open-vm.initd" vmware-tools + newconfd "${FILESDIR}/open-vm.confd" vmware-tools + + if use X; + then + insinto /etc/xdg/autostart + doins "${FILESDIR}/open-vm-tools.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 +}