diff options
author | Vadim Kuznetsov <vadimk@gentoo.org> | 2009-06-07 20:51:57 +0000 |
---|---|---|
committer | Vadim Kuznetsov <vadimk@gentoo.org> | 2009-06-07 20:51:57 +0000 |
commit | e5c60476ec44f4a96c4e382887611dbb1bdd8ef8 (patch) | |
tree | 52f92f1df42989c3cf2af0ada1bf87b89ce08704 /app-emulation/open-vm-tools/files | |
parent | bump to rc3 (diff) | |
download | historical-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.initd | 76 |
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 $? +} |