f25353d20f
git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@1276 6952d904-891a-0410-993b-d76249ca496b
87 lines
1.8 KiB
Plaintext
87 lines
1.8 KiB
Plaintext
#!/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 $?
|
||
}
|