#!/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.2 2009/12/20 14:05:43 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 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 --background --make-pidfile --pidfile "${PIDFILE}" --exec ${GUESTD_BIN} 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 $? }