]> git.tuebingen.mpg.de Git - dss.git/commit - dss.c
Convert dss to lopsub.
authorAndre Noll <maan@tuebingen.mpg.de>
Fri, 6 May 2016 14:18:24 +0000 (16:18 +0200)
committerAndre Noll <maan@tuebingen.mpg.de>
Thu, 13 Jul 2017 20:54:03 +0000 (22:54 +0200)
commit3025388040c1521121255e5ae7ceabdcb1b1e421
tree0b87507bcb0d727775039b61a11674bc640a55fb
parent5235e61583d358c177955c1da642e7c49e527acc
Convert dss to lopsub.

This commit ditches gengetopt for the command line and config file
parsers in favor of the lopsub library. Hence from now on, lopsub
must be installed in order to compile dss while gengetopt is no
longer needed.

The mutually exclusive gengetopt group options --create, --prune, --ls,
--run, --kill and --reload are replaced by lopsub subcommands. However,
the --reload and --kill options have been combined to the new "kill"
subcommand which allows to send arbitrary signals to a running dss
process.

Due to the conversion, the syntax of the dss command changes
slightly. For example,

dss --run

becomes

dss run

while

dss -Rdc foo

needs to be spelled as

dss -c foo -- run -d

so that -d is regarded as an option to the "run" subcommand rather
than an option to dss.

With lopsub each subcommand has its own command line and config file
parser. Options to subcommands can be added to the configuration file
like this:

[run]
daemon
logfile=/var/log/dss.log

As for the implementation, the bulk of the changes is the conversion
of dss.ggo to the new dss.suite. The necessary adjustments to the
code are relatively simple. In particular, only dss.c needs to be
changed while all other .c files don't require any modifications.

The examples in INSTALL are adjusted to the new syntax. The commit also
drops support for Mac OS and Solaris, since lopsub is not supported
on these platforms yet.
.gitignore
INSTALL
Makefile
dss.1.inc [deleted file]
dss.c
dss.ggo [deleted file]
dss.suite [new file with mode: 0644]
err.h