diff options
author | Steve Dickson <steved@redhat.com> | 2016-11-07 14:28:54 -0500 |
---|---|---|
committer | Steve Dickson <steved@redhat.com> | 2016-11-07 14:33:43 -0500 |
commit | 0cc39c519278b15ede3a5268415b70a2378a52c0 (patch) | |
tree | 861e93d91ad9ef593b2fc62ea3249c4af018d567 | |
parent | 196e8f3abaa6e8899ba2655c6c2d8751e33a9795 (diff) | |
download | rpcbind-0cc39c519278b15ede3a5268415b70a2378a52c0.tar.gz |
Provide systemd unit files for rpcbindrpcbind-0_2_4-rc2
To encourage uniformity across distributions, provide
systemd unit files.
If extra arguments are wanted for rpcbind, a drop-in should be used
to set the Environment= or read and EnvironmentFile=
Even though libtirpc and the kernel contact rpcbind via
/var/run/rcpbind.sock, tell systemd to place the socket
in /run/rpcbind.sock as systems using systemd always
use /run, and often symlink /var/run to /run.
rpcbind.service pulls in rpcbind.socket so that the listening sockets
chosen there will always be used.
Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile.am | 4 | ||||
-rw-r--r-- | configure.ac | 7 | ||||
-rw-r--r-- | systemd/rpcbind.service.in | 17 | ||||
-rw-r--r-- | systemd/rpcbind.socket | 18 |
5 files changed, 46 insertions, 1 deletions
@@ -27,3 +27,4 @@ rpcbind rpcinfo # cscope database files cscope.* +systemd/rpcbind.service diff --git a/Makefile.am b/Makefile.am index 5ec8cd6..43c2710 100644 --- a/Makefile.am +++ b/Makefile.am @@ -50,6 +50,10 @@ if SYSTEMD AM_CPPFLAGS += $(SYSTEMD_CFLAGS) -DSYSTEMD rpcbind_LDADD += $(SYSTEMD_LIBS) + +systemdsystemunit_DATA = \ + systemd/rpcbind.service \ + systemd/rpcbind.socket endif rpcinfo_SOURCES = src/rpcinfo.c diff --git a/configure.ac b/configure.ac index af4b74b..f84921e 100644 --- a/configure.ac +++ b/configure.ac @@ -61,4 +61,9 @@ AC_SEARCH_LIBS([pthread_create], [pthread]) AC_CHECK_HEADERS([nss.h rpcsvc/mount.h]) -AC_OUTPUT([Makefile]) +# make sbindir available for substitution in config file +# 2 "evals" needed to expand variable names +AC_SUBST([_sbindir]) +AC_CONFIG_COMMANDS_PRE([eval eval _sbindir=$sbindir]) + +AC_OUTPUT([Makefile systemd/rpcbind.service]) diff --git a/systemd/rpcbind.service.in b/systemd/rpcbind.service.in new file mode 100644 index 0000000..c173b83 --- /dev/null +++ b/systemd/rpcbind.service.in @@ -0,0 +1,17 @@ +[Unit] +Description=RPC Bind +Documentation=man:rpcbind(8) +DefaultDependencies=no + +# Make sure we use the IP addresses listed for +# rpcbind.socket, no matter how this unit is started. +Wants=rpcbind.socket +After=rpcbind.socket + +[Service] +Type=notify +# distro can provide a drop-in adding EnvironmentFile=-/??? if needed. +ExecStart=@_sbindir@/rpcbind $RPCBIND_OPTIONS -w -f + +[Install] +WantedBy=multi-user.target diff --git a/systemd/rpcbind.socket b/systemd/rpcbind.socket new file mode 100644 index 0000000..3b1a936 --- /dev/null +++ b/systemd/rpcbind.socket @@ -0,0 +1,18 @@ +[Unit] +Description=RPCbind Server Activation Socket +DefaultDependencies=no +Wants=rpcbind.target +Before=rpcbind.target + +[Socket] +ListenStream=/run/rpcbind.sock + +# RPC netconfig can't handle ipv6/ipv4 dual sockets +BindIPv6Only=ipv6-only +ListenStream=0.0.0.0:111 +ListenDatagram=0.0.0.0:111 +ListenStream=[::]:111 +ListenDatagram=[::]:111 + +[Install] +WantedBy=sockets.target |