virtualization/app-emulation/vmware-workstation/files/vmware-workstation.rc

87 lines
1.8 KiB
Plaintext
Raw Normal View History

#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/files/vmware-workstation.rc,v 1.6 2007/11/25 12:50:32 ikelos Exp $
depend() {
need localmount
use logger net hald
after samba
}
vmware_prettify() {
# Yea, the code is ugly but the output is pretty
state=$1
waserror=0
msgtype=0
while read line
do
[ "${line}" = "" ] && continue
if [ ${msgtype} -le 0 ]
then
if [ ${msgtype} -eq -1 ]
then
ewarn ${line}
continue
fi
case ${line} in
*:*)
einfon ${line}
echo
eend 0
msgtype=1;;
*)
ewarn ${line}
msgtype=-1
waserror=1;;
esac
continue
fi
# Strip out anything after the <esc> code
message=`echo ${line} | sed -e "s/^\(.*\).*$/\1/"`
einfon " ${message}"
echo
echo ${line} | grep -q done
status=$?
eend ${status}
if [ ${status} -eq 0 ]
then
logger -p local0.err -t vmware-${state} "${line}"
waserror=${status}
fi
done
if [ "${msgtype}" = "-1" ]
then
eend 1 "VMware is not properly configured! See above."
fi
return ${waserror}
}
start() {
test -x /etc/vmware/init.d/vmware || \
eend 1 "vmware init script not found. Aborting" || return 1
if modinfo vmblock > /dev/null 2>&1;
then
ebegin "Loading vmblock for drag and drop support"
local result
modprobe vmblock || eend 1 "Failed to load vmblock driver"
test ! -e /tmp/VMwareDnD && mkdir /tmp/VMwareDnD
chmod 1777 /tmp/VMwareDnD
mount -t vmblock none /proc/fs/vmblock/mountPoint || eend 1 "Failed to mount the vmblock filesystem"
eend 0
fi
/etc/vmware/init.d/vmware start | vmware_prettify start
return $?
}
stop() {
umount /proc/fs/vmblock/mountPoint > /dev/null 2>&1
/etc/vmware/init.d/vmware stop | vmware_prettify stop
return $?
}