Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 541718 - net-misc/guacamole-server-0.9.5 version bump
Summary: net-misc/guacamole-server-0.9.5 version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal enhancement
Assignee: Andreas Schürch
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-02-28 21:10 UTC by Malte Starostik
Modified: 2015-09-10 14:34 UTC (History)
0 users

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


Attachments
net-misc/guacamole-server-0.9.5 ebuild (guacamole-server-0.9.5.ebuild,1.42 KB, text/plain)
2015-02-28 21:11 UTC, Malte Starostik
Details
UNTESTED openrc init script (guacd.initd,563 bytes, text/plain)
2015-02-28 21:12 UTC, Malte Starostik
Details
systemd unit file (guacd.service,178 bytes, text/plain)
2015-02-28 21:12 UTC, Malte Starostik
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Malte Starostik 2015-02-28 21:10:38 UTC
Attached is an ebuild for net-misc/guacamole-server-0.9.5 with the following changes wrt version 0.9.3 in the portage tree:

* bump to current upstream version
* got rid of pango and terminal USE flags:
  the configure options --with-pango and --with-terminal are required for ssh and telnet support
  and totally unneeded when neither is wanted.  Thus control both options and the resulting x11-libs/pango
  dependency solely based on use ssh || use telnet
* reordered dependencies accordingly and to closely match upstream's dependency list
* cleaned up $(use foo && echo "--with-foo" || echo "--without-foo") => $(use_with foo)
* got rid of src_compile, default is just fine
* added user and group "guacd" to have the daemon run as non-root
* changed configure call to disable installing upstream's generic init script and instead install an
  openrc one that runs guacd as user guacd
* added a systemd unit

Please note that the openrc init script is *completely* untested as I don't have an openrc system at hand.

Reproducible: Always
Comment 1 Malte Starostik 2015-02-28 21:11:37 UTC
Created attachment 397696 [details]
net-misc/guacamole-server-0.9.5 ebuild
Comment 2 Malte Starostik 2015-02-28 21:12:01 UTC
Created attachment 397698 [details]
UNTESTED openrc init script
Comment 3 Malte Starostik 2015-02-28 21:12:35 UTC
Created attachment 397700 [details]
systemd unit file
Comment 4 Andreas Schürch gentoo-dev 2015-05-11 17:04:23 UTC
WOW! Thanks a lot Malte!

Somehow my mailfilter didn't worked properly and i totally missed that bug for a long time! I'm really sorry for that!

I will have a look at the ebuild and will test the openrc script....
That will take some time, but don't worry, you've got my attention now! ;-)

...have you seen, there is already 0.9.6... ;-)

Thanks!
Comment 5 Andreas Schürch gentoo-dev 2015-05-12 19:33:04 UTC
Damn... we will need to depend on the oldest version of freerdp in the tree as https://glyptodon.org/jira/browse/GUAC-1130 still seems to be true as of today. We can do that, but as it's a beta-version from 2013 i guess something like bug #497262 will happen quite soon! :-/
Comment 6 Malte Starostik 2015-05-12 20:20:22 UTC
Yep, that's what I noticed when guacamole-server got scheduled for rebuild some days ago.  That's when I noticed there is a 0.9.6 version upstream, but I didn't have a closer look at it.  The database changes and Postgres support sound like dep changes and, well, you just destroyed my hopes that bump would fix the freerdp breakage.  Anyway, while I plan on using guac extensively one day, that is way down on the priority list.  Should that happen before this issue will be fixed, I'll gladly look into how difficult it would be to patch the thing.  But seriously I doubt that will happen before guac 3.0 or such...
Comment 7 Andreas Schürch gentoo-dev 2015-05-13 10:23:00 UTC
(In reply to Malte Starostik from comment #6)
> I'll gladly look into how difficult
> it would be to patch the thing.
Sounds good, but i doubt that it is that easy to patch....
Fedora has a two patches for a newer freerdp here:
https://apps.fedoraproject.org/packages/guacamole-server/sources/patches
but that doesn't really help much, as their freerdp has reverted upstream changes to make it fit again! :-/
Comment 8 Andreas Schürch gentoo-dev 2015-06-01 13:28:31 UTC
Just for the record... I'm waiting for the release of 0.9.7 (thought it would get released earlier) and will depend on the old freerdp for now!
Comment 9 Andreas Schürch gentoo-dev 2015-06-13 09:35:26 UTC
13 Jun 2015; Andreas Schuerch <nativemad@gentoo.org>
  +guacamole-server-0.9.7.ebuild, +files/guacd, +files/guacd.service:
  Version bump, license change, init options and lots more thanks to Malte
  Starostik. See bug 541718

13 Jun 2015; Andreas Schuerch <nativemad@gentoo.org> +guacamole-0.9.7.ebuild:
  version bump, license change, postgres and noauth support

To be honest, I haven't tested the postgresql auth extension, but I'm quite confident that it should work... :-)

Have fun! :-)
Comment 10 Travis Kelley 2015-07-29 18:49:27 UTC
I've tried numerous times to get the new 0.97 ebuilds to work but I keep getting an error in the catalina.out of tomcat (running tomcat 8.0.23)

Jul 29, 2015 2:30:03 PM com.sun.jersey.spi.container.ContainerResponse logException
SEVERE: Mapped exception to response: 500 (Internal Server Error)
org.glyptodon.guacamole.net.basic.rest.APIException
        at org.glyptodon.guacamole.net.basic.rest.AuthProviderRESTExceptionWrapper.invoke(AuthProviderRESTExceptionWrapper.java:139)


I have followed the instructions in the ebuild and downloaded the mysql-connector and placed it into /var/lib/guacamole/classpath and deployed into tomcat with the instructions listed in the ebuild.  I've fallen back to trying to test with basic authentication, but get the same error.  I assume I'm missing a path or permission somewhere but wonder if this is something that could be checked or documented in the ebuild since I see lots of people having similar issues on the guacamole forums.  Does anyone have any suggestions as to what could cause this error?
Comment 11 Andreas Schürch gentoo-dev 2015-08-04 12:55:02 UTC
(In reply to Travis Kelley from comment #10)
> I've tried numerous times to get the new 0.97 ebuilds to work but I keep
> getting an error in the catalina.out of tomcat (running tomcat 8.0.23)
> 
> Jul 29, 2015 2:30:03 PM com.sun.jersey.spi.container.ContainerResponse
> logException
> SEVERE: Mapped exception to response: 500 (Internal Server Error)
> org.glyptodon.guacamole.net.basic.rest.APIException
>         at
> org.glyptodon.guacamole.net.basic.rest.AuthProviderRESTExceptionWrapper.
> invoke(AuthProviderRESTExceptionWrapper.java:139)
> 
> 
> I have followed the instructions in the ebuild and downloaded the
> mysql-connector and placed it into /var/lib/guacamole/classpath and deployed
> into tomcat with the instructions listed in the ebuild.  I've fallen back to
> trying to test with basic authentication, but get the same error.  I assume
> I'm missing a path or permission somewhere but wonder if this is something
> that could be checked or documented in the ebuild since I see lots of people
> having similar issues on the guacamole forums.  Does anyone have any
> suggestions as to what could cause this error?

Yeah, 500 is a quite a generic failure! :-)
I still have tomcat 7.059 running...
What do you have in /var/lib/tomcat-8/webapps/.guacamole/guacamole.properties? -I remember that i had to fight with that during the last update...
Comment 12 Travis Kelley 2015-08-07 20:23:41 UTC
(In reply to Andreas Schürch from comment #11)
> (In reply to Travis Kelley from comment #10)
> > I've tried numerous times to get the new 0.97 ebuilds to work but I keep
> > getting an error in the catalina.out of tomcat (running tomcat 8.0.23)
> > 
> > Jul 29, 2015 2:30:03 PM com.sun.jersey.spi.container.ContainerResponse
> > logException
> > SEVERE: Mapped exception to response: 500 (Internal Server Error)
> > org.glyptodon.guacamole.net.basic.rest.APIException
> >         at
> > org.glyptodon.guacamole.net.basic.rest.AuthProviderRESTExceptionWrapper.
> > invoke(AuthProviderRESTExceptionWrapper.java:139)
> > 
> > 
> > I have followed the instructions in the ebuild and downloaded the
> > mysql-connector and placed it into /var/lib/guacamole/classpath and deployed
> > into tomcat with the instructions listed in the ebuild.  I've fallen back to
> > trying to test with basic authentication, but get the same error.  I assume
> > I'm missing a path or permission somewhere but wonder if this is something
> > that could be checked or documented in the ebuild since I see lots of people
> > having similar issues on the guacamole forums.  Does anyone have any
> > suggestions as to what could cause this error?
> 
> Yeah, 500 is a quite a generic failure! :-)
> I still have tomcat 7.059 running...
> What do you have in
> /var/lib/tomcat-8/webapps/.guacamole/guacamole.properties? -I remember that
> i had to fight with that during the last update...

So I moved back to tomcat-7, but I'm experiencing the same issue.  my guacamole.properties file at the location you mentions is pretty basic as I'm just trying to get it to work...

guacd-host: localhost
guacd-port: 4822
auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
basic-user-mapping: /etc/guacamole/user-mapping.xml

I believe some library is not in the right path somewhere or something like that but I can't for the life of me figure out.  Could you provide details about what guacamole files you have where?  I've been thinking once I get this working I'm going to remove files one by one and see what breaks it until I get a minimal config figured out.
Comment 13 Andreas Schürch gentoo-dev 2015-08-08 15:30:39 UTC
(In reply to Travis Kelley from comment #12)

> guacd-host: localhost
> guacd-port: 4822
> auth-provider:
> net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
> basic-user-mapping: /etc/guacamole/user-mapping.xml

I also had to play a bit with it now, when i tried it on a new install...
1. you can leave the "auth-provider" away for all auth types.
2. guacamole.properties should be in /etc/guacamole/.
3. by default GUACAMOLE_HOME is the homedir of the tomcat user... This is set to /dev/null on gentoo by default. After I switched that to /etc/guacamole and placed the lib/mysql-connector-*bla*.jar and extensions/guacamole-auth-jdbc-mysql-0.9.7.jar underneath /etc/guacamole/.guacamole/ it started to work.

I really don't know anymore how i did it the last time!? Maybe you'll find a better option!? If not, i will change the text in the ebuild accordingly.
Comment 14 Andreas Schürch gentoo-dev 2015-08-25 04:24:42 UTC
Did that work for you Travis??
Comment 15 Travis Kelley 2015-09-03 18:05:23 UTC
(In reply to Andreas Schürch from comment #14)
> Did that work for you Travis??

I finally got it working today and I think I've found what appears to be a minimal configuration by removing files until I broke something.  Based on your previous comments I created /etc/guacamole/.guacamole with the appropriate files, changed tomcat's homedir to /etc/guacamole.  This is what my directory structure looks like now in case anyone else runs into this problem.

# find /etc/ | egrep guacamole
/etc/guacamole
/etc/guacamole/.guacamole
/etc/guacamole/.guacamole/user-mapping.xml.bak
/etc/guacamole/.guacamole/extensions
/etc/guacamole/.guacamole/extensions/guacamole-auth-jdbc-mysql-0.9.7.jar
/etc/guacamole/.guacamole/guacamole.properties
/etc/guacamole/.guacamole/lib
/etc/guacamole/.guacamole/lib/mysql-connector-java-5.1.36-bin.jar

# egrep tomcat /etc/passwd
tomcat:x:265:265:added by portage for tomcat:/etc/guacamole:/sbin/nologin


I appreciate the work you've done on this ebuild.
Comment 16 Andreas Schürch gentoo-dev 2015-09-10 14:34:06 UTC
I found a better way now with creating a file in /etc/env.d to set GUACAMOLE_HOME to just /etc/guacamole! :-)

I bumped the ebuilds to the 0.9.8 version now and corrected the instructions there.

Travis, you can now remove the homedir-definition for tomcat again and either append /.guacamole to the variable in /etc/env.d/98guacamole or move the stuff from /etc/guacamole/.guacamole one directory up! :-)

I will cleanup older versions in a few days...

I'm closing this bug now, as it's already the second bump in it! :-)
Feel free to open new bugs if you find something.

Thanks!