summaryrefslogtreecommitdiff
blob: 8f32d2adb9bce9a9d91fc704f77f81c32371947d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/sbin/runscript
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/files/3.2.1.2242/vmware,v 1.1 2003/08/20 12:57:37 aliz Exp $

depend() {
	need localmount
	use logger net
}

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" == "-1" ]
			then
				ewarn $line
				continue
			fi
			if [ "${line/*:*/}" == "" ]
			then
				einfon $line
				echo
				eend 0
				msgtype=1
			else
				ewarn $line
				msgtype=-1
				waserror=1
			fi
			continue
		fi

		# Strip out anything after the <esc> code
		message=`echo $line | sed -e "s/^\(.*\).*$/\1/"`
		einfon "  $message"
		echo

		echo $line | grep done > /dev/null
		status=$?
		eend $status

		if [ "$status" != "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

	/etc/vmware/init.d/vmware start | vmware-prettify start
	return $?
}

stop() {
	/etc/vmware/init.d/vmware stop | vmware-prettify stop
	return $?
}