aboutsummaryrefslogtreecommitdiffstats
path: root/config/open-vm-tools_2/open-vm-tools.inc
diff options
context:
space:
mode:
authorMartin <martin.fuchs@trendchiller.com>2010-03-31 22:49:27 +0200
committerMartin <martin.fuchs@trendchiller.com>2010-03-31 22:49:27 +0200
commita5b2c004fac5d074f3f3366f4ecad32b11d2a27a (patch)
treea83bdc7834a7c62f6d032cf7f9efd566fac19284 /config/open-vm-tools_2/open-vm-tools.inc
parentbcbacd97b4c890c7d51352c43c4c8488d47b1619 (diff)
downloadpfsense-packages-a5b2c004fac5d074f3f3366f4ecad32b11d2a27a.tar.gz
pfsense-packages-a5b2c004fac5d074f3f3366f4ecad32b11d2a27a.tar.bz2
pfsense-packages-a5b2c004fac5d074f3f3366f4ecad32b11d2a27a.zip
add open-vm-tools for pfSense 2.0
Diffstat (limited to 'config/open-vm-tools_2/open-vm-tools.inc')
-rw-r--r--config/open-vm-tools_2/open-vm-tools.inc156
1 files changed, 156 insertions, 0 deletions
diff --git a/config/open-vm-tools_2/open-vm-tools.inc b/config/open-vm-tools_2/open-vm-tools.inc
new file mode 100644
index 00000000..f1dc17fb
--- /dev/null
+++ b/config/open-vm-tools_2/open-vm-tools.inc
@@ -0,0 +1,156 @@
+<?php
+
+function open_vm_tools_deinstall() {
+ exec("rm /usr/local/etc/rc.d/vmware*");
+}
+
+function open_vm_tools_install() {
+
+ $vmware_guestd = <<<EOF
+#!/bin/sh
+#
+# This file was automatically generated
+# by the pfSense package manager.
+#
+# Do not edit this file. Edit
+# /usr/local/pkg/open-vm-tools.inc instead.
+#
+# PROVIDE: vmware-guestd
+# REQUIRE: DAEMON
+# BEFORE: LOGIN
+
+. /etc/rc.subr
+
+# Global
+checkvm_cmd="/usr/local/bin/vmware-checkvm > /dev/null"
+
+# VMware guest daemon
+name="vmware_guestd"
+rcvar=`set_rcvar`
+start_precmd="\${checkvm_cmd}"
+unset start_cmd
+stop_precmd="\${checkvm_cmd}"
+unset stop_cmd
+command="/usr/local/bin/vmtoolsd"
+command_args="-c /usr/local/share/vmware-tools/tools.conf -p /usr/local/lib/open-vm-tools/plugins/vmsvc"
+pidfile="/var/run/\${name}.pid"
+
+load_rc_config \$name
+vmware_guestd_enable="YES"
+vmware_guestd_flags="--background \${pidfile}"
+run_rc_command "\$1"
+
+EOF;
+
+ $vmware_kmod = <<<EOF
+#!/bin/sh
+#
+# This file was automatically generated
+# by the pfSense package manager.
+#
+# Do not edit this file. Edit
+# /usr/local/pkg/open-vm-tools.inc instead.
+#
+# PROVIDE: vmware-kmod
+# REQUIRE: FILESYSTEMS
+# BEFORE: netif
+
+. /etc/rc.subr
+
+# Global
+checkvm_cmd="/usr/local/bin/vmware-checkvm > /dev/null"
+
+# Functions
+vmware_guest_vmmemctl_start()
+{
+ echo 'Loading vmmemctl kernel module.'
+ kldload /usr/local/lib/vmware-tools/modules/drivers/vmmemctl.ko >/dev/null 2>&1
+}
+vmware_guest_vmxnet_start()
+{
+ echo 'Loading vmxnet kernel module.'
+ kldload /usr/local/lib/vmware-tools/modules/drivers/vmxnet.ko >/dev/null 2>&1
+}
+vmware_guest_vmblock_start()
+{
+ echo 'Loading vmblock kernel module.'
+ kldload /usr/local/lib/vmware-tools/modules/drivers/vmblock.ko >/dev/null 2>&1
+}
+vmware_guest_vmhgfs_start()
+{
+ echo 'Loading vmhgfs kernel module.'
+ kldload /usr/local/lib/vmware-tools/modules/drivers/vmhgfs.ko >/dev/null 2>&1
+}
+
+# VMware kernel module: vmmemctl
+name="vmware_guest_vmmemctl"
+rcvar=`set_rcvar`
+start_precmd="\${checkvm_cmd}"
+start_cmd="vmware_guest_vmmemctl_start"
+stop_precmd="\${checkvm_cmd}"
+stop_cmd=":"
+
+load_rc_config \$name
+vmware_guest_vmmemctl_enable="YES"
+run_rc_command "\$1"
+
+# VMware kernel module: vmxnet
+name="vmware_guest_vmxnet"
+rcvar=`set_rcvar`
+start_precmd="\${checkvm_cmd}"
+start_cmd="vmware_guest_vmxnet_start"
+stop_precmd="\${checkvm_cmd}"
+stop_cmd=":"
+
+load_rc_config \$name
+vmware_guest_vmxnet_enable="YES"
+run_rc_command "\$1"
+
+# VMware kernel module: vmblock
+name="vmware_guest_vmblock"
+rcvar=`set_rcvar`
+start_precmd="\${checkvm_cmd}"
+start_cmd="vmware_guest_vmblock_start"
+stop_precmd="\${checkvm_cmd}"
+stop_cmd=":"
+
+load_rc_config \$name
+vmware_guest_vmblock_enable="YES"
+run_rc_command "\$1"
+
+# VMware kernel module: vmhgfs
+name="vmware_guest_vmhgfs"
+rcvar=`set_rcvar`
+start_precmd="\${checkvm_cmd}"
+start_cmd="vmware_guest_vmhgfs_start"
+stop_precmd="\${checkvm_cmd}"
+stop_cmd=":"
+
+load_rc_config \$name
+vmware_guest_vmhgfs_enable="YES"
+run_rc_command "\$1"
+
+EOF;
+
+ // Write out conf files.
+ $fd = fopen("/usr/local/etc/rc.d/vmware-guestd.sh", "w");
+ if(!$fd)
+ die("Could not open /usr/local/etc/rc.d/vmware-guestd.sh for writing");
+ fwrite($fd, $vmware_guestd);
+ fclose($fd);
+ $fd = fopen("/usr/local/etc/rc.d/vmware-kmod.sh", "w");
+ if(!$fd)
+ die("Could not open /usr/local/etc/rc.d/vmware-kmod.sh for writing");
+ fwrite($fd, $vmware_kmod);
+ fclose($fd);
+
+ // Remove non used files
+ unlink_if_exists("/usr/local/etc/rc.d/vmware-kmod");
+ unlink_if_exists("/usr/local/etc/rc.d/vmware-guestd");
+
+ // Make sure files are executable.
+ exec("chmod a+rx /usr/local/etc/rc.d/*.sh");
+
+}
+
+?> \ No newline at end of file