summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO37
-rw-r--r--PKGBUILD224
-rw-r--r--config-vmware-tools1
-rw-r--r--locations3
-rw-r--r--vgauth.service11
-rw-r--r--vmtoolsd.service11
-rw-r--r--vmware-caf.service11
-rw-r--r--vmware-thinprint.service14
-rw-r--r--vmware-tools.install13
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
+}