ExecStart line in systemd service files.

Adam Williamson awilliam at redhat.com
Sat Aug 17 07:18:50 UTC 2013


On Fri, 2013-08-09 at 16:56 +0100, আনন্দ কুমার সমাদ্দার Ananda Samaddar
wrote:
> On Fri, 9 Aug 2013 17:52:23 +0200
> Lennart Poettering <mzerqung at 0pointer.de> wrote:
> 
> > On Fri, 09.08.13 16:34, আনন্দ কুমার সমাদ্দার Ananda Samaddar
> > (asamaddar at myopera.com) wrote:
> > 
> > > > I have no idea about hte package in question, but be aware that
> > > > you need to pass --prefix=/usr (among other things) to configure
> > > > for all packages packaged for Fedora. This is documented in more
> > > > detail in the Fedora packaging guidelines.
> > > > 
> > > > If you end up with /usr/local in a path then this indicates that
> > > > you didn't pass --prefix=/usr correctly or you found a bug in the
> > > > upstream build scripts.
> > > > 
> > > > Lennart
> > > > 
> > > 
> > > The package configures and builds fine.  The default %configure
> > > macro automatically sets the prefix to /usr.  Michael was saying
> > > that the binary path in the service file should be set by the
> > > configure or make commands so this would require some knowledge of
> > > autoconf.
> > 
> > If the unit files are shipped upstream, and are hardcoded to point to
> > /usr/local, then that's an upstream bug really. Please ask them to
> > generate them with sed or so with the right path filled in. 
> > 
> > Lennart
> > 
> 
> The unit file did point to /usr/local/bin.  I contacted upstream and
> they changed it to /usr/bin.  I was then led to believe that the path
> had to be generated during the build process as I've mentioned
> previously and it's not satisfactory to include a manually written unit
> file with the path already set.  If it is I'll inform upstream and this
> issue can be closed.

Well, define 'acceptable'. It's bad form; a hardcoded path is never
going to be right for all your potential users (those who compile from
source and those who use distro packages).

Roughly, they just want a progname.service.in file which has the path as
a variable - I forget what it's called in autotools language, I think
$_bindir or something like that - and then a bit of configuration in,
IIRC, Makefile.am which tells autotools to generate progname.service
from progname.service.in and substitute the variable. It's not difficult
stuff, there are a million codebases out there you could use to cargo
cult the relevant bits from.
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | identi.ca: adamwfedora
http://www.happyassassin.net



More information about the devel mailing list