Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 621818 - net-misc/teamviewer-13 version bump (was: pkgmove -> net-misc/teamviewer-bin?)
Summary: net-misc/teamviewer-13 version bump (was: pkgmove -> net-misc/teamviewer-bin?)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Maxim Koltsov (RETIRED)
URL:
Whiteboard:
Keywords:
: 640088 (view as bug list)
Depends on:
Blocks: 620736
  Show dependency tree
 
Reported: 2017-06-15 08:07 UTC by Maxxim
Modified: 2019-12-15 09:42 UTC (History)
16 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Ebuild for latest version of branch 12 (teamviewer-bin-12.0.76279.ebuild,3.09 KB, text/plain)
2017-06-15 08:09 UTC, Maxxim
Details
File 'teamviewerd.init' required by ebuild (teamviewerd.init,268 bytes, text/plain)
2017-06-15 08:10 UTC, Maxxim
Details
Preliminary ebuild for current Linux beta 13.0.5494 amd64 (teamviewer-bin-13.0.5494.ebuild,4.17 KB, text/plain)
2017-12-06 10:51 UTC, Maxxim
Details
Preliminary ebuild for current Linux preview 13.0.5494 (amd64) (teamviewer-bin-13.0.5494.ebuild,5.15 KB, text/plain)
2017-12-06 14:09 UTC, Maxxim
Details
Preliminary ebuild for current Linux preview 13.0.5494 (amd64) (teamviewer-bin-13.0.5494.ebuild,5.51 KB, text/plain)
2017-12-07 07:39 UTC, Maxxim
Details
Preliminary ebuild for current Linux preview 13.0.5693 (amd64, x86) (teamviewer-bin-13.0.5693.ebuild,4.01 KB, text/plain)
2017-12-08 08:19 UTC, Maxxim
Details
File 'teamviewerd.init' required by ebuild (teamviewerd.init,283 bytes, text/plain)
2017-12-08 08:20 UTC, Maxxim
Details
Shell script to determine/refine package dependencies (generate_deps_from_binary.sh,2.41 KB, application/x-shellscript)
2017-12-08 08:27 UTC, Maxxim
Details
Teamviwer log (TeamViewer13_Logfile.log,15.98 KB, text/x-log)
2017-12-08 11:07 UTC, Cănărău Constantin
Details
Preliminary ebuild for current Linux preview 13.0.5693 (amd64, x86) (teamviewer-bin-13.0.5693.ebuild,4.22 KB, text/plain)
2017-12-08 12:43 UTC, Maxxim
Details
Preliminary ebuild for current Linux preview 13.0.5693 (amd64, x86) (teamviewer-bin-13.0.5693.ebuild,4.52 KB, text/plain)
2017-12-08 13:28 UTC, Maxxim
Details
Preliminary ebuild for current Linux preview 13.0.5693 (amd64, x86) (teamviewer-bin-13.0.5693.ebuild,4.92 KB, text/plain)
2017-12-09 07:36 UTC, Maxxim
Details
Preliminary ebuild for current Linux preview 13.0.5693 (amd64, x86) (teamviewer-bin-13.0.5693.ebuild,4.14 KB, text/plain)
2017-12-13 17:34 UTC, Maxxim
Details
Ebuild for current preview version 13.0.5693 (amd64, x86) (teamviewer-13.0.5693.ebuild,4.46 KB, text/plain)
2017-12-14 10:46 UTC, Maxxim
Details
Ebuild for merge (teamviewer-13.0.5693.ebuild,3.32 KB, text/plain)
2017-12-18 07:57 UTC, Maxxim
Details
Ebuilld for version 13.0.6634 (amd64, x86) (teamviewer-13.0.6634.ebuild,3.26 KB, text/plain)
2017-12-20 09:00 UTC, Maxxim
Details
Init script for version 13.0.6634 (teamviewerd-13.0.6634.init,283 bytes, text/plain)
2017-12-20 09:01 UTC, Maxxim
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Maxxim 2017-06-15 08:07:37 UTC
I created a new ebuild for TeamViewer. In comparison to the already existing 'net-misc/teamviewer' ebuilds, the changes are as follows:

1. Changed name to 'teamviewer-bin'
Make more sense since it install pre-compiled binaries, like virtualbox-bin, firefox-bin etc.

2. Uses official .tar.gz archive for installation instead of .deb package
IMO this is a much cleaner approach, as the .tar.gz archive is not distribution-specific 

3. Applies only minimal modifications
Only 2 lines are changed using sed. Apart from that, the package is installed the way the TeamViewer authors intended it to. This should reduce future maintenance.

4. Ebuild is less complex
Again, this should reduce future maintenance.


There's one drawback of my approach:
Parallel/slotted installation of multiple TeamViewer versions is not supported. Sadly, the authors hard-coded lots of paths, e.g. the daemon always uses '/var/run/teamviewerd.pid'. Even the already existing 'net-misc/teamviewer' ebuilds do not allow for a fully parallel installation, e.g. the issue with the daemon also exists.

If parallel/slotted installation is really desired, IMO the best approach would be to open a dialog with the authors to change all hard-coded paths to 'teamviewer<major-version>' in future releases, which would greatly simplify parallel installation.
Comment 1 Maxxim 2017-06-15 08:09:48 UTC
Created attachment 476520 [details]
Ebuild for latest version of branch 12
Comment 2 Maxxim 2017-06-15 08:10:37 UTC
Created attachment 476522 [details]
File 'teamviewerd.init' required by ebuild
Comment 3 Jonas Stein gentoo-dev 2017-06-15 12:11:06 UTC
Thank you.
Comment 4 lupus 2017-10-17 20:33:05 UTC
Please implement these changes.
His ebuild works perfectly and uses QtWebkit:5, not QtWebkit:4 which is masked now for security reasons.
Comment 5 Mikael Grahn 2017-11-14 06:54:03 UTC
I second that. With the current net-misc/teamviewer build not OK, this should be used in the repository instead.
Comment 6 Adam Feldman gentoo-dev 2017-11-14 07:06:23 UTC
As this uses Qt 4/wine, I'd rather wait for any ebuild changes until TV 13 which is only Qt5, should have no wine.   I'd say if you can do all the packaging for 13, I'll look at merging it.
Comment 7 andreas 2017-11-29 08:38:42 UTC
ain't work for me :(
Comment 8 Andreas Sturmlechner gentoo-dev 2017-11-30 03:10:01 UTC
I'm confused, if version 12 definitely uses Qt4, what is the purpose of the attached ebuild here?
Comment 9 Maxxim 2017-12-06 10:51:12 UTC
Created attachment 508454 [details]
Preliminary ebuild for current Linux beta 13.0.5494 amd64

This is a preliminary ebuild for the current Linux beta 13.0.5494. AMD64 only for now.

Still needs some work, especially dependency versions and download URI.

It would be great if other could test and report issues.
Comment 10 Maxxim 2017-12-06 10:58:27 UTC
(In reply to Andreas Sturmlechner from comment #8)
> I'm confused, if version 12 definitely uses Qt4, what is the purpose of the
> attached ebuild here?

That actually confuses me - I thought I clearly stated the purpose in my first post. If I failed to do so, please tell me what remains unclear and I'll do my best to clarify.

Everything stated in the original post still applies to the latest ebuild for version 13.x.
Comment 11 Maxxim 2017-12-06 14:09:53 UTC
Created attachment 508474 [details]
Preliminary ebuild for current Linux preview 13.0.5494 (amd64)

Updated version of preliminary ebuild:

- new download URI
- installs dbus services
- installs polkit policies

See TODO section within ebuild for what's still left to be sorted out.
Comment 12 Andreas Sturmlechner gentoo-dev 2017-12-06 17:28:29 UTC
*** Bug 640088 has been marked as a duplicate of this bug. ***
Comment 13 Andreas Sturmlechner gentoo-dev 2017-12-06 17:33:10 UTC
Comment on attachment 476520 [details]
Ebuild for latest version of branch 12

># Copyright 1999-2017 Gentoo Foundation
># Distributed under the terms of the GNU General Public License v2
>
>EAPI=6
>
># Import eutils (required for newicon, make_desktop_entry)
>inherit eutils
>
># Determine major version (required to determine download URL)
>MY_MV=${PV/\.*}
>
># Strip '-bin' from package name
>MY_PN=${PN/-bin/}
>
># Application name (used for menu entry)
>MY_AN="TeamViewer"
>
># Package information
>DESCRIPTION="All-In-One Solution for Remote Access and Support over the Internet"
>HOMEPAGE="https://www.teamviewer.com"
>SRC_URI="https://download.teamviewer.com/download/version_${MY_MV}x/${MY_PN}_${PV}_i386.tar.xz"
>SLOT=0
>KEYWORDS="-* ~amd64 ~x86"
>RESTRICT="bindist mirror"
>
># Licenses (TeamViewer, Wine/QTWebKit, xdg-utils, D-Bus)
>LICENSE="TeamViewer LGPL-2.1 MIT || ( AFL-2.1 GPL-2 )"
>
># Required dependencies (provided by 'tv-setup checklibs')
>RDEPEND="
>	sys-apps/dbus[abi_x86_32(-)]
>	virtual/jpeg:62[abi_x86_32(-)]
>	media-libs/fontconfig[abi_x86_32(-)]
>	media-libs/freetype[abi_x86_32(-)]
>	media-libs/libpng:1.2[abi_x86_32(-)]
>	media-libs/alsa-lib[abi_x86_32(-)]
>	sys-libs/zlib[abi_x86_32(-)]
>	x11-libs/libICE[abi_x86_32(-)]
>	x11-libs/libSM[abi_x86_32(-)]
>	x11-libs/libX11[abi_x86_32(-)]
>	x11-libs/libXau[abi_x86_32(-)]
>	x11-libs/libXdamage[abi_x86_32(-)]
>	x11-libs/libXdmcp[abi_x86_32(-)]
>	x11-libs/libXext[abi_x86_32(-)]
>	x11-libs/libXfixes[abi_x86_32(-)]
>	x11-libs/libXrandr[abi_x86_32(-)]
>	x11-libs/libXtst[abi_x86_32(-)]
>"
>
># Silence QA messages
>QA_PREBUILT="opt/${MY_PN}/*"
>
># Set temporary build directory to subdirectory of archive
>S=${WORKDIR}/${MY_PN}
>
>
>src_prepare() {
>	default
>
>	# Switch operation mode from 'portable' to 'installed'
>	sed -i 's/TAR_NI/TAR_IN/g' tv_bin/script/tvw_config || die
>
>	# Change user local share folder name from 'teamviewer12' to 'teamviewer'
>	sed -i 's/teamviewer12/teamviewer/g' tv_bin/script/tvw_config || die
>}
>
>
>src_install() {
>
>	# Define install destination
>	local dst="/opt/${MY_PN}"
>
>	# Install main application
>	insinto ${dst}
>	doins -r tv_bin
>
>	# Restore permissions for executables
>	for exe in $(find tv_bin -type f -executable); do
>		fperms 755 ${dst}/${exe}
>	done
>
>	# Install daemon init script and config
>	newinitd ${FILESDIR}/${MY_PN}d.init ${MY_PN}d
>	#newconfd ${FILESDIR}/${MY_PN}d.conf ${MY_PN}d
>
>	# Install documents
>	for doc in $(find doc -type f); do
>		dodoc $doc
>	done
>
>	# Create directory and symlink for global config
>	keepdir /etc/${MY_PN}
>	dosym /etc/${MY_PN} ${dst}/config
>
>	# Create directory and symlink for log files
>	keepdir /var/log/${MY_PN}
>	dosym /var/log/${MY_PN} ${dst}/logfiles
>
>	# Install symlink to executable
>	dodir /opt/bin
>	dosym ${dst}/tv_bin/script/${MY_PN} /opt/bin/${MY_PN}
>
>	# Install application icon and menu entry
>	newicon -s 48 tv_bin/desktop/${MY_PN}.png ${MY_PN}.png
>	make_desktop_entry ${MY_PN} "${MY_AN}" ${MY_PN}
>
>}
>
>
>pkg_postinst() {
>	elog "Before using TeamViewer, you need to start its daemon:"
>	elog "# /etc/init.d/teamviewerd start"
>	elog ""
>	elog "You might want to add teamviewerd to the default runlevel:"
>	elog "# rc-update add teamviewerd default"
>	elog ""
>	elog "To display additional command line options simply run:"
>	elog "# teamviewer help"
>}
Comment 14 Maxxim 2017-12-07 07:39:36 UTC
Created attachment 508630 [details]
Preliminary ebuild for current Linux preview 13.0.5494 (amd64)

Updated ebuild with only two TODOs remaining:

- if possible add versions to RDEPEND packages
- add support for x86
Comment 15 Maxxim 2017-12-07 07:44:09 UTC
@Andreas Sturmlechner:
You changed the package name in the title of the bug to 'net-misc/teamviewer-13'. Wouldn't 'net-misc/teamviewer-bin' or 'net-misc/teamviewer' be better?
Comment 16 Maxxim 2017-12-08 08:19:44 UTC
Created attachment 508772 [details]
Preliminary ebuild for current Linux preview 13.0.5693 (amd64, x86)

Version bump, cleaned up, added support for x86.

Dependencies still remain to be refined.
Comment 17 Maxxim 2017-12-08 08:20:30 UTC
Created attachment 508774 [details]
File 'teamviewerd.init' required by ebuild

Copyright 2016 -> 2017
Comment 18 Maxxim 2017-12-08 08:27:29 UTC
Created attachment 508776 [details]
Shell script to determine/refine package dependencies

Could someone with an *x86* system please install TeamViewer 13 and provide the output of this script?

This would greatly help finalize the ebuild.

Command line (one line):
# ./generate_deps_from_binary.sh /opt/teamviewer/tv_bin/{TeamViewer,TeamViewer_Desktop,teamviewer-config,teamviewerd}
Comment 19 Cănărău Constantin 2017-12-08 11:07:15 UTC
Created attachment 508784 [details]
Teamviwer log
Comment 20 Cănărău Constantin 2017-12-08 11:15:08 UTC
I installed this ebuild but it is not starting. It remain stalled at Launching TeamViewer GUI ...

Two possible candidates: dev-qt/qtwebkit-5.212.0_alpha2 and qtwidgets-5.9.3 does not compile clean with gtk flag on my system.
Either 5.212.0_alpha2 is not supported or it need qml useflag.

[ebuild   R    ] dev-qt/qtwebkit-5.212.0_alpha2:5::newer  USE="gstreamer jit opengl -geolocation -gles2 -multimedia -orientation -printsupport -qml {-test} -webchannel -webp" 0 KiB
[ebuild   R    ] dev-qt/qtwidgets-5.9.3:5/5.9::gentoo  USE="png xcb -debug -gles2 -gtk {-test}" 0 KiB

I attached the log file.
Oh, one more question: /opt/teamviewer/tv_bin/script/teamviewerd.service it is the right location ? It is started automatically ? because systemd can not find it.

Thank you!
Comment 21 Jura 2017-12-08 11:26:38 UTC
For copy teamviewerd.service to /etc folder, run:

# sudo teamviewer --daemon enable
Comment 22 Cănărău Constantin 2017-12-08 11:40:54 UTC
(In reply to Jura from comment #21)

Thank you! That did the trick. 
teamviewer daemon enable is a little ambiguous in documentation.
Comment 23 Maxxim 2017-12-08 11:58:36 UTC
@Jura, @Cănărău Constantin:
Can you tell me where the service is installed to when running 'teamviewer daemon enable'? I can than add support for systemd to the ebuild.

I can't test it myself since I don't have a systemd-driven Gentoo system.
Comment 24 Jura 2017-12-08 12:03:25 UTC
teamviewer --daemon enable 


Пт дек  8 15:00:16 MSK 2017
Action: Installing daemon (13.0.5693) for 'systemd' ...
installing /etc/systemd/system/teamviewerd.service (/opt/teamviewer/tv_bin/script/teamviewerd.service)
Try: systemctl enable teamviewerd.service
Created symlink /etc/systemd/system/multi-user.target.wants/teamviewerd.service → /etc/systemd/system/teamviewerd.service.

systemctl start teamviewerd.service


this command make link /etc/systemd/system/multi-user.target.wants/teamviewerd.service → /etc/systemd/system/teamviewerd.service.


For add to ebuild:
inherit systemd
....
....
src_install() {
....
systemd_dounit ${S}/teamviewer/tv_bin/script/teamviewerd.service

}
Comment 25 Maxxim 2017-12-08 12:04:49 UTC
@Jura:
Great, thanks!
Comment 26 Cănărău Constantin 2017-12-08 12:05:14 UTC
gentoo ~ # locate teamviewerd.service
/etc/systemd/system/teamviewerd.service
/opt/teamviewer/tv_bin/script/teamviewerd.service

I believe that the canonical location is /lib/systemd/system/. 
equery f acpid | grep service
/lib/systemd/system/acpid.service
or 
equery f cronie | grep service
/lib/systemd/system/cronie.service

/etc/systemd/system/ is for user created services.
Comment 27 Cănărău Constantin 2017-12-08 12:13:37 UTC
It still failed with:
2017/12/08 14:12:14.743 20966 139918650784896 GX0!! QML load error: qrc:/ui/EULADialog/EULADialog.qml:3:1: module "QtQuick.Controls" is not installed, Errorcode=2
2017/12/08 14:12:15.521 20966 139918607374080 GX0   InterProcessBase::SecureNetworkCallbackHandle created (RegistrationID: fcbbe3b4-dac5-474e-ab0f-5c14d30f5724)
2017/12/08 14:12:24.638 20966 139918198167296 GX0!! WorkingProxy::Listener::WorkingProxyResultHandler failed: 1
2017/12/08 14:12:24.638 20966 139918198167296 GX0!  WorkingProxy::Listener::WorkingProxyResultHandler: setting default value ProxyType::Undefined
2017/12/08 14:12:24.638 20966 139918198167296 GX0!! WorkingProxy::Listener::WorkingProxyResultHandler failed: 1
2017/12/08 14:12:24.638 20966 139918198167296 GX0!  WorkingProxy::Listener::WorkingProxyResultHandler: setting default value ProxyType::Undefined
2017/12/08 14:12:24.638 20966 139918198167296 GX0!! WorkingProxy::Listener::WorkingProxyResultHandler failed: 1
2017/12/08 14:12:24.638 20966 139918198167296 GX0!  WorkingProxy::Listener::WorkingProxyResultHandler: setting default value ProxyType::Undefined
2017/12/08 14:12:25.520 20966 139918198167296 GX0!  CMessageLayer::DisplayBCommandMessage: Timeout for master message.
2017/12/08 14:12:25.520 20966 139918198167296 GX0!! WorkingProxy::Listener::WorkingProxyResultHandler failed: 1
2017/12/08 14:12:25.520 20966 139918198167296 GX0!  WorkingProxy::Listener::WorkingProxyResultHandler: setting default value ProxyType::Undefined

qtwebkit is compiled with qml flag.
Any idea who provide QtQuick.Controls ?
Comment 28 Maxxim 2017-12-08 12:15:00 UTC
dev-qt/qtquickcontrols?
Comment 29 Jura 2017-12-08 12:20:07 UTC
Yes, I install dev-qt/qtquickcontrols and gui now works
Comment 30 Cănărău Constantin 2017-12-08 12:26:15 UTC
That is silly. There are both dev-qt/qtquickcontrols and dev-qt/qtquickcontrols2.
Since dev-qt/qtquickcontrols2 specify "Set of next generation Qt Quick controls for the Qt5 framework" I installed only this package. 
Never thought again about qtquickcontrols.

Thank you. Now is working.
Comment 31 Jura 2017-12-08 12:29:13 UTC
@Maxxim

For systemd use-flag example see old euild in portage:
/usr/portage/net-misc/teamviewer/teamviewer-12.0.85001.ebuild
Comment 32 Maxxim 2017-12-08 12:43:10 UTC
Created attachment 508798 [details]
Preliminary ebuild for current Linux preview 13.0.5693 (amd64, x86)

Updated ebuild:
- added dependency dev-qt/qtquickcontrols
- added support for systemd
- added elog messages for systemd
Comment 33 Maxxim 2017-12-08 12:44:33 UTC
@Jura, @Cănărău Constantin:
Would be great if you could test the now included systemd support.
Comment 34 Jura 2017-12-08 12:52:49 UTC
@Maxxim
Good work.

https://i.imgur.com/HJ2I0lH.png

Maybe add

>> newicon tv_bin/desktop/${MY_PN}_48.png ${MY_PN}.png to src_install

and 

>> gnome2_icon_cache_update to pkg_postrm() and pkg_postinst()
Comment 35 Cănărău Constantin 2017-12-08 12:59:48 UTC
Yes, it is working and service file is ok. 
Great work!
Comment 36 Maxxim 2017-12-08 13:11:06 UTC
(In reply to Jura from comment #34)
> @Maxxim
> Good work.
Thanks :)

> Maybe add
> >> newicon tv_bin/desktop/${MY_PN}_48.png ${MY_PN}.png to src_install
No, not necessary. My mistake,
  make_desktop_entry ${MY_PN} ${MY_AN} ${MY_PN}
needs to be
  make_desktop_entry ${MY_PN} ${MY_AN} ${MY_AN}

> and 
> >> gnome2_icon_cache_update to pkg_postrm() and pkg_postinst()
Will look into that.
Comment 37 Maxxim 2017-12-08 13:28:18 UTC
Created attachment 508800 [details]
Preliminary ebuild for current Linux preview 13.0.5693 (amd64, x86)

Updated ebuild:
- fixed application menu entry icon
- update Gnome icon cache
Comment 38 Cănărău Constantin 2017-12-08 13:37:41 UTC
Everything is all right here. Good work!
Comment 39 Maxxim 2017-12-08 15:56:24 UTC
@Cănărău Constantin:
Thanks! Are you also using Gnome?

@Jura:
Icon fixed for you?

I'm using KDE and the change fixed the icon there, too.
Comment 40 Jura 2017-12-08 15:59:16 UTC
> @Jura:
> Icon fixed for you?

https://i.imgur.com/wRrk1SI.png

Yessss. Thanks
Comment 41 Maxxim 2017-12-08 16:33:09 UTC
Great!

Now if there would be someone with an x86 system who could help with the dependencies on that arch, the whole thing could be wrapped up.
Comment 42 Cănărău Constantin 2017-12-08 16:44:14 UTC
(In reply to Maxxim from comment #39)
> @Cănărău Constantin:
> Thanks! Are you also using Gnome?

No. Only enlightenment recently.
Comment 43 Ernst Blecha 2017-12-08 19:08:09 UTC
(In reply to Maxxim from comment #37)
> Created attachment 508800 [details]
> Preliminary ebuild for current Linux preview 13.0.5693 (amd64, x86)
> 
> Updated ebuild:
> - fixed application menu entry icon
> - update Gnome icon cache

Gnome3 + systemd on amd64: icons work, systemd integration works, everything fine here
Comment 44 Andreas Sturmlechner gentoo-dev 2017-12-08 19:21:53 UTC
(In reply to Maxxim from comment #41)
> Now if there would be someone with an x86 system who could help with the
> dependencies on that arch, the whole thing could be wrapped up.
Why should there be different deps?

Your ebuild is lacking dev-qt/* slot dependencies.
Comment 45 Maxxim 2017-12-09 07:36:28 UTC
Created attachment 508990 [details]
Preliminary ebuild for current Linux preview 13.0.5693 (amd64, x86)

Updated ebuild:
- added slots to dependencies where applicable
- added workaround for quirk regarding 64-bit systems
Comment 46 Maxxim 2017-12-09 07:39:03 UTC
(In reply to Andreas Sturmlechner from comment #44)
> (In reply to Maxxim from comment #41)
> > Now if there would be someone with an x86 system who could help with the
> > dependencies on that arch, the whole thing could be wrapped up.
> Why should there be different deps?

The dependencies of amd64 and x86 *should* be the same, but then this is a closed-source application with little to no documentation regarding dependencies, so it would be better to verify instead of just guessing, in my opinion.

> Your ebuild is lacking dev-qt/* slot dependencies.

Added.
Comment 47 Adam Feldman gentoo-dev 2017-12-11 19:24:29 UTC
(In reply to Maxxim from comment #46)
> (In reply to Andreas Sturmlechner from comment #44)
> > (In reply to Maxxim from comment #41)
> > > Now if there would be someone with an x86 system who could help with the
> > > dependencies on that arch, the whole thing could be wrapped up.
> > Why should there be different deps?
> 
> The dependencies of amd64 and x86 *should* be the same, but then this is a
> closed-source application with little to no documentation regarding
> dependencies, so it would be better to verify instead of just guessing, in
> my opinion.
> 
> > Your ebuild is lacking dev-qt/* slot dependencies.
> 
> Added.

You can use scanelf and/or dynlink-scanner (https://gitweb.gentoo.org/proj/kde.git/tree/Documentation/maintainers/dynlink-scanner?id=HEAD) to verify dependencies
Comment 48 Maxxim 2017-12-12 07:16:25 UTC
(In reply to NP-Hardass from comment #47)
> You can use scanelf and/or dynlink-scanner
> (https://gitweb.gentoo.org/proj/kde.git/tree/Documentation/maintainers/
> dynlink-scanner?id=HEAD) to verify dependencies
Thanks, didn't know about those.
Comment 49 Maxxim 2017-12-13 17:34:20 UTC
Created attachment 509890 [details]
Preliminary ebuild for current Linux preview 13.0.5693 (amd64, x86)

Updated ebuild:
- dependencies refined using dynlink-scanner
Comment 50 Maxxim 2017-12-14 10:46:44 UTC
Created attachment 510024 [details]
Ebuild for current preview version 13.0.5693 (amd64, x86)

Updated ebuild:
- added block for net-misc/teamviewer-host (Bug 641000)
- changed package name from 'teamviewer-bin' to 'teamviewer'
- added slot to conform with current net-misc/teamviewer packages
- some cleanup and minor changes
Comment 51 Maxxim 2017-12-14 11:00:34 UTC
From my point of view, the ebuild is ready to be published.

Should I create a pull request as mentioned in https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers?

Since I use TeamViewer Linux on a daily basis, I'd be happy to maintain this package in the future.
Comment 52 Cănărău Constantin 2017-12-15 15:58:54 UTC
It is working perfectly here, no problems whatsoever. If there aren't any ebuild objections, it is ready.
Great work!
Comment 53 Larry the Git Cow gentoo-dev 2017-12-18 01:31:41 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7142e5e9bb52a70b83dbe109f733fa66deb08575

commit 7142e5e9bb52a70b83dbe109f733fa66deb08575
Author:     Maxxim <fonic.maxxim@live.com>
AuthorDate: 2017-12-18 00:07:30 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2017-12-18 01:28:23 +0000

    net-misc/teamviewer: 13.0.5693 version bump (non-maintainer commit)
    
    Committer comment: Tidied up
            - trivial comments
            - unnecessary empty lines
            - unquoted vars
            - whitespace
            - re-grouped pkg_postinst elog
    
    Tested-by: Cănărău Constantin <canarauc@yahoo.com>
    Bug: https://bugs.gentoo.org/621818
    Package-Manager: Portage-2.3.19, Repoman-2.3.6

 net-misc/teamviewer/Manifest                    |   2 +
 net-misc/teamviewer/files/teamviewerd13.init    |   8 ++
 net-misc/teamviewer/teamviewer-13.0.5693.ebuild | 123 ++++++++++++++++++++++++
 3 files changed, 133 insertions(+)}
Comment 54 Andreas Sturmlechner gentoo-dev 2017-12-18 01:37:32 UTC
Thanks for your contribution, after some additional fixes (please have a look at them) I've added it to tree under my responsibility, but masked for more testing.

Wolfram, please decide if this is ready to be unmasked, and whether to add Maxxim as proxy-maintainer for this package.
Comment 55 Adam Feldman gentoo-dev 2017-12-18 06:28:43 UTC
(In reply to Andreas Sturmlechner from comment #54)
> Thanks for your contribution, after some additional fixes (please have a
> look at them) I've added it to tree under my responsibility, but masked for
> more testing.
> 
> Wolfram, please decide if this is ready to be unmasked, and whether to add
> Maxxim as proxy-maintainer for this package.

You've got my go-ahead, as co-maintainer.  I'm dropping myself and wine from the package since upstream dropped it.
Comment 56 Maxxim 2017-12-18 07:49:54 UTC
(In reply to Andreas Sturmlechner from comment #54)
> Thanks for your contribution, after some additional fixes (please have a
> look at them) I've added it to tree under my responsibility, but masked for
> more testing.

Many thanks!

Here's what I noticed:
1) File 'teamviewerd13.init' should probably be named 'teamviewerd-13.init'
2) 'newinitd "${FILESDIR}"/teamviewerd13.init teamviewerd' should be 'newinitd "${FILESDIR}"/teamviewerd-${MV}.init teamviewerd'
3) 'elog "$ ${MY_PN} help"' should be 'elog "$ teamviewer help"' (I decided against using the package variables during installation so the ebuilds of net-misc/teamviewer and net-misc/teamviewer-host can be in sync)

Please note that parallel installation of multiple versions of TeamViewer is currently not supported according to the TeamViewer devs, even if executables are renamed during installation only one daemon can run at any time due to hard-coded stuff in the binaries (pidfile, IPC file etc.). Thus, it currently makes no sense to install e.g. teamviewerd as teamviewerd13.
Comment 57 Maxxim 2017-12-18 07:57:08 UTC
Created attachment 510576 [details]
Ebuild for merge

Modified ebuild for merge
Comment 58 Andreas Sturmlechner gentoo-dev 2017-12-18 22:52:40 UTC
It is much better if you attach unified diffs instead of whole ebuilds. We don't have to hunt for the changes then but can review in place.
Comment 59 Larry the Git Cow gentoo-dev 2017-12-19 00:20:05 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=457f6b79e27b7b03336c6dcf459838d90748820f

commit 457f6b79e27b7b03336c6dcf459838d90748820f
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2017-12-19 00:10:13 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2017-12-19 00:18:56 +0000

    profiles: Drop obsolete net-misc/teamviewer mask
    
    Bug: https://bugs.gentoo.org/621818

 profiles/package.mask | 4 ----
 1 file changed, 4 deletions(-)}
Comment 60 Maxxim 2017-12-19 12:25:20 UTC
(In reply to Andreas Sturmlechner from comment #58)
> It is much better if you attach unified diffs instead of whole ebuilds. We
> don't have to hunt for the changes then but can review in place.
I'll keep that in mind.

Currently, I don't think I'll contribute any further changes, as you seem to have your own agenda regarding this package, constantly modifying and introducing 'fixes' (actually you are introducing bugs), making a joke of the effort I put into creating a stable and well-tested ebuild.

With your 'fixes',
- 'teamviewer help' lists invalid commands
- commands like 'teamviewer daemon status' stop working
- parallel installed TeamViewer instances will use and overwrite the same ~/.config/teamviewer/client.conf
- upcoming releases will overwrite/conflict with installed icons as everything is hard-coded in the binaries

and so on.

Most importantly, according to my discussions with upstream developers, TeamViewer will likely deny support to paying customers with non-standard installations.

My intent, as stated in the very first post, was to create a package as close to the original as possible, with minimal changes and therefore minimal further maintenance regarding upcoming releases.
Comment 61 Andreas Sturmlechner gentoo-dev 2017-12-19 21:00:17 UTC
(In reply to Maxxim from comment #60)
> Currently, I don't think I'll contribute any further changes, as you seem to
> have your own agenda regarding this package, constantly modifying and
> introducing 'fixes' (actually you are introducing bugs), making a joke of
> the effort I put into creating a stable and well-tested ebuild.
That's uncalled-for, I strongly recommend not to jump to conclusions like that. Obviously you know much more about the package than I do, and my only interest was at least getting this to tree before removal of the old versions. And from that point I would have been out of here again.

(In reply to Maxxim from comment #60)
> With your 'fixes',
> - 'teamviewer help' lists invalid commands
> - commands like 'teamviewer daemon status' stop working
OK, we can fix that. But it means possible(?) file collisions with existing/future versions - see also below.

> - parallel installed TeamViewer instances will use and overwrite the same
> ~/.config/teamviewer/client.conf
> - upcoming releases will overwrite/conflict with installed icons as
> everything is hard-coded in the binaries
Shouldn't we block these older slots then? And, if this issue with parallel install is not a temporary issue, but something upstream is not going to fix, ditch slotting altogether?

This is a question I wanted to leave for discussion between you and the actual maintainer of the package.
Comment 62 Larry the Git Cow gentoo-dev 2017-12-19 21:36:05 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e08571454e0e6d885fd76325b91cffe55eb7e5f8

commit e08571454e0e6d885fd76325b91cffe55eb7e5f8
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2017-12-19 21:33:26 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2017-12-19 21:35:54 +0000

    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

 net-misc/teamviewer/teamviewer-13.0.5693-r2.ebuild | 129 +++++++++++++++++++++
 1 file changed, 129 insertions(+)}
Comment 63 Maxxim 2017-12-20 07:29:50 UTC
(In reply to Andreas Sturmlechner from comment #61)
> (In reply to Maxxim from comment #60)
> > Currently, I don't think I'll contribute any further changes, as you seem to
> > have your own agenda regarding this package, constantly modifying and
> > introducing 'fixes' (actually you are introducing bugs), making a joke of
> > the effort I put into creating a stable and well-tested ebuild.
> That's uncalled-for, I strongly recommend not to jump to conclusions like
> that. Obviously you know much more about the package than I do, and my only
> interest was at least getting this to tree before removal of the old
> versions. And from that point I would have been out of here again.
Alright, now that explanation works for me.

You got to understand my point of view as well - until now, all I saw was you taking what I created and silently merging something different without any explanation. It would have been great if you had proposed and discussed what you think should be changed before this can be merged, I would have gladly applied the changes.

So let's go on from here. I'll look at what we've got and get back to you.
Comment 64 Maxxim 2017-12-20 08:57:12 UTC
Here's what I suggest:

As I think it's easier than changing stuff back, I used the original ebuild and applied the following changes that you proposed:
- reduce whitespace
- reduce comments
- quote variables/paths
- group elogs for OpenRC and Systemd


I also applied further changes for the following reasons:

1) Keep 'MY_MV="${PV/\.*}"' as I think this doesn't explain itself. Also, I think 'MY_MV' is better than just 'MV' as this isn't an API variable

2) Elog '# teamviewer help' instead of '$ teamviewer help' since only few commands actually require root privileges and those will tell the user that they do when executed. I added a note to inform that some commands may require root privileges

3) Only minimal use of API variables within src_install(). I think this keeps the code more readable/maintainable and also allows keeping the ebuilds for TeamViewer and TeamViewer Host in sync with minimal differences, which again helps further maintenance

4) Set SLOT="0". Previously, I only set the slot to 13 to keep compatibility to the original package, but as stated before, there's currently no real way to achieve parallel installation. I talked to the upstream devs and asked if they would be willing to consider moving from hard-coded to configurable paths - they said they might at some point in the future, but there's currently no priority on that

5) Change '${FILESDIR}/teamviewerd.init' to "${FILESDIR}/teamviewerd-${PV}.init". As this is closed-source, there's no way to tell what they might change in future releases, thus I think it's better to tie this file to the version


What do you think?
Comment 65 Maxxim 2017-12-20 09:00:26 UTC
Created attachment 511058 [details]
Ebuilld for version 13.0.6634 (amd64, x86)
Comment 66 Maxxim 2017-12-20 09:01:22 UTC
Created attachment 511060 [details]
Init script for version 13.0.6634
Comment 67 Hanno Zysik (geki) 2018-01-02 20:06:35 UTC
Teamviewer ebuild should depend on app-arch/xz-utils[extra-filters].

The .tar.xz archive uses BCJ filter. Without the extra filters, you have a funny error just saying "unsupported options".
Comment 68 Cănărău Constantin 2018-01-08 10:20:19 UTC
Teamviewer 13 is masked on default/linux/amd64/17.1/no-multilib profile, nomultilib profiles, in general. The mask should limit up to version 12.
I opened bug 643884 for this.
Comment 69 Maxim Koltsov (RETIRED) gentoo-dev 2018-01-18 19:11:41 UTC
I added 13.0.6634 version by copying previous ebuild. Do we have any more problems in this bug report to resolve?
Comment 70 Manfred Knick 2019-12-15 09:42:33 UTC
(In reply to Maxim Koltsov from comment #69)
> ... Do we have any more
> problems in this bug report to resolve?

Cross-Reference:  Bug 701874