diff options
author | Chris Buechler <cmb@pfsense.org> | 2015-08-15 23:52:54 -0500 |
---|---|---|
committer | Chris Buechler <cmb@pfsense.org> | 2015-08-15 23:52:54 -0500 |
commit | b6569c8ebd3303b6995c312f0d5e486d6a175e39 (patch) | |
tree | 6f89a8cb09cd9672d1459bb5e1cd9d18eda52eb6 /config | |
parent | 13eaaeb770e7030e5afb83aa343e100ee878e257 (diff) | |
parent | b6e5f60fa25c3887d475b5a02abc3dd74fcf1ceb (diff) | |
download | pfsense-packages-b6569c8ebd3303b6995c312f0d5e486d6a175e39.tar.gz pfsense-packages-b6569c8ebd3303b6995c312f0d5e486d6a175e39.tar.bz2 pfsense-packages-b6569c8ebd3303b6995c312f0d5e486d6a175e39.zip |
Merge pull request #1004 from doktornotor/patch-19
Diffstat (limited to 'config')
-rw-r--r-- | config/open-vm-tools_2/open-vm-tools.inc | 76 | ||||
-rw-r--r-- | config/open-vm-tools_2/open-vm-tools.xml | 98 |
2 files changed, 102 insertions, 72 deletions
diff --git a/config/open-vm-tools_2/open-vm-tools.inc b/config/open-vm-tools_2/open-vm-tools.inc index 912c4032..f005074e 100644 --- a/config/open-vm-tools_2/open-vm-tools.inc +++ b/config/open-vm-tools_2/open-vm-tools.inc @@ -1,22 +1,56 @@ <?php - +/* + open-vm-tools.inc + part of pfSense (https://www.pfSense.org/) + Copyright (C) 2008-2015 Electric Sheep Fencing LP + 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. +*/ function open_vm_tools_deinstall() { - exec("rm /usr/local/etc/rc.d/vmware*"); + conf_mount_rw(); + stop_service("vmware-guestd"); + unlink_if_exists("/usr/local/etc/rc.d/vmware-guestd.sh"); + unlink_if_exists("/usr/local/etc/rc.d/vmware-kmod.sh"); unlink_if_exists("/boot/kernel/vmblock.ko"); unlink_if_exists("/boot/kernel/vmhgfs.ko"); unlink_if_exists("/boot/kernel/vmmemctl.ko"); unlink_if_exists("/boot/kernel/vmxnet.ko"); + conf_mount_ro(); } function open_vm_tools_install() { + conf_mount_rw(); - // clean up old .ko files if they exist + // Clean up old .ko files if they exist unlink_if_exists("/boot/kernel/vmblock.ko"); unlink_if_exists("/boot/kernel/vmhgfs.ko"); unlink_if_exists("/boot/kernel/vmmemctl.ko"); unlink_if_exists("/boot/kernel/vmxnet.ko"); + // Remove other unused files if they exist + unlink_if_exists("/usr/local/etc/rc.d/vmware-kmod"); + unlink_if_exists("/usr/local/etc/rc.d/vmware-guestd"); - $pfs_version=substr(trim(file_get_contents("/etc/version")),0,3); + $pfs_version = substr(trim(file_get_contents("/etc/version")), 0, 3); if ($pfs_version == "2.1") { $openvmtools_path = "/usr/pbi/open-vm-tools-nox11-" . php_uname("m"); } else if ($pfs_version == "2.2") { @@ -24,10 +58,7 @@ function open_vm_tools_install() { } else { $openvmtools_path = "/usr/local"; } - - // won't copy this either for now, some sequences of loading/unloading of the module will kernel panic. - //exec("cp $openvmtools_path/local/lib/vmware-tools/modules/drivers/vmmemctl.ko /boot/kernel/"); - + $vmware_tools_conf = <<<EOF [powerops] poweron-script= @@ -40,10 +71,10 @@ EOF; $vmware_guestd = <<<EOF #!/bin/sh # -# This file was automatically generated +# This file was automatically generated # by the pfSense package manager. -# -# Do not edit this file. Edit +# +# Do not edit this file. Edit # /usr/local/pkg/open-vm-tools.inc instead. # # PROVIDE: vmware-guestd @@ -76,10 +107,10 @@ EOF; $vmware_kmod = <<<EOF #!/bin/sh # -# This file was automatically generated +# This file was automatically generated # by the pfSense package manager. -# -# Do not edit this file. Edit +# +# Do not edit this file. Edit # /usr/local/pkg/open-vm-tools.inc instead. # # PROVIDE: vmware-kmod @@ -120,8 +151,9 @@ EOF; } fwrite($fd, $vmware_guestd); fclose($fd); + chmod("/usr/local/etc/rc.d/vmware-guestd.sh", 0755); - /* the kernel modules aren't stable at this time, omit them. + /* The kernel modules aren't stable at this time, omit them. $fd = fopen("/usr/local/etc/rc.d/vmware-kmod.sh", "w"); if (!$fd) { log_error("Could not open /usr/local/etc/rc.d/vmware-kmod.sh for writing"); @@ -129,8 +161,12 @@ EOF; } fwrite($fd, $vmware_kmod); fclose($fd); + chmod("/usr/local/etc/rc.d/vmware-kmod.sh", 0755); */ - + /* Won't copy this either for now, some sequences of loading/unloading of the module will cause kernel panic. + mwexec("/bin/cp $openvmtools_path/local/lib/vmware-tools/modules/drivers/vmmemctl.ko /boot/kernel/"); + */ + $fd = fopen("$openvmtools_path/share/vmware-tools/tools.conf", "w"); if (!$fd) { log_error("Could not open $openvmtools_path/share/vmware-tools/tools.conf for writing"); @@ -139,13 +175,7 @@ EOF; fwrite($fd, $vmware_tools_conf); 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"); - + start_service("vmware-guestd"); } ?> diff --git a/config/open-vm-tools_2/open-vm-tools.xml b/config/open-vm-tools_2/open-vm-tools.xml index 5540672b..b2bd6d7f 100644 --- a/config/open-vm-tools_2/open-vm-tools.xml +++ b/config/open-vm-tools_2/open-vm-tools.xml @@ -1,63 +1,63 @@ <?xml version="1.0" encoding="utf-8" ?> -<!DOCTYPE packagegui SYSTEM "./schema/packages.dtd"> -<?xml-stylesheet type="text/xsl" href="./xsl/package.xsl"?> +<!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-2015 Electric Sheep Fencing LP - All rights reserved. + <copyright> +<![CDATA[ +/* $Id$ */ +/* ====================================================================================== */ +/* + open-vm-tools.xml + part of pfSense (https://www.pfSense.org/) + Copyright (C) 2008-2015 Electric Sheep Fencing LP + All rights reserved. +*/ +/* ====================================================================================== */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: - /* ========================================================================== */ - /* - 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. + 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. + 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> + + 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>313025</version> + <version>1280544.11</version> <title>Open VM Tools</title> + <include_file>/usr/local/pkg/open-vm-tools.inc</include_file> <additional_files_needed> <prefix>/usr/local/pkg/</prefix> - <chmod>0644</chmod> <item>https://packages.pfsense.org/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(); + </additional_files_needed> + <service> + <name>vmware-guestd</name> + <rcfile>vmware-guestd.sh</rcfile> + <executable>vmtoolsd</executable> + <description>VMware Guest Daemon</description> + </service> + <custom_php_install_command> open_vm_tools_install(); - exec("/usr/local/etc/rc.d/vmware-guestd.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"); + </custom_php_install_command> + <custom_php_deinstall_command> open_vm_tools_deinstall(); - conf_mount_ro(); - </custom_php_deinstall_command> - <include_file>/usr/local/pkg/open-vm-tools.inc</include_file> + </custom_php_deinstall_command> </packagegui> |