[Fedora-packaging] Single review request for multiple packages

Stanislav Ochotnicky sochotnicky at redhat.com
Thu May 10 15:30:05 UTC 2012

Quoting Tom Callaway (2012-05-10 16:06:44)
> You might want to ask in #fedora-java, those guys have quite a bit of
> experience with packaging Java bits with Maven.

Yes, and at least one of them occasionally reads this list :-)

> On 05/10/2012 08:57 AM, Simone Caronni wrote:
> > Added all dependencies, not before clashing mid air while applying them :D
> > 
> > The daemon itself needs a client; documentation on how to write it are
> > on Guacamole web site.
> > 
> > The Gucamole project provides its one Web Interface; and I have some
> > struggle packaging it. It is made of the following components:
> > 
> > guacamole - The main web application, written in Java.
> > guacamole-common - The Java API used by the web application.
> > guacamole-common-js - The JavaScript library used by the web application.
> > guacamole-ext - Common interfaces for extending the main web application.
> > 
> > All compile with maven and in the end they are packaged as a war file:
> > 
> > http://guac-dev.org/guacamole
> > 
> > I've seen many *-js packages in koji, but they all compile with ant;
> > here I need maven.
> > Can somone point me to some examples in Fedora on which I can rely to
> > build this stack?

Well. For simple-ish examples of using Maven you can have a look at
apache-commons-io and related commons packages. They should be
relatively clean being updated only recently. 

To build Java stuff with Maven in fedora you have to use a bit modified
mvn-rpmbuild script that works in offline mode. Note that all
dependencies (even build-deps) will have to be packaged and properly
added to BuildRequires, otherwise the packages will not build. Quick
glance at the deps seemed to suggest we have them all so you should be
OK. I have to say I kind of like this project. Clear licensing, no
bundling, no shading. Way to go. You can high-five upstream if you are
in touch :-)

There is one more issue: We don't have packaging guidelines for java
webapps. You might want to have a look into[1] and [2] where we
discussed it somewhat. We should get it over with one of these days. I
would propose putting the unpacked war file into /usr/share/webapps-java
and symlinking dependencies into lib subdir. Seems like the package is
self-contained so even "bundling" its parts in war might be OK here.

If you've never packaged Java software for Fedora this might be a bit
confusing so feel free to stop by #fedora-java where we can help you out
in real-time. 

[1] http://dep.debian.net/deps/dep7/
[2] http://meetbot.fedoraproject.org/fedora-meeting-1/2010-12-08/fedora-meeting-1.2010-12-08-17.07.log.html#l-78

Stanislav Ochotnicky <sochotnicky at redhat.com>
Software Engineer - Base Operating Systems Brno

PGP: 7B087241
Red Hat Inc.                               http://cz.redhat.com

More information about the packaging mailing list