diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2017-12-19 22:33:26 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2017-12-19 22:35:54 +0100 |
commit | e08571454e0e6d885fd76325b91cffe55eb7e5f8 (patch) | |
tree | a7c2530a1e5adc99d03e19629460155d848349b1 /net-misc | |
parent | dev-php/PHPMailer: new version 5.2.26. (diff) | |
download | gentoo-e08571454e0e6d885fd76325b91cffe55eb7e5f8.tar.gz gentoo-e08571454e0e6d885fd76325b91cffe55eb7e5f8.tar.bz2 gentoo-e08571454e0e6d885fd76325b91cffe55eb7e5f8.zip |
net-misc/teamviewer: Disable slotting of service file and binaries
Renaming breaks assumptions of the teamviewer{,d} binary. At this point,
the slotting is near meaningless and should probably be ditched. No file
collision with teamviewer:9 at least.
Thanks-to: Maxxim <fonic.maxxim@live.com>
Bug: https://bugs.gentoo.org/621818
Package-Manager: Portage-2.3.19, Repoman-2.3.6
Diffstat (limited to 'net-misc')
-rw-r--r-- | net-misc/teamviewer/teamviewer-13.0.5693-r2.ebuild | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/net-misc/teamviewer/teamviewer-13.0.5693-r2.ebuild b/net-misc/teamviewer/teamviewer-13.0.5693-r2.ebuild new file mode 100644 index 000000000000..c8eeedebcf6a --- /dev/null +++ b/net-misc/teamviewer/teamviewer-13.0.5693-r2.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +MY_PN=${PN}${PV/\.*} +inherit eutils gnome2-utils systemd + +DESCRIPTION="All-In-One Solution for Remote Access and Support over the Internet" +HOMEPAGE="https://www.teamviewer.com" +SRC_URI="amd64? ( https://dl.tvcdn.de/download/linux/version_${PV/\.*}x/${PN}_${PV}_amd64.tar.xz ) + x86? ( https://dl.tvcdn.de/download/linux/version_${PV/\.*}x/${PN}_${PV}_i386.tar.xz )" + +LICENSE="TeamViewer MIT" +SLOT="${PV/\.*}" +KEYWORDS="-* ~amd64 ~x86" +IUSE="" + +DEPEND="sys-apps/sed" +RDEPEND=" + dev-qt/qtcore:5 + dev-qt/qtdbus:5 + dev-qt/qtdeclarative:5 + dev-qt/qtgui:5 + dev-qt/qtnetwork:5 + dev-qt/qtquickcontrols:5 + dev-qt/qtwebkit:5 + dev-qt/qtwidgets:5 + dev-qt/qtx11extras:5 + sys-apps/dbus +" + +RESTRICT="bindist mirror" + +# Silence QA messages +QA_PREBUILT="opt/${MY_PN}/*" + +S="${WORKDIR}"/teamviewer + +src_prepare() { + default + + # Switch operation mode from 'portable' to 'installed' + sed -e "s/TAR_NI/TAR_IN/g" -i tv_bin/script/tvw_config || die + + sed -e "/^ExecStart/s/${PN}/${MY_PN}/" \ + -i tv_bin/script/teamviewerd.service || die +} + +src_install() { + local dst="/opt/${MY_PN}" # install destination + + # Quirk: + # Remove Intel 80386 32-bit ELF binary 'libdepend' present in all + # archives. It will trip the 'emerge @preserved-libs' logic on amd64 + # when changing the ABI of one of its dependencies. According to the + # TeamViewer devs, this binary is an unused remnant of previous Wine- + # based builds and will be removed in future releases anyway + rm tv_bin/script/libdepend + + insinto ${dst} + doins -r tv_bin + + # Set permissions for executables and libraries + for exe in $(find tv_bin -type f -executable -or -name '*.so'); do + fperms 755 ${dst}/${exe} + done + + # No slotting here, binary expects this service path + newinitd "${FILESDIR}"/teamviewerd13.init teamviewerd + systemd_dounit tv_bin/script/teamviewerd.service + + insinto /usr/share/dbus-1/services + doins tv_bin/script/com.teamviewer.TeamViewer.service + doins tv_bin/script/com.teamviewer.TeamViewer.Desktop.service + + insinto /usr/share/polkit-1/actions + doins tv_bin/script/com.teamviewer.TeamViewer.policy + + for size in 16 24 32 48 256; do + newicon -s ${size} tv_bin/desktop/teamviewer_${size}.png TeamViewer.png + done + + # Install documents (NOTE: using 'dodoc -r doc' instead of loop will + # have the undesired result of installing subdirectory 'doc' in /usr/ + # share/doc/teamviewer-<version>) + for doc in $(find doc -type f); do + dodoc ${doc} + done + + keepdir /etc/${MY_PN} + dosym ../../etc/${MY_PN} ${dst}/config + + # Create directory and symlink for log files (NOTE: according to Team- + # Viewer devs, all paths are hard-coded in the binaries; therefore + # using the same path as the DEB/RPM archives, i.e. '/var/log/teamviewer + # <major-version>') + keepdir /var/log/${MY_PN} + dosym ../../var/log/${MY_PN} ${dst}/logfiles + + dodir /opt/bin + dosym ${dst}/tv_bin/teamviewerd /opt/bin/teamviewerd + dosym ${dst}/tv_bin/script/teamviewer /opt/bin/teamviewer + + make_desktop_entry teamviewer "TeamViewer ${SLOT}" TeamViewer +} + +pkg_postinst() { + gnome2_icon_cache_update + + elog "Please note that parallel installation of multiple versions of" + elog "TeamViewer is currently not supported at runtime. Bug #621818" + elog "" + elog "Before using TeamViewer, you need to start its daemon:" + elog "OpenRC:" + elog "# /etc/init.d/teamviewerd start" + elog "# rc-update add teamviewerd default" + elog + elog "Systemd:" + elog "# systemctl start teamviewerd.service" + elog "# systemctl enable teamviewerd.service" + elog + elog "To display additional command line options simply run:" + elog "$ teamviewer help" +} + +pkg_postrm() { + gnome2_icon_cache_update +} |