When setting the crypt and vnc USE flag to net-misc/remmina, the ebuild should also set the gcrypt USE flag to net-libs/libvncserver (which is a remmina dep).
Since I've been building a VNC _client_, it was more than just a little counter-intuitive and cost a lot of time to debug that the culprit was actually net-libs/libvncserver and not net-misc/remmina.
Failing to build BOTH, remmina AND libvncserver with crypt/gcrypt flags will result in connection problems with the following error:
"gcrypt support was not compiled in vnc"
AFAICT, Remmina only uses gcrypt to encrypt saved passwords. There is no relation to libvncserver's use of gcrypt at all, and you shouldn't need to enable it in Remmina to be able to make encrypted VNC connections.
The error message could be possibly be improved, but that would have to be done upstream, either in libvncserver here:
or in Remmina itself, by detecting that message and adding the detail that it refers to libvncserver's use of gcrypt and not to Remmina's. That could be done in this function:
Well, I have debugging this for days because I needed to connect to a VNC server and wasn't able to. Without manually setting the gcrypt USE flag for libvncserver, it was not possible to connect, always ending up in "gcrypt support was not compiled in vnc".
From a user's perspective, setting crypt to remmina should set gcrypt in libvncserver and cause a rebuild, otherwise more people will sit there with a dysfunctional vnc client setup and scratch their had why it won't connect.
I understand your frustration but, as I explained above, there is no relation whatsoever between the crypt USE flag in remmina and the gcrypt flag in libvncserver.
This is a usability issue in Remmina, not a Gentoo bug.
I see. So what can we do to improve this from our (gentoo) end? Usually USE flags and their deps have been a great way to control our systems in the last 15 years I've been using gentoo.
After seeing it fail I kept on looking through the USE flags of all deps but the only one I kept ignoring until the very end was actually libvncserver, because it simply didn't occur to me that libvncserver would have any relevance, since I was using remmina as a vnc client, and not to spawn a local vnc server.
I understand that you're pointing upstream, however, I don't fully agree since parallel tests with other distros showed that remmina and libvncserver are properly built with gcrypt support and connect without these problems. I'm not trying to point fingers here, I'm just looking for a way where we can improve to a point where you don't have to be a package maintainer and KNOW that this dependency exists. equery isn't very helpful:
crypt: Add support for encryption -- using mcrypt or gpg where applicable
Could we add a gcrypt (or any other line vnc-gcrypt) USE flag to pass on to libvncserver to make it clear to people building remmina that this dependency exists and needs to be managed?
(In reply to chrono from comment #4)
> Could we add a gcrypt (or any other line vnc-gcrypt) USE flag to pass on to
> libvncserver to make it clear to people building remmina that this
> dependency exists and needs to be managed?
USE flags are not used in that way because that would lead to unnecessary rebuilds.
What I can do is add a post-install message pointing out this dependency (like the one about XDMCP support). Something like:
"Encrypted VNC connections require net-libs/libvncserver[gcrypt]."
Although I'm not sure exactly what kind of encrypted connections, since libvncserver also seems to have TLS support using openssl or gnutls.
I guess a post-install message would cut down the number of victims of this issue :) Since I primarily stay within the GNU/Linux/BSD realm of things, it never popped up but recently was forced to use it. For me VNC is usually only a last measure to connect to other systems like IDRAC cards or Apple "servers" that otherwise only support their proprietary ecosphere tools which aren't available as I stick to gentoo.
commit ffa9b0bd515ed3aca7c76ce63749033fa8878109 (HEAD -> master, origin/master, origin/HEAD)
Author: Diogo Pereira <email@example.com>
AuthorDate: Sun Oct 2 22:42:35 2016 +0100
Commit: Patrice Clement <firstname.lastname@example.org>
CommitDate: Mon Oct 3 22:07:18 2016 +0200
net-misc/remmina: warn about encrypted VNC deps.
Add a post-install message informing the user that encrypted VNC connections
require net-libs/libvncserver built with the gcrypt flag.
Signed-off-by: Patrice Clement <email@example.com>
net-misc/remmina/remmina-1.2.0_rc15.ebuild | 1 +
1 file changed, 1 insertion(+)
There you go. Enjoy!
Thanks, much obliged. And there should be enough relevant keywords in this bug report to help anyone else searching for it (and didn't read the post-install) :)