c3ae0c032b
git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/vmware@1751 6952d904-891a-0410-993b-d76249ca496b
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-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 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 --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 $?
|
|
}
|