Add systemd unit file
Refs: #4594 Change-Id: I415bafa14902e9d43be4891f66349192e12b9166
This commit is contained in:
1 parent
82a34c2cd8
commit
0da3eab4da
2 files changed
+66
-5
No files matched your search
@@ -0,0 +1,57 @@
|
||||
# Copyright (c) 2014-2019, The University of Memphis,
|
||||
# Regents of the University of California,
|
||||
# Arizona Board of Regents.
|
||||
#
|
||||
# This file is part of NLSR (Named-data Link State Routing).
|
||||
# See AUTHORS.md for complete list of NLSR authors and contributors.
|
||||
#
|
||||
# NLSR is free software: you can redistribute it and/or modify it under the terms
|
||||
# of the GNU General Public License as published by the Free Software Foundation,
|
||||
# either version 3 of the License, or (at your option) any later version.
|
||||
#
|
||||
# NLSR is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# NLSR, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Author: Eric Newberry <enewberry@email.arizona.edu>
|
||||
# Author: Davide Pesavento <davidepesa@gmail.com>
|
||||
|
||||
[Unit]
|
||||
Description=NDN Link State Routing Daemon
|
||||
Documentation=man:nlsr(1)
|
||||
BindsTo=nfd.service
|
||||
After=nfd.service
|
||||
|
||||
[Service]
|
||||
Environment=HOME=%S/ndn/nlsr
|
||||
ExecStart=@BINDIR@/nlsr -f @SYSCONFDIR@/ndn/nlsr.conf
|
||||
Restart=on-failure
|
||||
RestartPreventExitStatus=2
|
||||
User=nlsr
|
||||
|
||||
LockPersonality=yes
|
||||
MemoryDenyWriteExecute=yes
|
||||
NoNewPrivileges=yes
|
||||
PrivateDevices=yes
|
||||
PrivateTmp=yes
|
||||
PrivateUsers=yes
|
||||
ProtectControlGroups=yes
|
||||
ProtectHome=yes
|
||||
ProtectKernelModules=yes
|
||||
ProtectKernelTunables=yes
|
||||
ProtectSystem=strict
|
||||
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
|
||||
RestrictNamespaces=yes
|
||||
RestrictRealtime=yes
|
||||
# "nlsr" is the state-dir, "ndn/nlsr" is the HOME
|
||||
StateDirectory=nlsr ndn/nlsr
|
||||
SystemCallArchitectures=native
|
||||
SystemCallErrorNumber=EPERM
|
||||
SystemCallFilter=~@clock @cpu-emulation @debug @module @mount @obsolete @privileged @raw-io @reboot @setuid @swap
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=nfd.service
|
||||
@@ -73,8 +73,6 @@ def configure(conf):
|
||||
|
||||
conf.load('sanitizers')
|
||||
|
||||
conf.define('DEFAULT_CONFIG_FILE', '%s/ndn/nlsr.conf' % conf.env['SYSCONFDIR'])
|
||||
|
||||
conf.write_config_header('config.hpp')
|
||||
|
||||
def build(bld):
|
||||
@@ -113,17 +111,23 @@ def build(bld):
|
||||
source='tools/nlsrc.cpp',
|
||||
use='nlsr-objects')
|
||||
|
||||
bld.install_as('${SYSCONFDIR}/ndn/nlsr.conf.sample', 'nlsr.conf')
|
||||
|
||||
if bld.env.WITH_TESTS:
|
||||
bld.recurse('tests')
|
||||
|
||||
bld.install_as('${SYSCONFDIR}/ndn/nlsr.conf.sample', 'nlsr.conf')
|
||||
|
||||
if Utils.unversioned_sys_platform() == 'linux':
|
||||
bld(features='subst',
|
||||
name='nlsr.service',
|
||||
source='systemd/nlsr.service.in',
|
||||
target='systemd/nlsr.service')
|
||||
|
||||
if bld.env.SPHINX_BUILD:
|
||||
bld(features='sphinx',
|
||||
name='manpages',
|
||||
builder='man',
|
||||
outdir='docs/manpages',
|
||||
config='docs/conf.py',
|
||||
outdir='docs/manpages',
|
||||
source=bld.path.ant_glob('docs/manpages/**/*.rst'),
|
||||
install_path='${MANDIR}',
|
||||
VERSION=VERSION)
|
||||
|
||||
Reference in new issue
Block a user