Add systemd unit file

Refs: #4594
Change-Id: I415bafa14902e9d43be4891f66349192e12b9166
This commit is contained in:
Davide Pesavento authored and Saurab Dulal committed 2019-02-22 13:50:37 -06:00
1 parent 82a34c2cd8
commit 0da3eab4da
2 files changed
+66 -5

No files matched your search

+57
View File
@@ -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
+9 -5
View File
@@ -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)