You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.2 KiB
60 lines
1.2 KiB
#!/sbin/openrc-run
|
|
# Copyright 1999-2013 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
pidfile="/run/vmtoolsd.pid"
|
|
command="/usr/bin/vmtoolsd"
|
|
command_args="-b ${pidfile}"
|
|
|
|
vmblockmntpt="/proc/fs/vmblock/mountPoint"
|
|
vmblockfusemntpt="/run/vmblock-fuse"
|
|
|
|
depend() {
|
|
before checkfs fsck net X
|
|
}
|
|
|
|
start_vmblock() {
|
|
checkpath -d -m 1777 /tmp/VMwareDnD
|
|
if command -v vmware-vmblock-fuse > /dev/null; then
|
|
modprobe fuse > /dev/null 2>&1
|
|
checkpath -d "${vmblockfusemntpt}"
|
|
ebegin "Mounting vmblock-fuse"
|
|
vmware-vmblock-fuse \
|
|
-o subtype=vmware-vmblock,default_permissions,allow_other \
|
|
"${vmblockfusemntpt}"
|
|
eend $?
|
|
else
|
|
modprobe vmblock > /dev/null 2>&1
|
|
checkpath -d "${vmblockmntpt}"
|
|
ebegin "Mounting vmblock"
|
|
mount -t vmblock vmblock "${vmblockmntpt}"
|
|
eend $?
|
|
fi
|
|
}
|
|
|
|
stop_vmblock() {
|
|
if [ -d "${vmblockfusemntpt}" ]; then
|
|
ebegin "Unmounting vmblock-fuse"
|
|
umount "${vmblockfusemntpt}"
|
|
eend $?
|
|
else
|
|
ebegin "Unmounting vmblock"
|
|
umount "${vmblockmntpt}"
|
|
eend $?
|
|
fi
|
|
}
|
|
|
|
start_pre() {
|
|
if [ x"${VM_DRAG_AND_DROP}" = xyes ]; then
|
|
start_vmblock
|
|
fi
|
|
return 0
|
|
}
|
|
|
|
stop_post() {
|
|
if [ x"${VM_DRAG_AND_DROP}" = xyes ]; then
|
|
stop_vmblock
|
|
fi
|
|
return 0
|
|
}
|