diff options
Diffstat (limited to 'community/open-vm-tools')
-rw-r--r-- | community/open-vm-tools/PKGBUILD | 64 | ||||
-rw-r--r-- | community/open-vm-tools/modprobe.conf | 1 | ||||
-rw-r--r-- | community/open-vm-tools/open-vm-tools-dkms.install | 23 | ||||
-rw-r--r-- | community/open-vm-tools/open-vm-tools.conf.d | 5 | ||||
-rw-r--r-- | community/open-vm-tools/open-vm-tools.rc.d | 21 | ||||
-rw-r--r-- | community/open-vm-tools/scripts-network-FS19541.patch | 2 | ||||
-rw-r--r-- | community/open-vm-tools/vmtoolsd.service | 9 |
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 |