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.load('sanitizers')
|
||||||
|
|
||||||
conf.define('DEFAULT_CONFIG_FILE', '%s/ndn/nlsr.conf' % conf.env['SYSCONFDIR'])
|
|
||||||
|
|
||||||
conf.write_config_header('config.hpp')
|
conf.write_config_header('config.hpp')
|
||||||
|
|
||||||
def build(bld):
|
def build(bld):
|
||||||
@@ -113,17 +111,23 @@ def build(bld):
|
|||||||
source='tools/nlsrc.cpp',
|
source='tools/nlsrc.cpp',
|
||||||
use='nlsr-objects')
|
use='nlsr-objects')
|
||||||
|
|
||||||
bld.install_as('${SYSCONFDIR}/ndn/nlsr.conf.sample', 'nlsr.conf')
|
|
||||||
|
|
||||||
if bld.env.WITH_TESTS:
|
if bld.env.WITH_TESTS:
|
||||||
bld.recurse('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:
|
if bld.env.SPHINX_BUILD:
|
||||||
bld(features='sphinx',
|
bld(features='sphinx',
|
||||||
name='manpages',
|
name='manpages',
|
||||||
builder='man',
|
builder='man',
|
||||||
outdir='docs/manpages',
|
|
||||||
config='docs/conf.py',
|
config='docs/conf.py',
|
||||||
|
outdir='docs/manpages',
|
||||||
source=bld.path.ant_glob('docs/manpages/**/*.rst'),
|
source=bld.path.ant_glob('docs/manpages/**/*.rst'),
|
||||||
install_path='${MANDIR}',
|
install_path='${MANDIR}',
|
||||||
VERSION=VERSION)
|
VERSION=VERSION)
|
||||||
|
|||||||
Reference in new issue
Block a user