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

1.8 KiB

#!/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-player/files/vmware-player.rc,v 1.5 2008/04/26 17:36:10 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 $?
}