77 lines
1.8 KiB
Plaintext
77 lines
1.8 KiB
Plaintext
|
#!/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 $?
|
||
|
}
|