summaryrefslogtreecommitdiff
path: root/community/open-vm-tools
diff options
context:
space:
mode:
Diffstat (limited to 'community/open-vm-tools')
-rw-r--r--community/open-vm-tools/PKGBUILD64
-rw-r--r--community/open-vm-tools/modprobe.conf1
-rw-r--r--community/open-vm-tools/open-vm-tools-dkms.install23
-rw-r--r--community/open-vm-tools/open-vm-tools.conf.d5
-rw-r--r--community/open-vm-tools/open-vm-tools.rc.d21
-rw-r--r--community/open-vm-tools/scripts-network-FS19541.patch2
-rw-r--r--community/open-vm-tools/vmtoolsd.service9
7 files changed, 101 insertions, 24 deletions
diff --git a/community/open-vm-tools/PKGBUILD b/community/open-vm-tools/PKGBUILD
index 32f291c36..22b63f7d6 100644
--- a/community/open-vm-tools/PKGBUILD
+++ b/community/open-vm-tools/PKGBUILD
@@ -1,18 +1,24 @@
-# $Id: PKGBUILD 72492 2012-06-15 13:37:19Z spupykin $
+# $Id: PKGBUILD 80292 2012-11-19 13:12:33Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Krzysztof Raczkowski <raczkow@gmail.com>
-pkgname=open-vm-tools
-pkgver=2012.05.21
-_pkgsubver=724730
-pkgrel=1
+pkgbase=open-vm-tools
+pkgname=('open-vm-tools' 'open-vm-tools-dkms')
+epoch=1
+pkgver=9.2.2
+_pkgsubver=893683
+pkgrel=3
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-ng' 'uriparser' 'libsigc++' 'libxss')
+depends=('libdnet' 'icu' 'procps-ng' 'uriparser' 'libsigc++' 'libxss' 'iproute2')
makedepends=('chrpath' 'doxygen' 'gtkmm' 'fuse' 'libxtst')
-optdepends=('gtkmm' 'libnotify' 'libxtst' 'fuse' 'libsm')
+optdepends=('gtkmm' 'libnotify' 'libxtst' 'fuse' 'libsm'
+ 'open-vm-tools-modules: for linux kernel'
+ 'open-vm-tools-dkms: for linux-lts and other kernels')
+backup=('etc/conf.d/open-vm-tools'
+ 'etc/pam.d/vmware-guestd')
options=('docs' '!libtool')
install=$pkgname.install
source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver-${_pkgsubver}.tar.gz
@@ -23,29 +29,38 @@ source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver-${_pkgsubver}
open-vm-tools.rc.d
tools.conf
vmware-guestd
- xautostart.conf)
-md5sums=('91affb5b23db8abceff930613845f434'
+ xautostart.conf
+ modprobe.conf
+ vmtoolsd.service)
+md5sums=('7af505681d736d4c9ee6493b1166689f'
'b8f68fef3d388489e40dba581b6da18a'
- '199508b0d3fe6fa9b726d09170bf51f1'
+ '507ead54854e49762ca2a6893529c484'
'8c333a979578bdc0c3134c1dd6bb7353'
- '79b0a14d86191fee70a4639da8bd7785'
- '67cb83a9e5a4dd016c1a1da2863ca36d'
+ '6567ca1b465854f832fc94a4e9faf876'
+ '0848618fa6310294db2752c77ae99865'
'b55d15e2c4be396aad709aeca91033d3'
'1b9ae908fce4c623269f100ee9bdfdef'
- '75a25d83417e683957321f97a00f8465')
+ '75a25d83417e683957321f97a00f8465'
+ 'bc5518489077e91655489bd04b868584'
+ 'a6c53243d31c765580f6dded7d5fa98f')
build() {
cd "$srcdir/$pkgname-${pkgver}-${_pkgsubver}"
-
+ export CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS
[ -f Makefile ] || CUSTOM_PROCPS_NAME="procps" ./configure --prefix=/usr --without-kernel-modules
make
}
-package() {
+package_open-vm-tools() {
cd "$srcdir/$pkgname-${pkgver}-${_pkgsubver}"
make install DESTDIR="$pkgdir"
install -Dm0644 vmware-user-suid-wrapper/vmware-user.desktop $pkgdir/usr/share/applications/vmware-user.desktop
+
+ # vmware-user XDG autostart
+ mkdir -p $pkgdir/etc/xdg/autostart
+ ln -s /usr/share/applications/vmware-user.desktop $pkgdir/etc/xdg/autostart/vmware-user.desktop
+
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
@@ -63,4 +78,23 @@ package() {
ln -fs /usr/sbin/mount.vmhgfs "$pkgdir"/sbin/mount.vmhgfs
cd "$pkgdir" && find -type f -exec sh -c "file {} | grep ELF >/dev/null && echo {} && chrpath -d {}" \;
+ install -Dm644 ${srcdir}/vmtoolsd.service ${pkgdir}/usr/lib/systemd/system/vmtoolsd.service
+}
+
+package_open-vm-tools-dkms() {
+ pkgdesc="kernel modules for the open source implementation of VMware Tools"
+ depends=('dkms')
+ provides=('open-vm-tools-modules')
+ conflicts=('open-vm-tools-modules')
+ optdepends=()
+ backup=()
+ install=open-vm-tools-dkms.install
+
+ install -d -m755 ${pkgdir}/usr/src/
+ sh ${srcdir}/open-vm-tools-${pkgver}-${_pkgsubver}/modules/linux/dkms.sh \
+ ${srcdir}/open-vm-tools-${pkgver}-${_pkgsubver}/ \
+ ${pkgdir}/usr/src/
+ install -Dm644 ${srcdir}/modprobe.conf ${pkgdir}/usr/lib/modprobe.d/${pkgname}.conf
+
+ rm -f $pkgdir/etc/vmware-tools/scripts/vmware/*.orig
}
diff --git a/community/open-vm-tools/modprobe.conf b/community/open-vm-tools/modprobe.conf
new file mode 100644
index 000000000..6a1a9ca53
--- /dev/null
+++ b/community/open-vm-tools/modprobe.conf
@@ -0,0 +1 @@
+softdep pcnet32 pre: vmxnet
diff --git a/community/open-vm-tools/open-vm-tools-dkms.install b/community/open-vm-tools/open-vm-tools-dkms.install
new file mode 100644
index 000000000..6aadce7c7
--- /dev/null
+++ b/community/open-vm-tools/open-vm-tools-dkms.install
@@ -0,0 +1,23 @@
+post_install() {
+ echo ">>> Enable building of open-vm-tools modules:"
+ echo ">>> $ dkms add open-vm-tools/${1%-*}"
+ echo ">>>"
+ echo ">>> Enabling vmxnet driver in /usr/lib/modprobe.d/open-vm-tools-modules.conf"
+ echo ">>> (this will disable pcnet32 driver)"
+ echo ">>>"
+ echo ">>> If vmxnet driver doesn't handle your NIC, you have to manually"
+ echo ">>> disable loading of pcnet32 driver"
+ echo ">>>"
+}
+
+post_upgrade() {
+ echo ">>> Enable building of open-vm-tools modules:"
+ echo ">>> $ dkms add open-vm-tools/${1%-*}"
+ echo ">>>"
+}
+
+post_remove() {
+ echo ">>>"
+ echo ">>> Remember to un-blacklist pcnet32 driver"
+ echo ">>>"
+}
diff --git a/community/open-vm-tools/open-vm-tools.conf.d b/community/open-vm-tools/open-vm-tools.conf.d
index 83f7864e8..e24ab4e7f 100644
--- a/community/open-vm-tools/open-vm-tools.conf.d
+++ b/community/open-vm-tools/open-vm-tools.conf.d
@@ -1,6 +1,11 @@
# Enable support for Drag'n'Drop
VM_DRAG_AND_DROP="yes"
+# Load these modules on startup
+# They must be listed in proper dependency order
+# vmblock module loading is switched by VM_DRAG_AND_DROP variable above
+VM_MODULES=('vmci' 'vsock' 'vmhgfs' 'vmsync')
+
# 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.rc.d b/community/open-vm-tools/open-vm-tools.rc.d
index 0c9221489..1d9505abc 100644
--- a/community/open-vm-tools/open-vm-tools.rc.d
+++ b/community/open-vm-tools/open-vm-tools.rc.d
@@ -15,7 +15,7 @@ case "$1" in
VMBLOCK=`grep -w vmblock /proc/modules`
[ -z "$VMBLOCK" ] && modprobe vmblock
if [ $? -gt 0 ]; then
- stat_fail
+ stat_fail
exit 1
fi
@@ -27,13 +27,13 @@ case "$1" in
mount -t vmblock none /proc/fs/vmblock/mountPoint
if [ $? -gt 0 ]; then
- stat_fail
+ stat_fail
exit 1
fi
fi
- for m in vmhgfs vmsync; do
+ for m in ${VM_MODULES[@]}; do
VMMOD=`grep -w $m /proc/modules`
[ -z "$VMMOD" ] && \
{ modprobe $m
@@ -60,7 +60,12 @@ case "$1" in
# exit 1
# fi
- for m in vmhgfs vmsync vmci; do
+ VM_MODULES_RM=()
+ for m in ${VM_MODULES[@]}; do
+ VM_MODULES_RM=($m ${VM_MODULES_RM[@]})
+ done
+
+ for m in ${VM_MODULES_RM[@]}; do
VMMOD=`grep -w $m /proc/modules`
[ ! -z "$VMMOD" ] && rmmod $m
if [ $? -gt 0 ]; then
@@ -74,7 +79,7 @@ case "$1" in
[ -z "$MOUNTPOINT" ] && umount /proc/fs/vmblock/mountPoint
if [ $? -gt 0 ]; then
stat_fail
- exit 5
+ exit 5
fi
DND_TMPDIR="/tmp/VMwareDnD"
@@ -84,10 +89,10 @@ case "$1" in
[ ! -z "$VMBLOCK" ] && rmmod vmblock
if [ $? -gt 0 ]; then
stat_fail
- exit 6
+ exit 6
fi
fi
-
+
rm_daemon open-vm-tools
stat_done
;;
@@ -96,6 +101,6 @@ case "$1" in
$0 start
;;
*)
- echo "usage: $0 {start|stop|restart}"
+ 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
index 5fcb33ba8..296f22242 100644
--- a/community/open-vm-tools/scripts-network-FS19541.patch
+++ b/community/open-vm-tools/scripts-network-FS19541.patch
@@ -5,7 +5,7 @@
echo `date` "[rescue_nic] activating $nic ..."
- ifup $nic
-+ ifconfig $nic up
++ ip link set $nic up
exitCode=`expr $exitCode \| $?`
fi
done < $activeList
diff --git a/community/open-vm-tools/vmtoolsd.service b/community/open-vm-tools/vmtoolsd.service
new file mode 100644
index 000000000..1b9924c1f
--- /dev/null
+++ b/community/open-vm-tools/vmtoolsd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Open Virtual Machine Tools (VMware Tools)
+ConditionVirtualization=vmware
+
+[Service]
+ExecStart=/usr/bin/vmtoolsd
+
+[Install]
+WantedBy=multi-user.target