diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 224 |
1 files changed, 224 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..d75b12fd2daf --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,224 @@ +# Maintainer: Jean-Marc Lenoir <archlinux "at" jihemel "dot" com> + +pkgname=vmware-tools +pkgver=10.2.0 +_buildver=7259539 +_pkgver=${pkgver}_${_buildver} +_vmware_ver=14.1.1_7528167 +pkgrel=1 +pkgdesc='The proprietary implementation of VMware Tools' +arch=('i686' 'x86_64') +url='https://www.vmware.com/products/workstation-for-linux.html' +license=(custom) +install="vmware-tools.install" +conflicts=( + open-vm-tools +) +provides=( + open-vm-tools +) +depends=( + fuse2 + net-tools +) +makedepends=( + p7zip + vmware-component-extractor +) +optdepends=( + 'cups: print using ThinPrint' +) +backup=( + 'etc/tpvmlp.conf' + 'etc/vmware-tools/guestproxy-ssl.conf' + 'etc/vmware-tools/vmware-user.desktop' +) +source=( + "https://softwareupdate.vmware.com/cds/vmw-desktop/ws/${_vmware_ver/_/\/}/linux/packages/vmware-tools-linux-${_pkgver/_/-}.x86_64.component.tar" + 'vmtoolsd.service' + 'vmware-thinprint.service' + 'vgauth.service' + 'vmware-caf.service' + 'config-vmware-tools' + 'locations' +) +sha256sums=( + 'e1c3f40ca8cc8630828d0f4ee6c527889de02765c043c384f93d34095f5f090b' + '5bd7e1f6e238eae829bbc7edc434e63910f41abeb7c0513d30988e80c28a1630' + '02971c67bdbb289accd3faa6f0a8f1803e8145713235f4ba69671c16a9938dcc' + '97f2e4673a518dc138585cfaf6ca636e15f2ce1e1a1af0e7bcc039a066d67f6b' + 'f911152ed8104d96973e6ffab9973578bc06ab4e2b8fd5618dd729953d609790' + '8ea4eb16d72c746b552a7610962644f806efe958357c44a842cf8d84d965f94c' + '9a2f35987cae17cf767e7aa8188b32df8f97c43aec769d5c1645a6ea42995fd2' +) +noextract=("vmware-tools-linux-${_pkgver/_/-}.x86_64.component.tar") + +if [ "$CARCH" = "x86_64" ]; then + _arch=64 +else + _arch=32 +fi + +prepare() { + rm -f linux.iso + vmware-component-extractor "vmware-tools-linux-${_pkgver/_/-}.x86_64.component.tar" + 7z x linux.iso "VMwareTools-${_pkgver/_/-}.tar.gz" -y > /dev/null + tar xf "VMwareTools-${_pkgver/_/-}.tar.gz" +} + +package() { + # Make directories and copy files. + + mkdir -p \ + "$pkgdir/etc"/{vmware-tools,xdg/autostart} \ + "$pkgdir/usr"/{bin,share/licenses/"$pkgname"} \ + "$pkgdir/usr/lib"/{cups/backend,vmware-tools,vmware-vgauth} \ + "$pkgdir/var/lib" + + cd "$srcdir/vmware-tools-distrib" + + cp -r \ + etc/{messages,scripts,statechange.subr,*-vm-default,vmware-tools-*.conf,vmware-user.*,xsession-*} \ + installer/{guestproxy-ssl.conf,vgauth.conf} \ + "$pkgdir/etc/vmware-tools" + + cp -r \ + lib/{bin${_arch},include,lib${_arch},plugins${_arch},sbin${_arch}} \ + "$pkgdir/usr/lib/vmware-tools" + + cp -r \ + vgauth/schemas \ + "$pkgdir/usr/lib/vmware-vgauth" + + cp -r \ + caf/etc/vmware-caf \ + "$pkgdir/etc" + cp -r \ + caf/usr/lib/vmware-caf \ + "$pkgdir/usr/lib" + cp -r \ + caf/var/lib/vmware-caf \ + "$pkgdir/var/lib" + + cp -r \ + doc/{open_source_licenses.txt,README} \ + "$pkgdir/usr/share/licenses/${pkgname}" + + install -Dm 644 "$srcdir"/config-vmware-tools "$pkgdir/etc/vmware-tools/config" + install -Dm 644 "$srcdir"/locations "$pkgdir/etc/vmware-tools/locations" + install -Dm 644 etc/tpvmlp.conf "$pkgdir/etc/tpvmlp.conf" + install -Dm 644 etc/vmware-tools-libraries.conf "$pkgdir/etc/ld.so.conf.d/vmware-tools-libraries.conf" + install -Dm 644 lib/configurator/pam.d/vmtoolsd "$pkgdir/etc/pam.d/vmtoolsd" + install -Dm 644 lib/configurator/thinprint.ppd "$pkgdir/etc/cups/ppd/VMware_Virtual_Printer.ppd" + install -Dm 644 lib/configurator/udev/99-vmware-scsi-udev.rules "$pkgdir/usr/lib/udev/rules.d/99-vmware-scsi-udev.rules" + + # Symlink does not work for these two files + install -Dm 755 "$pkgdir/usr/lib/vmware-tools/bin${_arch}/appLoader-av0" "$pkgdir/usr/lib/cups/backend/tpvmgp" + install -Dm 755 "$pkgdir/usr/lib/vmware-tools/bin${_arch}/appLoader-av0" "$pkgdir/usr/lib/cups/backend/tpvmlp" + + for service_file in \ + vmtoolsd.service \ + vmware-thinprint.service \ + vgauth.service \ + vmware-caf.service + do + install -Dm 644 \ + "$srcdir/$service_file" \ + "$pkgdir/usr/lib/systemd/system/$service_file" + done + + + # Apply permissions where necessary. + + chmod +x \ + "$pkgdir/usr/lib/vmware-tools/bin${_arch}"/* \ + "$pkgdir/usr/lib/vmware-tools/sbin${_arch}"/* \ + "$pkgdir/etc/vmware-caf/pme"/{scripts,install}/* + #"$pkgdir/usr/bin"/* + + chmod -x \ + "$pkgdir/usr/lib/vmware-tools/lib${_arch}"/*/* \ + "$pkgdir/usr/lib/vmware-tools/plugins${_arch}"/*/* \ + "$pkgdir/etc/vmware-tools/messages"/*/* \ + "$pkgdir/etc/vmware-tools"/*.conf \ + "$pkgdir/usr/lib/vmware-caf/pme/lib"/* + + chmod +s \ + "$pkgdir/usr/lib/vmware-tools/bin${_arch}"/vmware-user-suid-wrapper + + + # Add symlinks the installer would create. + + for link in \ + tpvmlp \ + tpvmlpd \ + vmhgfs-fuse \ + vmware-guestproxycerttool \ + vmware-hgfsclient \ + vmware-namespace-cmd \ + vmware-toolbox-cmd \ + vmware-vmblock-fuse \ + vmware-xferlogs + do + ln -s /usr/lib/vmware-tools/bin/appLoader "$pkgdir/usr/bin/$link" + done + + for link in \ + vmtoolsd \ + vmware-checkvm \ + vmware-rpctool + do + ln -s /usr/lib/vmware-tools/sbin/"$link" "$pkgdir/usr/bin/$link" + done + + for link in \ + VGAuthService \ + vmware-alias-import \ + vmware-vgauth-cmd + do + ln -s /usr/lib/vmware-tools/bin/appLoader "$pkgdir/usr/lib/vmware-vgauth/$link" + done + + ln -s /usr/lib/vmware-tools/bin/appLoader "$pkgdir/usr/lib/vmware-tools/sbin${_arch}/vmtoolsd" + ln -s /usr/lib/vmware-tools/bin/appLoader "$pkgdir/usr/lib/vmware-tools/sbin${_arch}/vmware-modconfig-console" + ln -s /usr/lib/vmware-tools/sbin/vmware-hgfsmounter "$pkgdir/usr/bin/mount.vmhgfs" + + ln -s /etc/vmware-tools/vmware-user.desktop "$pkgdir/etc/xdg/autostart/vmware-user.desktop" + ln -s /usr/lib/vmware-tools/plugins "$pkgdir/etc/vmware-tools/plugins" + ln -s /usr/lib/vmware-tools/bin/vmware-user-suid-wrapper "$pkgdir/usr/bin/vmware-user" + + ln -s liblog4cpp.so.5.0.6 "$pkgdir/usr/lib/vmware-caf/pme/lib/liblog4cpp.so" + ln -s liblog4cpp.so.5.0.6 "$pkgdir/usr/lib/vmware-caf/pme/lib/liblog4cpp.so.5" + ln -s librabbitmq.so.4.2.1 "$pkgdir/usr/lib/vmware-caf/pme/lib/librabbitmq.so" + ln -s librabbitmq.so.4.2.1 "$pkgdir/usr/lib/vmware-caf/pme/lib/librabbitmq.so.4" + + ln -s bin${_arch} "$pkgdir/usr/lib/vmware-tools/bin" + ln -s sbin${_arch} "$pkgdir/usr/lib/vmware-tools/sbin" + ln -s lib${_arch} "$pkgdir/usr/lib/vmware-tools/lib" + ln -s lib${_arch}/libconf "$pkgdir/usr/lib/vmware-tools/libconf" + ln -s plugins${_arch} "$pkgdir/usr/lib/vmware-tools/plugins" + + + # Replace placeholder "variables" with real paths. + + sed -i 's,@@LIBDIR@@,/usr/lib/vmware-tools,' "$pkgdir/etc/ld.so.conf.d/vmware-tools-libraries.conf" + sed -i 's,@@VGAUTHSCHEMADIR@@,/usr/lib/vmware-vgauth/schemas,' "$pkgdir/etc/vmware-tools/vgauth.conf" + + sed \ + -e "s,@binDir@,/usr/lib/vmware-caf/pme/bin,g" \ + -e "s,@libDir@,/usr/lib/vmware-caf/pme/lib,g" \ + -e "s,@configDir@,/etc/vmware-caf/pme/config,g" \ + -e "s,@inputDir@,/var/lib/vmware-caf/pme/data/input,g" \ + -e "s,@outputDir@,/var/lib/vmware-caf/pme/data/output,g" \ + -e "s,@logDir@,/var/log/vmware-caf/pme,g" \ + -e "s,@invokersDir@,/var/lib/vmware-caf/pme/data/input/invokers,g" \ + -e "s,@providersDir@,/var/lib/vmware-caf/pme/data/input/providers,g" \ + -e "s,@toolsLibDir@,/usr/lib/vmware-tools/lib,g" \ + -e "s,@cafInstallMode@,tools,g" \ + -i "$pkgdir//etc/vmware-caf/pme/config/cafenv-appconfig" + + + # Some fixes + + sed -i 's,Exec=/usr/bin/vmware-user-suid-wrapper,Exec=/usr/bin/vmware-user,' "$pkgdir/etc/vmware-tools/vmware-user.desktop" +} |