summaryrefslogtreecommitdiff
blob: 8f9b7dd6419a5ae7d4467c06c73457cec7eb7ba3 (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
#!/sbin/openrc-run
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

depend() {
	need localmount vmware
	use net
}

checkconfig() {
	checkpath -d /var/run/vmware

	# Check if certificates exist.  If not, we need to generate them, ala sshd.
	if [ ! -e @@ETCDIR@@/ssl/rui.key -o ! -e @@ETCDIR@@/ssl/rui.crt ]; then
		checkpath -d -m 0600 @@ETCDIR@@/ssl
		openssl req -x509 -days 365 -newkey rsa:2048 -keyout @@ETCDIR@@/ssl/rui.key -out @@ETCDIR@@/ssl/rui.crt -config @@ETCDIR@@/ssl/hostd.ssl.config
		checkpath -f -m 0600 @@ETCDIR@@/ssl/rui.key @@ETCDIR@@/ssl/rui.crt
	fi
}

start() {
	checkconfig

	ebegin Starting VMware Authentication Daemon
	start-stop-daemon --start \
		--exec @@PREFIX@@/sbin/vmware-authdlauncher
	eend $?
	ebegin Starting VMware Workstation Server
	start-stop-daemon --start \
		--pidfile /var/run/vmware/vmware-hostd.PID \
		--exec @@BINDIR@@/vmware-hostd \
		-- -a -d @@ETCDIR@@/hostd/config.xml
	eend $?
}

stop() {
	ebegin "Shutdown VMs in the AutoStart Sequence"
	local HOHO_ADMIN="$(@@BINDIR@@/vmware-wssc-adminTool "@@ETCDIR@@/hostd/authorization.xml" 2>/dev/null)"

	if [ "x" != "x${HOHO_ADMIN}" ]; then
		@@BINDIR@@/vmware-vim-cmd -U "${HOHO_ADMIN}" hostsvc/autostartmanager/autostop
	fi
	eend $?

	ebegin Stopping VMware Workstation Server
	start-stop-daemon --stop \
		--pidfile /var/run/vmware/vmware-hostd.PID
	eend $?
	ebegin Stopping VMware Authentication Daemon
	killall --wait vmware-authdlauncher
	eend $?
}