diff options
-rw-r--r-- | .SRCINFO | 37 | ||||
-rw-r--r-- | PKGBUILD | 224 | ||||
-rw-r--r-- | config-vmware-tools | 1 | ||||
-rw-r--r-- | locations | 3 | ||||
-rw-r--r-- | vgauth.service | 11 | ||||
-rw-r--r-- | vmtoolsd.service | 11 | ||||
-rw-r--r-- | vmware-caf.service | 11 | ||||
-rw-r--r-- | vmware-thinprint.service | 14 | ||||
-rw-r--r-- | vmware-tools.install | 13 |
9 files changed, 325 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..9ce42327b27a --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,37 @@ +pkgbase = vmware-tools + pkgdesc = The proprietary implementation of VMware Tools + pkgver = 10.2.0 + pkgrel = 1 + url = https://www.vmware.com/products/workstation-for-linux.html + install = vmware-tools.install + arch = i686 + arch = x86_64 + license = custom + makedepends = p7zip + makedepends = vmware-component-extractor + depends = fuse2 + depends = net-tools + optdepends = cups: print using ThinPrint + provides = open-vm-tools + conflicts = open-vm-tools + noextract = vmware-tools-linux-10.2.0-7259539.x86_64.component.tar + backup = etc/tpvmlp.conf + backup = etc/vmware-tools/guestproxy-ssl.conf + backup = etc/vmware-tools/vmware-user.desktop + source = https://softwareupdate.vmware.com/cds/vmw-desktop/ws/14.1.1/7528167/linux/packages/vmware-tools-linux-10.2.0-7259539.x86_64.component.tar + source = vmtoolsd.service + source = vmware-thinprint.service + source = vgauth.service + source = vmware-caf.service + source = config-vmware-tools + source = locations + sha256sums = e1c3f40ca8cc8630828d0f4ee6c527889de02765c043c384f93d34095f5f090b + sha256sums = 5bd7e1f6e238eae829bbc7edc434e63910f41abeb7c0513d30988e80c28a1630 + sha256sums = 02971c67bdbb289accd3faa6f0a8f1803e8145713235f4ba69671c16a9938dcc + sha256sums = 97f2e4673a518dc138585cfaf6ca636e15f2ce1e1a1af0e7bcc039a066d67f6b + sha256sums = f911152ed8104d96973e6ffab9973578bc06ab4e2b8fd5618dd729953d609790 + sha256sums = 8ea4eb16d72c746b552a7610962644f806efe958357c44a842cf8d84d965f94c + sha256sums = 9a2f35987cae17cf767e7aa8188b32df8f97c43aec769d5c1645a6ea42995fd2 + +pkgname = vmware-tools + 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" +} diff --git a/config-vmware-tools b/config-vmware-tools new file mode 100644 index 000000000000..c34f5968a34e --- /dev/null +++ b/config-vmware-tools @@ -0,0 +1 @@ +libdir = "/usr/lib/vmware-tools" diff --git a/locations b/locations new file mode 100644 index 000000000000..e7b624af7d15 --- /dev/null +++ b/locations @@ -0,0 +1,3 @@ +answer BINDIR /usr/bin +answer SBINDIR /usr/sbin +answer LIBDIR /usr/lib/vmware-tools
\ No newline at end of file diff --git a/vgauth.service b/vgauth.service new file mode 100644 index 000000000000..6b2225e85187 --- /dev/null +++ b/vgauth.service @@ -0,0 +1,11 @@ +[Unit] +Description=Guest Authentication service +ConditionVirtualization=vmware + +[Service] +Type=simple +ExecStart=/usr/lib/vmware-vgauth/VGAuthService +TimeoutStopSec=5 + +[Install] +WantedBy=multi-user.target diff --git a/vmtoolsd.service b/vmtoolsd.service new file mode 100644 index 000000000000..2adbd51a50fc --- /dev/null +++ b/vmtoolsd.service @@ -0,0 +1,11 @@ +[Unit] +Description=VMware Tools +ConditionVirtualization=vmware + +[Service] +Type=simple +ExecStart=/usr/bin/vmtoolsd +TimeoutStopSec=5 + +[Install] +WantedBy=multi-user.target diff --git a/vmware-caf.service b/vmware-caf.service new file mode 100644 index 000000000000..2cc024a0e1a9 --- /dev/null +++ b/vmware-caf.service @@ -0,0 +1,11 @@ +[Unit] +Description=Common Agent Framework service +ConditionVirtualization=vmware + +[Service] +Type=simple +ExecStart=/etc/vmware-caf/pme/scripts/start-ma foreground +TimeoutStopSec=5 + +[Install] +WantedBy=multi-user.target diff --git a/vmware-thinprint.service b/vmware-thinprint.service new file mode 100644 index 000000000000..f70bb4200783 --- /dev/null +++ b/vmware-thinprint.service @@ -0,0 +1,14 @@ +[Unit] +Description=ThinPrint service to access to host printers +ConditionVirtualization=vmware +Requires=org.cups.cupsd.service +After=org.cups.cupsd.service + +[Service] +Type=simple +Environment=TPVMLP_SVC=global +ExecStart=/usr/bin/tpvmlp +TimeoutStopSec=5 + +[Install] +WantedBy=multi-user.target diff --git a/vmware-tools.install b/vmware-tools.install new file mode 100644 index 000000000000..8761dc837af8 --- /dev/null +++ b/vmware-tools.install @@ -0,0 +1,13 @@ +post_install() { + /etc/vmware-caf/pme/install/install.sh + + cat << EOF + +==> You should enable some of these services: +- vmtoolsd.service: most of the guest tools +- vmware-thinprint.service: ThinPrint service to access to host printers +- vgauth.service: Guest Authentification service +- vmware-caf.service: Common Agent Framework service + +EOF +} |