From 6439db2b0f503f9ac108f0cc08a0de7a10be2702 Mon Sep 17 00:00:00 2001 From: ArTourter Date: Sun, 24 Apr 2022 01:40:26 +0700 Subject: network/teamviewer: Added (remote control application). Signed-off-by: Willy Sudiarto Raharjo --- network/teamviewer/README | 27 +++++++ network/teamviewer/doinst.sh | 36 +++++++++ network/teamviewer/rc.teamviewerd | 46 +++++++++++ network/teamviewer/slack-desc | 19 +++++ network/teamviewer/teamviewer.SlackBuild | 130 +++++++++++++++++++++++++++++++ network/teamviewer/teamviewer.info | 10 +++ 6 files changed, 268 insertions(+) create mode 100644 network/teamviewer/README create mode 100644 network/teamviewer/doinst.sh create mode 100644 network/teamviewer/rc.teamviewerd create mode 100644 network/teamviewer/slack-desc create mode 100644 network/teamviewer/teamviewer.SlackBuild create mode 100644 network/teamviewer/teamviewer.info (limited to 'network/teamviewer') diff --git a/network/teamviewer/README b/network/teamviewer/README new file mode 100644 index 0000000000000..679b349dd75f1 --- /dev/null +++ b/network/teamviewer/README @@ -0,0 +1,27 @@ +TeamViewer is a remote control application. TeamViewer provides easy, +fast and secure remote access to Linux, Windows PCs, and Macs. + +You must give execute permission on /etc/rc.d/rc.teamviewerd and run +/etc/rc.d/rc.teamviewerd start prior launching TeamViewer application + +To make this process repeated on every boot sequence, add this line in +your /etc/rc.d/rc.local: + +if [ -x /etc/rc.d/rc.teamviewerd ]; then + /etc/rc.d/rc.teamviewerd start +fi + +NOTE: +1. Newer version of Teamviewer can establish remote control connections +to older version (version 3 and above), but not in the opposite +direction. The same things goes to meetings (version 7 and above). + +2. Always stop teamviewerd service and remove the old version before +attempting to upgrade as the path and configs may change on each major +release. + +3. Starting from Teamviewer 13, it has come up with native 64 client +package, so no multilib is required to use. It uses Qt as a foundation. + +4. The GUI client only seems to work in runlevel 4. Using runlevel 3 + +startx/startwayland doesn't work. diff --git a/network/teamviewer/doinst.sh b/network/teamviewer/doinst.sh new file mode 100644 index 0000000000000..2ac42c06acf56 --- /dev/null +++ b/network/teamviewer/doinst.sh @@ -0,0 +1,36 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +preserve_perms() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + if [ -e $OLD ]; then + cp -a $OLD ${NEW}.incoming + cat $NEW > ${NEW}.incoming + mv ${NEW}.incoming $NEW + fi + config $NEW +} + +preserve_perms etc/rc.d/rc.teamviewerd.new + +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +# If other icon themes are installed, then add to/modify this as needed +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi diff --git a/network/teamviewer/rc.teamviewerd b/network/teamviewer/rc.teamviewerd new file mode 100644 index 0000000000000..f5812f39451d1 --- /dev/null +++ b/network/teamviewer/rc.teamviewerd @@ -0,0 +1,46 @@ +#!/bin/bash +# +# /etc/rc.d/rc.teamviewerd +# +# Start/stop/restart the TeamViewer Daemon +# +# To make TeamViewer Daemon start automatically at boot, make this +# file executable: chmod 755 /etc/rc.d/rc.teamviewerd +# Also, add this line in your /etc/rc.d/rc.local: +# +# if [ -x /etc/rc.d/rc.teamviewerd ]; then +# /etc/rc.d/rc.teamviewerd start +# fi +# + +teamviewerd_start() { + if [ -x /opt/teamviewer/tv_bin/teamviewerd ]; then + echo "Starting TeamViewer Daemon" + /opt/teamviewer/tv_bin/teamviewerd --daemon start + fi +} + +teamviewerd_stop() { + echo "Terminating TeamViewer Daemon" + killall teamviewerd +} + +teamviewerd_restart() { + teamviewerd_stop + sleep 2 + teamviewerd_start +} + +case "$1" in +'start') + teamviewerd_start + ;; +'stop') + teamviewerd_stop + ;; +'restart') + teamviewerd_restart + ;; +*) + echo "usage $0 start|stop|restart" +esac diff --git a/network/teamviewer/slack-desc b/network/teamviewer/slack-desc new file mode 100644 index 0000000000000..e7a108a46b786 --- /dev/null +++ b/network/teamviewer/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +teamviewer: teamviewer (remote control application) +teamviewer: +teamviewer: TeamViewer is a remote control application. TeamViewer provides easy, +teamviewer: fast, and secure remote access to Linux, Windows PCs, and Macs. +teamviewer: +teamviewer: TeamViewer is free for personal use. You can use TeamViewer completely +teamviewer: free of charge to access your private computers or to help your +teamviewer: friends with their computer problems. +teamviewer: +teamviewer: Homepage: https://www.teamviewer.com/ +teamviewer: diff --git a/network/teamviewer/teamviewer.SlackBuild b/network/teamviewer/teamviewer.SlackBuild new file mode 100644 index 0000000000000..5271fde6ec0f1 --- /dev/null +++ b/network/teamviewer/teamviewer.SlackBuild @@ -0,0 +1,130 @@ +#!/bin/bash + +# Slackware build script for teamviewer + +# Copyright 2010-2012 Binh Nguyen +# Copyright 2013-2018 Willy Sudiarto Raharjo +# Copyright 2022 Gregory J. L. Tourte +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Modified by Mario Preksavec + +PRGNAM=teamviewer +VERSION=${VERSION:-15.28.8} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +# 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 + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +# Sanity check, we make sure resulting package will work on users system. +case "$ARCH" in + i?86) + DEBARCH=i386 + ;; + x86_64) + DEBARCH=amd64 + ;; + *) + echo "$ARCH is not supported." + exit 1 + ;; +esac + +set -eu + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $PKG + +if [ -f $CWD/teamviewer_${DEBARCH}.deb ]; then + # Get the real version + REAL_VER=$(ar p $CWD/teamviewer_${DEBARCH}.deb control.tar.gz | tar xzO ./control | grep Version | cut -d\ -f2 | cut -d- -f1) + if [ "$VERSION" != "$REAL_VER" ]; then + echo "Version of downloaded source [$REAL_VER] does not match version of SlackBuild [$VERSION]" + exit 1 + fi + ar p $CWD/teamviewer_${DEBARCH}.deb data.tar.xz | tar xJv +else + ar p $CWD/teamviewer_${VERSION}_${DEBARCH}.deb data.tar.xz | tar xJv +fi + +# make all symbolic links relative +# (code from https://unix.stackexchange.com/a/100955/16829) +( cd $PKG +for link in $(find . -lname '/*'); do + target=$(readlink "$link") + link=${link#./} + root=$(echo $link | sed -E 's|[^/](.[^/]*)|..|g'); root=${root#/}; root=${root%..} + rm "$link" + ln -s "$root${target#/}" "$link" +done +) + +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +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 + +# Link icon to /usr/share/pixmaps +mkdir -p $PKG/usr/share/pixmaps +ln -s ../../../opt/teamviewer/tv_bin/desktop/teamviewer_256.png $PKG/usr/share/pixmaps/TeamViewer.png + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mv $PKG/usr/share/applications/com.teamviewer.TeamViewer.desktop $PKG/usr/share/applications/TeamViewer.desktop + +# We don't need apt +rm -rf $PKG/etc/apt/ + +mkdir -p $PKG/etc/rc.d/ +install -m 0644 $CWD/rc.teamviewerd $PKG/etc/rc.d/rc.teamviewerd.new + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/network/teamviewer/teamviewer.info b/network/teamviewer/teamviewer.info new file mode 100644 index 0000000000000..8a35b70649210 --- /dev/null +++ b/network/teamviewer/teamviewer.info @@ -0,0 +1,10 @@ +PRGNAM="teamviewer" +VERSION="15.28.8" +HOMEPAGE="https://www.teamviewer.com/" +DOWNLOAD="https://dl.teamviewer.com/download/linux/version_15x/teamviewer_15.28.8_i386.deb" +MD5SUM="0326a587c1c6b61983bb6675d7357d0a" +DOWNLOAD_x86_64="https://dl.teamviewer.com/download/linux/version_15x/teamviewer_15.28.8_amd64.deb" +MD5SUM_x86_64="ca79d5d0d2c0a93d133eeb071e0b9cdf" +REQUIRES="libminizip" +MAINTAINER="ArTourter" +EMAIL="artourter@gmail.com" -- cgit v1.2.3