From 415856bdd4f48ab4f2732996f0bae58595092bbe Mon Sep 17 00:00:00 2001 From: Parabola Date: Tue, 5 Apr 2011 14:26:38 +0000 Subject: Tue Apr 5 14:26:38 UTC 2011 --- community/open-vm-tools/PKGBUILD | 67 ++++++++++++++ .../open-vm-tools/open-vm-tools-X11Bool.patch | 15 +++ community/open-vm-tools/open-vm-tools.conf.d | 6 ++ community/open-vm-tools/open-vm-tools.install | 10 ++ community/open-vm-tools/open-vm-tools.rc.d | 101 +++++++++++++++++++++ .../open-vm-tools/scripts-network-FS19541.patch | 40 ++++++++ community/open-vm-tools/scripts-network.patch | 63 +++++++++++++ community/open-vm-tools/tools.conf | 1 + community/open-vm-tools/vmware-guestd | 6 ++ community/open-vm-tools/xautostart.conf | 6 ++ 10 files changed, 315 insertions(+) create mode 100644 community/open-vm-tools/PKGBUILD create mode 100644 community/open-vm-tools/open-vm-tools-X11Bool.patch create mode 100644 community/open-vm-tools/open-vm-tools.conf.d create mode 100644 community/open-vm-tools/open-vm-tools.install create mode 100644 community/open-vm-tools/open-vm-tools.rc.d create mode 100644 community/open-vm-tools/scripts-network-FS19541.patch create mode 100644 community/open-vm-tools/scripts-network.patch create mode 100644 community/open-vm-tools/tools.conf create mode 100644 community/open-vm-tools/vmware-guestd create mode 100644 community/open-vm-tools/xautostart.conf (limited to 'community/open-vm-tools') diff --git a/community/open-vm-tools/PKGBUILD b/community/open-vm-tools/PKGBUILD new file mode 100644 index 000000000..d324026d1 --- /dev/null +++ b/community/open-vm-tools/PKGBUILD @@ -0,0 +1,67 @@ +# $Id: PKGBUILD 39959 2011-02-18 23:30:44Z spupykin $ +# Maintainer: Sergej Pupykin +# Contributor: Krzysztof Raczkowski + +pkgname=open-vm-tools +pkgver=2011.01.24 +_pkgsubver=354108 +pkgrel=1 +pkgdesc="The Open Virtual Machine Tools (open-vm-tools) are the open source implementation of VMware Tools." +arch=('i686' 'x86_64') +url="http://open-vm-tools.sourceforge.net/" +license=('LGPL') +depends=('open-vm-tools-modules' 'libdnet' 'icu' 'procps' 'glib2' 'uriparser' 'libsigc++' 'libxss') +makedepends=('chrpath' 'doxygen') +optdepends=('gtkmm' 'libnotify' 'libxtst' 'fuse' 'libsm') +options=('docs' '!libtool') +install=$pkgname.install +source=(http://switch.dl.sourceforge.net/$pkgname/$pkgname-$pkgver-${_pkgsubver}.tar.gz + scripts-network.patch + scripts-network-FS19541.patch + open-vm-tools-X11Bool.patch + open-vm-tools.conf.d + open-vm-tools.rc.d + tools.conf + vmware-guestd + xautostart.conf) +md5sums=('b324efa55bb3f1198100cad838e9272b' + '06f7448e274db2a911f582e276088fc9' + 'b183ec265200d68431a5e4eb1b0c8cf5' + '8c333a979578bdc0c3134c1dd6bb7353' + '79b0a14d86191fee70a4639da8bd7785' + '67cb83a9e5a4dd016c1a1da2863ca36d' + 'b55d15e2c4be396aad709aeca91033d3' + '73cc1a2665b0dd62427733d62ead8b9a' + '75a25d83417e683957321f97a00f8465') + +build() { + cd "$srcdir/$pkgname-${pkgver}-${_pkgsubver}" + +# [ $NOEXTRACT -eq 1 ] || patch -Np1 -i $srcdir/open-vm-tools-X11Bool.patch + + [ $NOEXTRACT -eq 1 ] || sed -i 's#3.2.7#3.2.8#' configure + [ $NOEXTRACT -eq 1 ] || sed -i 's#3.2.7#3.2.8#' configure.ac + + unset LDFLAGS + + [ -f Makefile ] || ./configure --prefix=/usr --without-kernel-modules + make + make install DESTDIR=$pkgdir + install -D -m 755 scripts/common/vmware-xdg-detect-de $pkgdir/usr/bin/vmware-xdg-detect-de + chmod 07755 $pkgdir/usr/bin/vmware-user-suid-wrapper + + cd $pkgdir + patch -Np1 -i $srcdir/scripts-network.patch etc/vmware-tools/scripts/vmware/network + patch -Np1 -i $srcdir/scripts-network-FS19541.patch etc/vmware-tools/scripts/vmware/network + + ln -fs /usr/sbin/mount.vmhgfs $pkgdir/sbin/mount.vmhgfs + + install -D -m 755 $srcdir/open-vm-tools.rc.d $pkgdir/etc/rc.d/open-vm-tools + install -D -m 644 $srcdir/open-vm-tools.conf.d $pkgdir/etc/conf.d/open-vm-tools + install -D -m 644 $srcdir/tools.conf $pkgdir/etc/vmware-tools/tools.conf + install -D -m 644 $srcdir/xautostart.conf $pkgdir/etc/vmware-tools/xautostart.conf + install -D -m 644 $srcdir/vmware-guestd $pkgdir/etc/pam.d/vmware-guestd + rm -rf $pkgdir/usr/etc + + cd $pkgdir && find -type f -exec sh -c "file {} | grep ELF >/dev/null && echo {} && chrpath -d {}" \; +} diff --git a/community/open-vm-tools/open-vm-tools-X11Bool.patch b/community/open-vm-tools/open-vm-tools-X11Bool.patch new file mode 100644 index 000000000..f12581807 --- /dev/null +++ b/community/open-vm-tools/open-vm-tools-X11Bool.patch @@ -0,0 +1,15 @@ +diff -wbBur open-vm-tools-2010.08.24-292196.org/lib/include/vm_basic_types.h open-vm-tools-2010.08.24-292196/lib/include/vm_basic_types.h +--- open-vm-tools-2010.08.24-292196.org/lib/include/vm_basic_types.h 2010-08-24 19:59:22.000000000 +0000 ++++ open-vm-tools-2010.08.24-292196/lib/include/vm_basic_types.h 2010-08-30 09:38:48.000000000 +0000 +@@ -83,8 +83,11 @@ + + /* STRICT ANSI means the Xserver build and X defines Bool differently. */ + #if !defined(__STRICT_ANSI__) || defined(__FreeBSD__) || defined(__MINGW32__) ++# ifndef _XTYPEDEF_BOOL ++# define _XTYPEDEF_BOOL + typedef char Bool; + #endif ++#endif + + #ifndef FALSE + #define FALSE 0 diff --git a/community/open-vm-tools/open-vm-tools.conf.d b/community/open-vm-tools/open-vm-tools.conf.d new file mode 100644 index 000000000..83f7864e8 --- /dev/null +++ b/community/open-vm-tools/open-vm-tools.conf.d @@ -0,0 +1,6 @@ +# Enable support for Drag'n'Drop +VM_DRAG_AND_DROP="yes" + +# vmware-guestd settings +GUESTD_BIN="/usr/sbin/vmware-guestd" +PIDFILE="/var/run/vmware-guestd.pid" diff --git a/community/open-vm-tools/open-vm-tools.install b/community/open-vm-tools/open-vm-tools.install new file mode 100644 index 000000000..88d9b88e6 --- /dev/null +++ b/community/open-vm-tools/open-vm-tools.install @@ -0,0 +1,10 @@ +post_install() { + [ ! -d "/mnt/hgfs" ] && mkdir /mnt/hgfs + echo ">>>" + echo ">>> You can mount VMware Shared Folders via:" + echo ">>> mount -t vmhgfs .host:/ /mnt/hgfs" + echo ">>>" + echo ">>> or by adding this line to /etc/fstab:" + echo ">>> .host:/ /mnt/hgfs vmhgfs defaults 0 0" + echo ">>>" +} diff --git a/community/open-vm-tools/open-vm-tools.rc.d b/community/open-vm-tools/open-vm-tools.rc.d new file mode 100644 index 000000000..0c9221489 --- /dev/null +++ b/community/open-vm-tools/open-vm-tools.rc.d @@ -0,0 +1,101 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +# source application-specific settings +[ -f /etc/conf.d/open-vm-tools ] && . /etc/conf.d/open-vm-tools + +PID=`pidof -o %PPID /usr/bin/vmtoolsd` +case "$1" in + start) + stat_busy "Starting Open Virtual Machine Tools" + + if [ "$VM_DRAG_AND_DROP" == "yes" ]; then + VMBLOCK=`grep -w vmblock /proc/modules` + [ -z "$VMBLOCK" ] && modprobe vmblock + if [ $? -gt 0 ]; then + stat_fail + exit 1 + fi + + DND_TMPDIR="/tmp/VMwareDnD" + if [ ! -d "$DND_TMPDIR" ]; then + mkdir $DND_TMPDIR + chmod 1777 $DND_TMPDIR + fi + + mount -t vmblock none /proc/fs/vmblock/mountPoint + if [ $? -gt 0 ]; then + stat_fail + exit 1 + fi + fi + + + for m in vmhgfs vmsync; do + VMMOD=`grep -w $m /proc/modules` + [ -z "$VMMOD" ] && \ + { modprobe $m + if [ $? -gt 0 ]; then + stat_fail + exit 1 + fi; } + done + + + [ -z "$PID" ] && /usr/bin/vmtoolsd --background $PIDFILE + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon open-vm-tools + stat_done + fi + ;; + stop) + stat_busy "Stopping Open Virtual Machine Tools" + [ ! -z "$PID" ] && kill $PID &>/dev/null +# if [ $? -gt 0 ]; then +# stat_fail +# exit 1 +# fi + + for m in vmhgfs vmsync vmci; do + VMMOD=`grep -w $m /proc/modules` + [ ! -z "$VMMOD" ] && rmmod $m + if [ $? -gt 0 ]; then + stat_fail + exit 4 + fi + done + + if [ "$VM_DRAG_AND_DROP" == "yes" ]; then + MOUNTPOINT=`grep -w "none /proc/fs/vmblock/mountPoint vmblock" /proc/modules` + [ -z "$MOUNTPOINT" ] && umount /proc/fs/vmblock/mountPoint + if [ $? -gt 0 ]; then + stat_fail + exit 5 + fi + + DND_TMPDIR="/tmp/VMwareDnD" + rm -r $DND_TMPDIR + + VMBLOCK=`grep -w vmblock /proc/modules` + [ ! -z "$VMBLOCK" ] && rmmod vmblock + if [ $? -gt 0 ]; then + stat_fail + exit 6 + fi + fi + + rm_daemon open-vm-tools + stat_done + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community/open-vm-tools/scripts-network-FS19541.patch b/community/open-vm-tools/scripts-network-FS19541.patch new file mode 100644 index 000000000..1f65b9824 --- /dev/null +++ b/community/open-vm-tools/scripts-network-FS19541.patch @@ -0,0 +1,40 @@ +--- network 2010-04-28 12:30:51.000000000 +0200 ++++ network.bak 2010-05-20 12:12:50.000000000 +0200 +@@ -76,7 +76,7 @@ + else + echo `date` "[rescue_nic] activating $nic ..." + +- ifup $nic ++ ifconfig $nic up + exitCode=`expr $exitCode \| $?` + fi + done < $activeList +@@ -103,7 +103,7 @@ + TranquilizeNetworkManager() { + # `which' may be a bit noisy, so we'll shush it. + dbusSend=`which dbus-send 2>/dev/null` +- if [ $? -eq 0 ]; then ++ if [ $? -eq 0 ] && [ `pidof dbus-daemon` ]; then + # NetworkManager 0.6 + $dbusSend --system --dest=org.freedesktop.NetworkManager \ + /org/freedesktop/NetworkManager \ +@@ -133,7 +133,7 @@ + WakeNetworkManager() { + # `which' may be a bit noisy, so we'll shush it. + dbusSend=`which dbus-send 2>/dev/null` +- if [ $? -eq 0 ]; then ++ if [ $? -eq 0 ] && [ `pidof dbus-daemon` ]; then + # NetworkManager 0.6 + $dbusSend --system --dest=org.freedesktop.NetworkManager \ + /org/freedesktop/NetworkManager \ +@@ -165,8 +165,8 @@ + + # XXX Are these really necessary? If so, we should have seen customer + # complaints by now. +- which ifup >/dev/null 2>&1 || Panic "ifup not in search path." +- which ifconfig >/dev/null 2>&1 || Panic "ifconfig not in search path." ++# which ifup >/dev/null 2>&1 || Panic "ifup not in search path." ++ which ifconfig >/dev/null 2>&1 || Panic "ifconfig not in search path." + + case "$1" in + poweron-vm) diff --git a/community/open-vm-tools/scripts-network.patch b/community/open-vm-tools/scripts-network.patch new file mode 100644 index 000000000..13ea7f565 --- /dev/null +++ b/community/open-vm-tools/scripts-network.patch @@ -0,0 +1,63 @@ +--- network.org 2010-04-28 10:21:14.000000000 +0000 ++++ network 2010-04-28 10:24:00.000000000 +0000 +@@ -34,51 +34,6 @@ + + + # +-# find_networking_script -- +-# +-# Searches common Linux distro init/rc paths to find a singular network +-# services script. +-# +-# Result: +-# Returns a valid networking script path on success or "error" on failure. +-# +-# Side effects: +-# None. +-# +- +-find_networking_script() { +- local script="error" +- for dir in "/etc/init.d" "/sbin/init.d" "/etc" "/etc/rc.d" ; do +- if [ -d "$dir/rc0.d" ] && +- [ -d "$dir/rc1.d" ] && +- [ -d "$dir/rc2.d" ] && +- [ -d "$dir/rc3.d" ] && +- [ -d "$dir/rc4.d" ] && +- [ -d "$dir/rc5.d" ] && +- [ -d "$dir/rc6.d" ]; then +- +- # Now find the appropriate networking script. +- if [ -d "$dir/init.d" ]; then +- if [ -x "$dir/init.d/network" ]; then +- script="$dir/init.d/network" +- elif [ -x "$dir/init.d/networking" ]; then +- script="$dir/init.d/networking" +- fi +- else +- if [ -x "$dir/network" ]; then +- script="$dir/network" +- elif [ -x "$dir/networking" ]; then +- script="$dir/networking" +- fi +- fi +- fi +- done +- +- echo "$script" +-} +- +- +-# + # save_active_NIC_list -- + # + # Records a list of every active NIC to /var/run/vmware-active-nics. +@@ -205,7 +160,7 @@ + exitCode=0 + activeList=/var/run/vmware-active-nics + +- networkScript=`find_networking_script` ++ networkScript=/etc/rc.d/network + [ "$networkScript" != "error" ] || Panic "Cannot find system networking script." + + # XXX Are these really necessary? If so, we should have seen customer diff --git a/community/open-vm-tools/tools.conf b/community/open-vm-tools/tools.conf new file mode 100644 index 000000000..0bb2681b1 --- /dev/null +++ b/community/open-vm-tools/tools.conf @@ -0,0 +1 @@ +bindir = "/usr/bin" diff --git a/community/open-vm-tools/vmware-guestd b/community/open-vm-tools/vmware-guestd new file mode 100644 index 000000000..ac80c0385 --- /dev/null +++ b/community/open-vm-tools/vmware-guestd @@ -0,0 +1,6 @@ +#%PAM-1.0 + +auth sufficient /lib/security/pam_unix2.so shadow nullok +auth required /lib/security/pam_unix_auth.so shadow nullok +account sufficient /lib/security/pam_unix2.so +account required /lib/security/pam_unix_acct.so diff --git a/community/open-vm-tools/xautostart.conf b/community/open-vm-tools/xautostart.conf new file mode 100644 index 000000000..829f379ce --- /dev/null +++ b/community/open-vm-tools/xautostart.conf @@ -0,0 +1,6 @@ +gnome-panel +ksmserver +startkde +kwrapper +panel +xfce4-panel -- cgit v1.2.3-54-g00ecf