diff --git a/app-emulation/open-vm-modules/ChangeLog b/app-emulation/open-vm-modules/ChangeLog new file mode 100644 index 0000000..de4bf1e --- /dev/null +++ b/app-emulation/open-vm-modules/ChangeLog @@ -0,0 +1,14 @@ +# ChangeLog for app-emulation/open-vm-modules +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + + 06 Jun 2009; Mario Fetka + open-vm-modules-2009.05.22_p167859.ebuild: + changes for a more general vmware-mod-2.eclass + +*open-vm-modules-2009.05.22_p167859 (31 May 2009) + + 31 May 2009; Mario Fetka + +open-vm-modules-2009.05.22_p167859.ebuild, +metadata.xml: + initial checkin + diff --git a/app-emulation/open-vm-modules/Manifest b/app-emulation/open-vm-modules/Manifest new file mode 100644 index 0000000..18cdc0c --- /dev/null +++ b/app-emulation/open-vm-modules/Manifest @@ -0,0 +1,4 @@ +DIST open-vm-tools-2009.05.22-167859.tar.gz 3417843 RMD160 c8403e0fe1ff32ec356ce997b7e621ee7fe87d22 SHA1 a38e16e8cc6bb3b9d9ce88244aef8332a233b7e4 SHA256 99f3726f86e53abac4efcf70a871e2003d2f245fd83b663ae8ad756322c48a2b +EBUILD open-vm-modules-2009.05.22_p167859.ebuild 264 RMD160 977a36469a0382a515ce20abd313b395724768be SHA1 176ed51abce77ad535d2e1a5c6a9bbd14a38c5ca SHA256 f61bfadf264f15857b775fd3329ede401af3e6040e82cb64d3b4f2cca7f24650 +MISC ChangeLog 458 RMD160 4e15e8b0814267bfa5f3dbbe1cdd0c5617a8a0bd SHA1 1649abb07c1a2adcd081e67be5dee2732cf8548a SHA256 502e2360e8a53d62dbb768bb62fd3158b90430c22e0739e041c096ea2312034c +MISC metadata.xml 159 RMD160 fc7f68a382390e5916b0fb43f37a893fad4f9798 SHA1 f46b02a39bcd0165558de67ff4256cfc812418a3 SHA256 8581ae1c90a48f50fa0542c7fb28cb8984baaf12f50fa18f33e467081effb215 diff --git a/app-emulation/open-vm-modules/metadata.xml b/app-emulation/open-vm-modules/metadata.xml new file mode 100644 index 0000000..3260ec5 --- /dev/null +++ b/app-emulation/open-vm-modules/metadata.xml @@ -0,0 +1,5 @@ + + + +vmware + diff --git a/app-emulation/open-vm-modules/open-vm-modules-2009.05.22_p167859.ebuild b/app-emulation/open-vm-modules/open-vm-modules-2009.05.22_p167859.ebuild new file mode 100644 index 0000000..44d76bf --- /dev/null +++ b/app-emulation/open-vm-modules/open-vm-modules-2009.05.22_p167859.ebuild @@ -0,0 +1,11 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" +VM_MODULE_LIST="pvscsi vmblock vmci vmhgfs vmmemctl vmsync vmxnet vmxnet3 vsock" + +inherit vmware-mod-2 + +KEYWORDS="~amd64 ~x86" +IUSE="" \ No newline at end of file diff --git a/app-emulation/open-vm-tools/ChangeLog b/app-emulation/open-vm-tools/ChangeLog new file mode 100644 index 0000000..fd00fe3 --- /dev/null +++ b/app-emulation/open-vm-tools/ChangeLog @@ -0,0 +1,39 @@ +# ChangeLog for app-emulation/open-vm-tools +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*open-vm-tools-0.0.2009.05.22_p167859 (12 Jun 2009) + + 12 Jun 2009; Mario Fetka + +open-vm-tools-0.0.2009.05.22_p167859.ebuild, + -open-vm-tools-2009.05.22_p167859.ebuild, + +files/open-vm-tools-2009.05.22-167859-libproc-1.patch: + correct libproc and DnD build fix + + 10 Jun 2009; Mario Fetka + open-vm-tools-2009.05.22_p167859.ebuild, + +files/open-vm-tools-build-fix.patch: + fix build + + 02 Jun 2009; Mario Fetka + +files/wiper-warning-fix.patch: + add gcc 4.4 patch + + 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 0000000..53342cf --- /dev/null +++ b/app-emulation/open-vm-tools/Manifest @@ -0,0 +1,11 @@ +AUX default-scripts.patch 3525 RMD160 7c3dfd342be245531493a9cf7a8be2be4c67dc4b SHA1 56ba6ca91262f73732a7d806a9c812aea683c2d2 SHA256 99ad1a202335736c50bbb92432371e522934d1a3347e992158b881cf9f810da6 +AUX open-vm-tools-2009.05.22-167859-libproc-1.patch 735 RMD160 84fb9eff574b0a3649d81d486f254961023581c9 SHA1 f8bad2ca564256e249d32dac2a8c78c9a377a853 SHA256 8c4dd0efa7405d358b18c7447da34288245206795d0ab9b9b261fae71bb588a2 +AUX open-vm-tools-build-fix.patch 836 RMD160 463fd9f2fb2b704fe8d3eab41c211f21ae47818c SHA1 075d14e85e46eabe5a6a1a0a5d318453c323b9e9 SHA256 07d9c7bb228e7d5d1299e5fb5052109218e5d1ad074b4ea8fe2b54f22cc26ed6 +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 +AUX wiper-warning-fix.patch 418 RMD160 d3595ca361e1b330e22ec10b33b19813df94ff82 SHA1 ff644d5fa4e5d4e5017ce843cd09ab282e4dcd9a SHA256 3678c0ab683336e645a0c2e1c2167ad6fd094784722b63c6e66c435d685ed712 +DIST open-vm-tools-2009.05.22-167859.tar.gz 3417843 RMD160 c8403e0fe1ff32ec356ce997b7e621ee7fe87d22 SHA1 a38e16e8cc6bb3b9d9ce88244aef8332a233b7e4 SHA256 99f3726f86e53abac4efcf70a871e2003d2f245fd83b663ae8ad756322c48a2b +EBUILD open-vm-tools-0.0.2009.05.22_p167859.ebuild 2330 RMD160 95591bd7ed4bb5ba9d07fb725d6deceea0c538cd SHA1 3d9fe2096ecf7ae8d2c3148d83b0f656960283f2 SHA256 a3a43bc3d8e93245db6ab7f01e572d2fdf0c898f78b5d284b64ec9a35ac2f7f4 +MISC ChangeLog 1395 RMD160 5483cfc6199bbe2ab0e552df611a46f47f19c73f SHA1 ff1447558a8b5aae79cb4c1bbd1048f899b587f5 SHA256 d49e46856fc6ad813188c45b2301b83be02e3f950085babf17a4adb41ad7d2f9 +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 0000000..2136dad --- /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-2009.05.22-167859-libproc-1.patch b/app-emulation/open-vm-tools/files/open-vm-tools-2009.05.22-167859-libproc-1.patch new file mode 100644 index 0000000..dea4d80 --- /dev/null +++ b/app-emulation/open-vm-tools/files/open-vm-tools-2009.05.22-167859-libproc-1.patch @@ -0,0 +1,19 @@ +Submitted By: Mario Fetka (mario dot fetka at gmail dot com) +Date: 2009-06-12 +Initial Package Version: 2009.05.22 +Origin: me +Upstream Status: unknown +Description: link against libproc not libproc-2.3.7 + +diff -Naur open-vm-tools-2009.05.22-167859.orig/configure.ac open-vm-tools-2009.05.22-167859/configure.ac +--- open-vm-tools-2009.05.22-167859.orig/configure.ac 2009-06-12 19:04:42.793906039 +0000 ++++ open-vm-tools-2009.05.22-167859/configure.ac 2009-06-12 19:04:55.226773156 +0000 +@@ -608,7 +608,7 @@ + if test -z "$CUSTOM_PROCPS_LIBS"; then + CUSTOM_PROCPS_LIBS="-L/lib" + fi +- AC_VMW_CHECK_LIB([proc-3.2.7], ++ AC_VMW_CHECK_LIB([proc], + [PROCPS], + [], + [], diff --git a/app-emulation/open-vm-tools/files/open-vm-tools-build-fix.patch b/app-emulation/open-vm-tools/files/open-vm-tools-build-fix.patch new file mode 100644 index 0000000..572f1dc --- /dev/null +++ b/app-emulation/open-vm-tools/files/open-vm-tools-build-fix.patch @@ -0,0 +1,23 @@ +--- a/vmware-user/vmware-user.cpp ++++ b/vmware-user/vmware-user.cpp +@@ -529,7 +529,7 @@ VMwareUserRpcInSetOptionCB(char const ** + char *value; + unsigned int index = 0; + Bool ret = FALSE; +- char *retStr = NULL; ++ const char *retStr = NULL; + + /* parse the option & value string */ + option = StrUtil_GetNextToken(&index, args, " "); +--- a/vmware-user/Makefile.am ++++ b/vmware-user/Makefile.am +@@ -75,7 +75,9 @@ vmware_user_LDADD += ../lib/err/libErr.l + vmware_user_LDADD += ../lib/foundryMsg/libFoundryMsg.la + vmware_user_LDADD += ../lib/backdoor/libBackdoor.la + vmware_user_LDADD += ../lib/dict/libDict.la ++if HAVE_GTKMM + vmware_user_LDADD += ../lib/dndGuest/libDndGuest.la ++endif + vmware_user_LDADD += ../lib/dnd/libDnd.la + vmware_user_LDADD += ../lib/dynxdr/libDynxdr.la + vmware_user_LDADD += ../lib/hgfs/libHgfs.la 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 0000000..2107a62 --- /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 0000000..4414fab --- /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 0000000..d4f96cc --- /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/files/wiper-warning-fix.patch b/app-emulation/open-vm-tools/files/wiper-warning-fix.patch new file mode 100644 index 0000000..0c36733 --- /dev/null +++ b/app-emulation/open-vm-tools/files/wiper-warning-fix.patch @@ -0,0 +1,14 @@ +--- a/lib/wiper/wiperPosix.c ++++ b/lib/wiper/wiperPosix.c +@@ -998,8 +998,9 @@ + break; + } + } +- } else { +- fgets(deviceName, sizeof deviceName, fp); ++ } else if (fgets(deviceName, sizeof deviceName, fp) != deviceName) { ++ Warning("%s: Error reading device name from /proc/devices.", __func__); ++ break; + } + } + diff --git a/app-emulation/open-vm-tools/metadata.xml b/app-emulation/open-vm-tools/metadata.xml new file mode 100644 index 0000000..9cc5114 --- /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-0.0.2009.05.22_p167859.ebuild b/app-emulation/open-vm-tools/open-vm-tools-0.0.2009.05.22_p167859.ebuild new file mode 100644 index 0000000..eef05be --- /dev/null +++ b/app-emulation/open-vm-tools/open-vm-tools-0.0.2009.05.22_p167859.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +inherit pam eutils autotools + +MY_PP="${P/0.0./}" +MY_P="${MY_PP/_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" + epatch "${FILESDIR}/wiper-warning-fix.patch" + epatch "${FILESDIR}/open-vm-tools-build-fix.patch" + epatch "${FILESDIR}/open-vm-tools-2009.05.22-167859-libproc-1.patch" + eautoreconf +} + +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 +}