On Wed, Dec 07, 2011 at 03:05:53PM -0500, Jeff Johnston wrote:
Hello,
There doesn't seem to be any clear documentation in the Packaging
Guidelines concerning servers that aren't meant to start on boot so I
thought I would ask for clarification.
I found the following in the systemd guidelines:
> Each package that contains software that wants/needs to start a
traditional service at boot MUST have a systemd unit file.
which I interpret as meaning a script is not required in the case of a
server that doesn't mean to start at boot.
Is this correct?
Probably not but both your wording and ours are making it difficult to
know that for sure. How does your software start? Does a normal user run
it, possibly adding it to their ~/.profile or their desktop environment's
system for starting something on boot? If so, you do not need a systemd
unit file.
OTOH, if a system administrator is required to run it and then it is
a service for people connecting to that box, it almost certainly does fall
into this category and needs to have a systemd unit file.
The reason I am asking is that I maintain the eclipse-rse package
(Remote System Explorer). In addition to the normal Eclipse plug-ins
and features, the upstream project also packages a server for linux that
is used to allow exploring of a linux host via the Eclipse client
software. The eclipse-rse package has not packaged the server in the
past and I wish to do so now.
The server is currently packaged upstream as a tarball to be expanded
into a single directory (/opt/rseserver is suggested). It contains perl
scripts, jar files, and some property files. The perl scripts are the
front-end and they end up using java to invoke classes found in the jar
files. The property files are used to set certain features, most
notably, ssl support. Ssl support requires some additional set-up to
work properly such as setting up a Java Keystore.
I have split up the tarball into the configuration property files which
I placed in /etc/sysconfig/rseserver, the java jar files which I put
into /usr/share/java/eclipse-rse-server and the perl scripts which I
placed into /usr/share/eclipse-rse-server. I modified the perl scripts
so that they would work with the files moved as they were.
Is my break-up of the upstream package reasonable?
The configuration files should probably go in %{_sysfonfdir}/rseserver
(becomes /etc/rseserver) rather than in /etc/sysconfig. The other pieces
sound okay to me although a java person may want to weigh in as well.
Be careful, though -- if you're packaging for inclusion in Fedora,
everything must be compiled from source. That means that the jar files you
refer to would need to be removed in the rpm's %prep section and then
rebuilt in the %build section from the java source files.
-Toshio