[fedora-java] Packaging tomcat shell scripts

Dridi Boukelmoune dridi.boukelmoune at gmail.com
Tue Oct 22 16:27:16 UTC 2013

I've installed tomcat 7 on my machine to take a quick look at how it's packaged:
- exploded FHS-compliant layout
- systemd-friendly equivalent to catalina.sh
- default configuration in /etc

Now if you want to run a tomcat instance (by instance I mean
$CATALINA_BASE) /usr/sbin/tomcat seems to be the best candidate.
Unlike catalina.sh, it expects a value for all the CATALINA_* variables
in its environment, while catalina.sh has fall-backs relative to
$CATALINA_HOME. Simply using /usr/sbin/tomcat as a substitute to
catalina.sh wouldn't work of course.

Could you please post an example of what maven produces ? This would
help see what could be done with simple maven configuration (eg.
-Dsystem=properties) and what would require a patch (and help estimate
the amount of work).


On Tue, Oct 22, 2013 at 4:59 PM, Robert Rati <rrati at redhat.com> wrote:
> The lack of the tomcat shell scripts is causing issue with hadoop and some
> of their ecosystem packages.  Some are webapps with custom configuration.
> The maven builds all create a tomcat install area with their custom
> configurations.  It's not too hard to take that and adapt to fedora's tomcat
> if the schell scripts were packaged.  Then these services could be
> stopped/started with systemd like other services.
> That's assuming catalina.sh and friends are present and functional. :)
> Rob
> On 10/21/2013 04:42 PM, Dridi Boukelmoune wrote:
>> Hi,
>> The catalina.sh script work with the $CATALINA_HOME (tomcat binaries)
>> and $CATALINA_BASE (tomcat instances) directories. My guess is that
>> tomcat is packaged as a native (previously sysvinit, and now systemd)
>> service, and that instances wouldn't make sense. Other scripts like
>> startup.sh are just sugar wrappers to the catalina.sh script.
>> When I say it wouldn't make sense, I mean that it was probably
>> packaged to feel like any other server:
>> sudo service tomcat start
>> or
>> sudo systemctl start tomcat
>> The package probably owns directories in /var (or somewhere else) that
>> would make it multi-instance unfriendly.
>> The catalina.sh script also expects sub-directories in $CATALINA_HOME
>> and $CATALINA_BASE. I suspect that tomcat explodes the directory
>> layout (in /usr, /var, maybe /etc) in order to be FHS compliant, which
>> would probably break catalina.sh and its friends.
>> I'll install tomcat and take a look at the package ASAP.
>> Dridi
>> On Mon, Oct 21, 2013 at 9:07 PM, Robert Rati <rrati at redhat.com> wrote:
>>> I logged a bz (https://bugzilla.redhat.com/show_bug.cgi?id=990588) to
>>> request that the tomcat shell scripts (catalina.sh and the rest) be
>>> packaged.  I've had some discussions with the person the bz is assigned
>>> to
>>> and few others, but no one knows why the scripts were not packaged. Nor,
>>> it
>>> seems, does anyone see a problem with them being packaged as far as I can
>>> tell.
>>> Does anyone know some history here?
>>> Rob
>>> --
>>> java-devel mailing list
>>> java-devel at lists.fedoraproject.org
>>> https://admin.fedoraproject.org/mailman/listinfo/java-devel

More information about the java-devel mailing list