deb: add separate mainnet/testnet systemd services

ubuntu/groovy
Jason Rhinelander 4 years ago
parent 4947bc4c24
commit 6b950e9662

@ -1 +1,2 @@
/etc/loki/lokinet-router.ini /var/lib/lokinet/router/lokinet.ini
/etc/loki/lokinet-testnet-router.ini /var/lib/lokinet/testnet-router/lokinet.ini

@ -9,6 +9,7 @@ SyslogIdentifier=lokinet-router
WorkingDirectory=/var/lib/lokinet/router
AssertFileNotEmpty=/var/lib/lokinet/bootstrap.signed
ExecStart=/usr/bin/lokinet /var/lib/lokinet/router/lokinet.ini
Environment=LOKINET_NETID=lokinet
Restart=always
RestartSec=5s

@ -0,0 +1,17 @@
[Unit]
Description=LokiNET: Anonymous Network layer thingydoo, router (testnet)
Wants=network-online.target
After=network-online.target
[Service]
User=_lokinet
SyslogIdentifier=lokinet-router
WorkingDirectory=/var/lib/lokinet/testnet-router
AssertFileNotEmpty=/var/lib/lokinet/testnet/bootstrap.signed
ExecStart=/usr/bin/lokinet /var/lib/lokinet/testnet-router/lokinet.ini
Environment=LOKINET_NETID=gamma
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target

@ -5,15 +5,23 @@ set -e
if [ "$1" = configure ]; then
mkdir -p /etc/loki
datadir=/var/lib/lokinet/router
mkdir -p $datadir
su -s /bin/sh _lokinet -c "test -O $datadir && test -G $datadir" || \
chown _lokinet:_loki $datadir
tn_datadir=/var/lib/lokinet/testnet-router
mkdir -p $datadir $tn_datadir /var/lib/lokinet/testnet
for d in $datadir $tn_datadir /var/lib/lokinet/testnet; do
su -s /bin/sh _lokinet -c "test -O $d && test -G $d" || \
chown _lokinet:_loki $d
done
if ! [ -e /var/lib/lokinet/bootstrap.signed ]; then
/usr/bin/lokinet-bootstrap "" /var/lib/lokinet/bootstrap.signed
/usr/bin/lokinet-bootstrap lokinet /var/lib/lokinet/bootstrap.signed
chown _lokinet:_loki /var/lib/lokinet/bootstrap.signed
fi
if ! [ -e /var/lib/lokinet/testnet/bootstrap.signed ]; then
/usr/bin/lokinet-bootstrap testnet /var/lib/lokinet/testnet/bootstrap.signed
chown _lokinet:_loki /var/lib/lokinet/testnet/bootstrap.signed
fi
tmpdir=$(mktemp --tmpdir -d lokinet.XXXXXXXXXX)
/usr/bin/lokinet -r $tmpdir/lokinet.ini
sed -i -e "s#$tmpdir#$datadir#; s#$datadir/bootstrap.signed#/var/lib/lokinet/bootstrap.signed#" $tmpdir/lokinet.ini
@ -21,6 +29,14 @@ if [ "$1" = configure ]; then
chgrp _loki $tmpdir/lokinet.ini
ucf $tmpdir/lokinet.ini /etc/loki/lokinet-router.ini
ucfr lokinet /etc/loki/lokinet-router.ini
tmpdir=$(mktemp --tmpdir -d lokinet.XXXXXXXXXX)
/usr/bin/lokinet -r $tmpdir/lokinet.ini
sed -i -e "s#$tmpdir#$tn_datadir#" $tmpdir/lokinet.ini
chmod 640 $tmpdir/lokinet.ini
chgrp _loki $tmpdir/lokinet.ini
ucf $tmpdir/lokinet.ini /etc/loki/lokinet-testnet-router.ini
ucfr lokinet /etc/loki/lokinet-testnet-router.ini
fi
#DEBHELPER#

@ -0,0 +1,19 @@
[Unit]
Description=LokiNET: Anonymous Network layer thingydoo, client
Wants=network-online.target
After=network-online.target
[Service]
User=_lokinet
SyslogIdentifier=lokinet
WorkingDirectory=/var/lib/lokinet
AssertFileNotEmpty=/var/lib/lokinet/bootstrap.signed
ExecStart=/usr/bin/lokinet /var/lib/lokinet/lokinet.ini
ExecStartPost=+/usr/sbin/lokinet-resolvconf add /var/lib/lokinet/lokinet.ini
ExecStopPost=+/usr/sbin/lokinet-resolvconf remove /var/lib/lokinet/lokinet.ini
Environment=LOKINET_NETID=gamma
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target

@ -11,6 +11,7 @@ AssertFileNotEmpty=/var/lib/lokinet/bootstrap.signed
ExecStart=/usr/bin/lokinet /var/lib/lokinet/lokinet.ini
ExecStartPost=+/usr/sbin/lokinet-resolvconf add /var/lib/lokinet/lokinet.ini
ExecStopPost=+/usr/sbin/lokinet-resolvconf remove /var/lib/lokinet/lokinet.ini
Environment=LOKINET_NETID=lokinet
Restart=always
RestartSec=5s

@ -5,23 +5,39 @@ set -e
if [ "$1" = configure ]; then
mkdir -p /etc/loki
datadir=/var/lib/lokinet
mkdir -p $datadir
tn_datadir=/var/lib/lokinet/testnet
mkdir -p $datadir $tn_datadir
su -s /bin/sh _lokinet -c "test -O $datadir && test -G $datadir" || \
chown _lokinet:_loki $datadir
su -s /bin/sh _lokinet -c "test -O $tn_datadir && test -G $tn_datadir" || \
chown _lokinet:_loki $tn_datadir
if ! [ -e /var/lib/lokinet/bootstrap.signed ]; then
/usr/bin/lokinet-bootstrap "" /var/lib/lokinet/bootstrap.signed
/usr/bin/lokinet-bootstrap lokinet /var/lib/lokinet/bootstrap.signed
chown _lokinet:_loki /var/lib/lokinet/bootstrap.signed
fi
if ! [ -e /var/lib/lokinet/testnet/bootstrap.signed ]; then
/usr/bin/lokinet-bootstrap testnet /var/lib/lokinet/testnet/bootstrap.signed
chown _lokinet:_loki /var/lib/lokinet/testnet/bootstrap.signed
fi
tmpdir=$(mktemp --tmpdir -d lokinet.XXXXXXXXXX)
/usr/bin/lokinet -g $tmpdir/lokinet.ini
sed -i -e "s#$tmpdir#$datadir#; s#$datadir/bootstrap.signed#/var/lib/lokinet/bootstrap.signed#" $tmpdir/lokinet.ini
sed -i -e "s#$tmpdir#$datadir#" $tmpdir/lokinet.ini
chmod 640 $tmpdir/lokinet.ini
chgrp _loki $tmpdir/lokinet.ini
ucf $tmpdir/lokinet.ini /etc/loki/lokinet.ini
ucfr lokinet /etc/loki/lokinet.ini
tmpdir=$(mktemp --tmpdir -d lokinet.XXXXXXXXXX)
/usr/bin/lokinet -g $tmpdir/lokinet.ini
sed -i -e "s#$tmpdir#$tn_datadir#" $tmpdir/lokinet.ini
chmod 640 $tmpdir/lokinet.ini
chgrp _loki $tmpdir/lokinet.ini
ucf $tmpdir/lokinet.ini /etc/loki/lokinet-testnet.ini
ucfr lokinet /etc/loki/lokinet-testnet.ini
if [ -x /bin/systemctl ] && /bin/systemctl --quiet is-active systemd-resolved.service; then
/bin/systemctl restart systemd-resolved.service
fi

2
debian/rules vendored

@ -43,6 +43,8 @@ override_dh_auto_configure:
override_dh_installsystemd:
dh_installsystemd --name=lokinet
dh_installsystemd --name=lokinet-router
dh_installsystemd --name=lokinet-testnet --no-enable --no-start
dh_installsystemd --name=lokinet-testnet-router --no-enable --no-start
#override_dh_auto_test:
# make check

Loading…
Cancel
Save