summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Kuznetsov <vadimk@gentoo.org>2009-06-07 20:51:57 +0000
committerVadim Kuznetsov <vadimk@gentoo.org>2009-06-07 20:51:57 +0000
commite5c60476ec44f4a96c4e382887611dbb1bdd8ef8 (patch)
tree52f92f1df42989c3cf2af0ada1bf87b89ce08704 /app-emulation/open-vm-tools/files
parentbump to rc3 (diff)
downloadhistorical-e5c60476ec44f4a96c4e382887611dbb1bdd8ef8.tar.gz
historical-e5c60476ec44f4a96c4e382887611dbb1bdd8ef8.tar.bz2
historical-e5c60476ec44f4a96c4e382887611dbb1bdd8ef8.zip
Version bump.
Package-Manager: portage-2.2_rc33/cvs/Linux x86_64
Diffstat (limited to 'app-emulation/open-vm-tools/files')
-rw-r--r--app-emulation/open-vm-tools/files/open-vm-tools.initd76
1 files changed, 76 insertions, 0 deletions
diff --git a/app-emulation/open-vm-tools/files/open-vm-tools.initd b/app-emulation/open-vm-tools/files/open-vm-tools.initd
new file mode 100644
index 000000000000..3988c297daf2
--- /dev/null
+++ b/app-emulation/open-vm-tools/files/open-vm-tools.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-tools.initd,v 1.1 2009/06/07 20:51:57 vadimk Exp $
+
+DND_TMPDIR="/tmp/VMwareDnD"
+USER_GROUP="root:vmware"
+DND_TMPDIR_PERMS="1777"
+GUESTD_BIN="/usr/bin/vmtoolsd"
+PIDFILE="/var/run/vmtoolsd.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 vmtoolsd"
+ 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 vmtoolsd"
+ start-stop-daemon --stop --quiet --pidfile "${PIDFILE}"
+ eend $?
+}