diff options
author | Erich Ritz <erich.public@protonmail.com> | 2024-04-25 18:48:16 +0900 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2024-04-25 22:19:07 +0700 |
commit | d1e0a8bdcaac3839648be70e1cc9eba954538429 (patch) | |
tree | 03dd8a699e57fb1d81de6913d40ce2fb6afccbd7 /network | |
parent | 4027579d602312017971a8393afac07578ea03ee (diff) |
network/vmware-horizon-client: Updated for version 2312.1_8.12.1_23543969.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'network')
-rw-r--r-- | network/vmware-horizon-client/README | 33 | ||||
-rw-r--r-- | network/vmware-horizon-client/doinst.sh | 26 | ||||
-rw-r--r-- | network/vmware-horizon-client/douninst.sh | 3 | ||||
-rw-r--r-- | network/vmware-horizon-client/slack-desc | 12 | ||||
-rw-r--r-- | network/vmware-horizon-client/vmware-bundle.eclass | 84 | ||||
-rw-r--r-- | network/vmware-horizon-client/vmware-horizon-client.SlackBuild | 186 | ||||
-rw-r--r-- | network/vmware-horizon-client/vmware-horizon-client.info | 16 |
7 files changed, 116 insertions, 244 deletions
diff --git a/network/vmware-horizon-client/README b/network/vmware-horizon-client/README index 5548d422ea5d1..abbfbef819f8f 100644 --- a/network/vmware-horizon-client/README +++ b/network/vmware-horizon-client/README @@ -1,31 +1,6 @@ -The VMware Horizon Client for Linux, allowing you to use your +The VMware Horizon Client for Linux allows you to use your Slackware box as a thin client and lets you connect to your company's -Virtual Desktop Infrastructure using the proprietary VMware View 6 -PCoIP protocol. +Virtual Desktop Infrastructure using the proprietary VMware View +protocol. -*ATTENTION*: This build script installs binary, proprietary -software. Only use it if you need the proprietary parts and you are -OK with installing and using proprietary software. By installing -this SlackBuild you agree to the EULA you'll find installed in -/usr/doc/vmware-horizon-client-4.3.0/. If you do not agree, uninstall -the package. - -This SlackBuild installs multiple components. At the moment only the -PCoIP and the Smart Card component seem to work. USB redirection and -Virtual Printing won't work. - -To deactivate one of the working components, use the installation -options - -PCOIP="NO" - -and - -SMARTCRD="NO" - -You could try to activate USB support by setting USB="YES". But there -will be a problem with libcrypto. If you find a fix, please email me. - -This application is a 32bit application. It won't work on a -Slackware64 system without multilib capability. But it has been tested -and works with a multilib setup. +This build script installs the Debian binary package. diff --git a/network/vmware-horizon-client/doinst.sh b/network/vmware-horizon-client/doinst.sh new file mode 100644 index 0000000000000..4e7bf288e1229 --- /dev/null +++ b/network/vmware-horizon-client/doinst.sh @@ -0,0 +1,26 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if ! /etc/init.d/ftscanhv start > /dev/null 2>&1; then + echo "Warning: The daemon for Scanner redirection fails to start!" +fi +if ! /etc/init.d/ftsprhv start > /dev/null 2>&1; then + echo "Warning: The daemon for SerialPort redirection fails to start!" +fi + +if [ -x /usr/lib64/vmware/view/integratedPrinting/integrated-printing-setup.sh ]; then + /usr/lib64/vmware/view/integratedPrinting/integrated-printing-setup.sh -i || true +fi + +if ! /etc/init.d/vmware-USBArbitrator start; then + echo "Warning: The daemon for USB redirection fails to start!" +fi + +python3 /usr/lib64/vmware/view/urlRedirection/install-url-redirection.py -i || true + +sed -i '1i127.0.0.1 view-localhost' /etc/hosts + +if ! udevadm control --reload-rules || ! udevadm trigger; then + echo "Warning: Error reloading udev HID rules, failed to configure HID devices!" +fi diff --git a/network/vmware-horizon-client/douninst.sh b/network/vmware-horizon-client/douninst.sh new file mode 100644 index 0000000000000..fea504ccb8cb4 --- /dev/null +++ b/network/vmware-horizon-client/douninst.sh @@ -0,0 +1,3 @@ +rm /usr/bin/prlinuxcupsppd +rm /usr/lib64/cupsPPD/prlinuxcupsppd +rmdir --ignore-fail-on-non-empty /usr/lib64/cupsPPD diff --git a/network/vmware-horizon-client/slack-desc b/network/vmware-horizon-client/slack-desc index 9d4818d90974a..e663a105f64fb 100644 --- a/network/vmware-horizon-client/slack-desc +++ b/network/vmware-horizon-client/slack-desc @@ -6,14 +6,14 @@ # customary to leave one space after the ':' except on otherwise blank lines. |-----handy-ruler------------------------------------------------------| -vmware-horizon-client: vmware-horizon-client (VMWare Horizon Client with PCoIP support) +vmware-horizon-client: vmware-horizon-client (VMWare Horizon Client) vmware-horizon-client: -vmware-horizon-client: The VMware Horizon Client for Linux, optimised for VMware horizon 6, -vmware-horizon-client: allowing you to use your Slackware box as a thin client and connects -vmware-horizon-client: you to your company's Virtual Desktop Infrastructure, even if they -vmware-horizon-client: use the proprietary VMware Horizon 6 PCoIP protocol. -vmware-horizon-client: Only use this package if you need the proprietary parts. +vmware-horizon-client: The VMware Horizon Client for Linux allows you to use your Slackware +vmware-horizon-client: box as a thin client and connects you to your company's Virtual +vmware-horizon-client: Desktop Infrastructure, even if they use the proprietary VMware +vmware-horizon-client: Horizon protocol. vmware-horizon-client: +vmware-horizon-client: Homepage: https:/www.vmware.com vmware-horizon-client: vmware-horizon-client: vmware-horizon-client: diff --git a/network/vmware-horizon-client/vmware-bundle.eclass b/network/vmware-horizon-client/vmware-bundle.eclass deleted file mode 100644 index 261b6e1caeaba..0000000000000 --- a/network/vmware-horizon-client/vmware-bundle.eclass +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/vmware-bundle.eclass,v 1.2 2011/08/22 04:46:32 vapier Exp $ - -# @ECLASS: vmware-bundle.eclass -# @MAINTAINER: -# vmware@gentoo.org -# @AUTHOR: -# Matt Whitlock <matt@whitlock.name> -# @BLURB: Provides extract functionality for vmware products bundles - -# This version of the file has been modified to work as part of the vmware SlackBuild. Since the -# modifications are limited to renaming functions, we'll keep the original header - -extract_bundle_component() { - local bundle=${1:?} component=${2:?} dest=${3:-${2}} - cat > "${CWD}"/list-bundle-components.xsl <<-EOF - <?xml version="1.0" encoding="ISO-8859-1"?> - <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> - <xsl:output omit-xml-declaration="yes"/> - <xsl:template match="text()"/> - <xsl:template match="/bundle/components/component"> - <xsl:value-of select="@offset"/> - <xsl:text> </xsl:text> - <xsl:value-of select="@size"/> - <xsl:text> </xsl:text> - <xsl:value-of select="@name"/> - <xsl:text> </xsl:text> - </xsl:template> - </xsl:stylesheet> - EOF - local -i bundle_size=$(stat -L -c'%s' "${bundle}") - local -i bundle_manifestOffset=$(od -An -j$((bundle_size-36)) -N4 -tu4 "${bundle}") - local -i bundle_manifestSize=$(od -An -j$((bundle_size-40)) -N4 -tu4 "${bundle}") - local -i bundle_dataOffset=$(od -An -j$((bundle_size-44)) -N4 -tu4 "${bundle}") - local -i bundle_dataSize=$(od -An -j$((bundle_size-52)) -N8 -tu8 "${bundle}") - tail -c+$((bundle_manifestOffset+1)) "${bundle}" 2> /dev/null | head -c$((bundle_manifestSize)) | - xsltproc "${CWD}"/list-bundle-components.xsl - | - while read -r component_offset component_size component_name ; do - if [[ ${component_name} == ${component} ]] ; then - echo "Extracting '${component_name}' component from '$(basename "${bundle}")'" - extract_component "${bundle}" "${dest}" $((bundle_dataOffset+component_offset)) - echo "Done." - fi - done -} - -extract_component() { - local component=${1:?} dest=${2:-.} - local -i offset=${3} - cat > "${CWD}"/list-component-files.xsl <<-EOF - <?xml version="1.0" encoding="ISO-8859-1"?> - <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> - <xsl:output omit-xml-declaration="yes"/> - <xsl:template match="text()"/> - <xsl:template match="/component/fileset/file"> - <xsl:value-of select="@offset"/> - <xsl:text> </xsl:text> - <xsl:value-of select="@compressedSize"/> - <xsl:text> </xsl:text> - <xsl:value-of select="@uncompressedSize"/> - <xsl:text> </xsl:text> - <xsl:value-of select="@path"/> - <xsl:text> </xsl:text> - </xsl:template> - </xsl:stylesheet> - EOF - local -i component_manifestOffset=$(od -An -j$((offset+9)) -N4 -tu4 "${component}") - local -i component_manifestSize=$(od -An -j$((offset+13)) -N4 -tu4 "${component}") - local -i component_dataOffset=$(od -An -j$((offset+17)) -N4 -tu4 "${component}") - local -i component_dataSize=$(od -An -j$((offset+21)) -N8 -tu8 "${component}") - tail -c+$((offset+component_manifestOffset+1)) "${component}" 2> /dev/null | - head -c$((component_manifestSize)) | xsltproc "${CWD}"/list-component-files.xsl - | - while read -r file_offset file_compressedSize file_uncompressedSize file_path ; do - if [[ ${file_path} ]] ; then - echo -n '.' - file_path="${dest}/${file_path}" - mkdir -p "$(dirname "${file_path}")" || die - tail -c+$((offset+component_dataOffset+file_offset+1)) "${component}" 2> /dev/null | - head -c$((file_compressedSize)) | gzip -cd > "${file_path}" || die - fi - done - echo -} diff --git a/network/vmware-horizon-client/vmware-horizon-client.SlackBuild b/network/vmware-horizon-client/vmware-horizon-client.SlackBuild index d8c70d3605e50..4216cc2f629c0 100644 --- a/network/vmware-horizon-client/vmware-horizon-client.SlackBuild +++ b/network/vmware-horizon-client/vmware-horizon-client.SlackBuild @@ -3,6 +3,7 @@ # Slackware build script for vmware-horizon-client # Copyright 2015 Beni Keller, Schwyz, Switzerland +# Copyright 2024 Erich Ritz, Jenks, Oklahoma, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -25,76 +26,44 @@ cd $(dirname $0) ; CWD=$(pwd) PRGNAM=vmware-horizon-client -VERSION=${VERSION:-3.4.0} +SRCNAM=VMware-Horizon-Client +VERSION=${VERSION:-2312.1_8.12.1_23543969} +DEBVERSION=${VERSION//_/-} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} -ARCH=i586 -_BUILD=2769709 - -# Install PCOIP component -PCOIP=${PCOIP:-YES} -# Install USB-redirection component -# This is deactivated by default because -# It's not working with the current version of libcrypto. -USB=${USB:-NO} -# Install Smartcard component -SMARTCRD=${SMARTCRD:-YES} -# Install Real Time Audio and Video component -RTAV=${RTAV:-YES} - -echo $PCOIP -break - -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" - exit 0 -fi TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -BUNDLE=$CWD/VMware-Horizon-Client-$VERSION-$_BUILD.x86.bundle -# All the components we support with this SlackBuild. The -# 'virtual-printing' support is excluded because I have no -# way to test whether it's working. -COMPONENTS="client pcoip usb smartcard rtav" - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION - -# We use the Gentoo eclass to extract components from the bundle. -# These are the settings needed for these functions. - - - - -export T="$CWD" - -ebegin() { - echo -n "Begin ${1}: " -} -eend() { - echo 'done' -} +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi -source "$CWD/vmware-bundle.eclass" +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi -# Extracting the components from the bundle -for COMPONENT in $COMPONENTS; do - extract_bundle_component $BUNDLE "vmware-horizon-$COMPONENT" "$CWD/extract/vmware-horizon-$COMPONENT" -done +# Upstream only has binary support for x86_64 at present. +if [ "$ARCH" = "x86_64" ]; then + DEBARCH="x64" +else + echo "Sorry, the VMware Horizon Client binary is currently available for x86_64 only." + exit 1 +fi -cd $CWD/extract +set -e +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $PKG +ar p $CWD/${SRCNAM}-${DEBVERSION}.$DEBARCH.deb data.tar.gz | tar xzv chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ @@ -102,69 +71,52 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -# Dirty hack copied from Arch PKGBUILD -# https://aur.archlinux.org/packages/vm/vmware-horizon-client -# Helps linking to the correct version of the OpenSSL libs -for FILE in $(find "$CWD/extract/" -type f); do - # executables and libraries only - file --mime "${FILE}" | egrep -q "(application/x-(executable|sharedlib)|text/x-shellscript)" || continue - - # make executable - chmod +x "${FILE}" - - # link against libudev.so.1 - #sed -i -e 's/libudev.so.0/libudev.so.1/' "${FILE}" - - # even openssl 1.0.1.x has library file names ending in .so.1.0.0 - sed -i -e 's/libssl.so.1.0.1/libssl.so.1.0.0/' \ - -e 's/libcrypto.so.1.0.1/libcrypto.so.1.0.0/' \ - "${FILE}" -done -# Delete these libraries. We'll recreate these files later as links -rm "$CWD"/extract/vmware-horizon-pcoip/pcoip/lib/vmware/lib{crypto,ssl}.so.1.0.1 - -# We install the client without the other components -# Since it's a binary distribution we just copy the files -cd $CWD/extract/vmware-horizon-client - -mkdir -p "$PKG/usr/" -mkdir -p "$PKG/usr/doc/" - -cp -a bin/ "$PKG/usr/" -cp -a lib/ "$PKG/usr/" -cp -a share/ "$PKG/usr/" -cp -a doc/ "$PKG/usr/doc/$PRGNAM-$VERSION/" -cp -a debug/ "$PKG/usr/doc/$PRGNAM-$VERSION/" +# Move lib to lib64 +mv $PKG/usr/lib $PKG/usr/lib64 +sed -i 's-/usr/lib-/usr/lib64-g' $PKG/usr/bin/vmware-appstub +sed -i 's-/usr/lib-/usr/lib64-g' $PKG/usr/bin/vmware-url-filter +sed -i 's-/usr/lib-/usr/lib64-g' $PKG/usr/bin/vmware-view +sed -i 's-/usr/lib-/usr/lib64-g' $PKG/usr/bin/vmware-view-lib-scan +sed -i 's-/usr/lib-/usr/lib64-g' $PKG/usr/bin/vmware-view-log-collector +sed -i 's-/usr/lib-/usr/lib64-g' $PKG/usr/lib64/vmware/view/integratedPrinting/integrated-printing-setup.sh + +#find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ +# | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true +#find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ +# | cut -f 1 -d : | xargs chmod 755 2> /dev/null || true + +# Handle Debian's postinst: +ln -s /lib64/libudev.so.1 $PKG/usr/lib64/vmware/libudev.so.0 +ln -s /usr/lib64/libsecret-1.so $PKG/usr/lib64/vmware/libsecret.so +mkdir -p $PKG/etc/rc0.d +mkdir -p $PKG/etc/rc3.d +mkdir -p $PKG/etc/rc4.d +mkdir -p $PKG/etc/rc6.d +ln -s /etc/init.d/ftsprhv $PKG/etc/rc0.d/K08ftsprhv +ln -s /etc/init.d/ftsprhv $PKG/etc/rc6.d/K08ftsprhv +ln -s /etc/init.d/ftsprhv $PKG/etc/rc3.d/S50ftsprhv +ln -s /etc/init.d/ftsprhv $PKG/etc/rc4.d/S50ftsprhv +ln -s /etc/init.d/ftscanhv $PKG/etc/rc0.d/K08ftscanhv +ln -s /etc/init.d/ftscanhv $PKG/etc/rc6.d/K08ftscanhv +ln -s /etc/init.d/ftscanhv $PKG/etc/rc3.d/S50ftscanhv +ln -s /etc/init.d/ftscanhv $PKG/etc/rc4.d/S50ftscanhv +ln -s /etc/init.d/vmware-USBArbitrator $PKG/etc/rc0.d/K01vmware-USBArbitrator +ln -s /etc/init.d/vmware-USBArbitrator $PKG/etc/rc6.d/K01vmware-USBArbitrator +ln -s /etc/init.d/vmware-USBArbitrator $PKG/etc/rc3.d/S01vmware-USBArbitrator +ln -s /etc/init.d/vmware-USBArbitrator $PKG/etc/rc4.d/S01vmware-USBArbitrator +ln -sf /usr/lib64/vmware/view/usb/vmware-usbarbitrator $PKG/usr/bin/vmware-usbarbitrator +chmod +755 $PKG/usr/lib64/vmware/view/html5mmr/*.so* +chmod +755 $PKG/usr/lib64/vmware/view/vdpService/webrtcRedir/libwebrtc_sharedlib.so + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +mv $PKG/usr/share/doc/vmware-horizon-client/* $PKG/usr/doc/$PRGNAM-$VERSION/ +rm -rf $PKG/usr/share/doc cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild -# We install the components -if [ "$PCOIP" == "YES" ]; then - cd ../vmware-horizon-pcoip - cp -a pcoip/lib/* "$PKG/usr/lib/" - cp -a pcoip/bin/* "$PKG/usr/bin/" - # We create the symbolic links for the libraries - ln -sf ../../lib/libcrypto.so.1.0.0 "$PKG/usr/lib/vmware/libcrypto.so.1.0.0" - ln -sf ../../lib/libssl.so.1.0.0 "$PKG/usr/lib/vmware/libssl.so.1.0.0" -fi - -if [ "$USB" == "YES" ]; then - cd ../vmware-horizon-usb - cp -a bin/* "$PKG/usr/bin/" -fi - -if [ "$SMARTCRD" == "YES" ]; then - cd ../vmware-horizon-smartcard - cp -a lib/* "$PKG/usr/lib/" -fi - -if [ "$RTAV" == "YES" ]; then - cd ../vmware-horizon-rtav - cp -a lib/* "$PKG/usr/lib/" -fi - mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh +cat $CWD/douninst.sh > $PKG/install/douninst.sh cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/network/vmware-horizon-client/vmware-horizon-client.info b/network/vmware-horizon-client/vmware-horizon-client.info index f5b507edfe299..a8583ee4f65f7 100644 --- a/network/vmware-horizon-client/vmware-horizon-client.info +++ b/network/vmware-horizon-client/vmware-horizon-client.info @@ -1,10 +1,10 @@ PRGNAM="vmware-horizon-client" -VERSION="3.4.0" -HOMEPAGE="https://my.vmware.com/web/vmware/info/slug/desktop_end_user_computing/vmware_horizon_clients/3_0" -DOWNLOAD="https://download3.vmware.com/software/view/viewclients/CART15Q1/VMware-Horizon-Client-3.4.0-2769709.x86.bundle" -MD5SUM="8f963a6b4eea7b2625e1e9aecd130234" -DOWNLOAD_x86_64="UNTESTED" -MD5SUM_x86_64="" +VERSION="2312.1_8.12.1_23543969" +HOMEPAGE="https://customerconnect.vmware.com/downloads/info/slug/desktop_end_user_computing/vmware_horizon_clients/horizon_8" +DOWNLOAD="UNSUPPORTED" +MD5SUM="" +DOWNLOAD_x86_64="https://download3.vmware.com/software/CART25FQ1_LIN64_DebPkg_2312.1/VMware-Horizon-Client-2312.1-8.12.1-23543969.x64.deb" +MD5SUM_x86_64="25cf7acbe05f250297f3697f4b21a636" REQUIRES="" -MAINTAINER="Navigium" -EMAIL="beni.nospam@sdf.org" +MAINTAINER="Erich Ritz" +EMAIL="erich.public@protonmail.com" |