aboutsummaryrefslogtreecommitdiffstats
path: root/config/open-vm-tools_2
diff options
context:
space:
mode:
Diffstat (limited to 'config/open-vm-tools_2')
-rw-r--r--config/open-vm-tools_2/open-vm-tools.inc156
-rw-r--r--config/open-vm-tools_2/open-vm-tools.xml69
2 files changed, 225 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
diff --git a/config/open-vm-tools_2/open-vm-tools.xml b/config/open-vm-tools_2/open-vm-tools.xml
new file mode 100644
index 00000000..c2a74f16
--- /dev/null
+++ b/config/open-vm-tools_2/open-vm-tools.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE packagegui SYSTEM "./schema/packages.dtd">
+<?xml-stylesheet type="text/xsl" href="./xsl/package.xsl"?>
+<packagegui>
+ <copyright>
+ <![CDATA[
+ /* ========================================================================== */
+ /*
+ open-vm-tools.xml
+ part of pfSense (http://www.pfSense.org)
+ Copyright (C) 2008 BSD Perimeter LLC
+ All rights reserved.
+
+ Based on m0n0wall (http://m0n0.ch/wall)
+ Copyright (C) 2003-2008 Manuel Kasper <mk@neon1.net>.
+ All rights reserved.
+ */
+ /* ========================================================================== */
+ /*
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+ */
+/* ========================================================================== */
+ ]]>
+ </copyright>
+ <name>open-vm-tools</name>
+ <version>217847</version>
+ <title>Open VM Tools</title>
+ <additional_files_needed>
+ <prefix>/usr/local/pkg/</prefix>
+ <chmod>0644</chmod>
+ <item>http://www.pfsense.com/packages/config/open-vm-tools_2/open-vm-tools.inc</item>
+ </additional_files_needed>
+ <custom_add_php_command>
+ </custom_add_php_command>
+ <custom_php_install_command>
+ conf_mount_rw();
+ open_vm_tools_install();
+ exec("/usr/local/etc/rc.d/vmware-guestd.sh start");
+ exec("/usr/local/etc/rc.d/vmware-kmod.sh start");
+ conf_mount_ro();
+ </custom_php_install_command>
+ <custom_php_deinstall_command>
+ conf_mount_rw();
+ exec("/usr/local/etc/rc.d/vmware-guestd.sh stop");
+ exec("/usr/local/etc/rc.d/vmware-kmod.sh stop");
+ open_vm_tools_deinstall();
+ conf_mount_ro();
+ </custom_php_deinstall_command>
+ <include_file>/usr/local/pkg/open-vm-tools.inc</include_file>
+</packagegui> \ No newline at end of file