Split client and router config/services into separate packages

lokinet now installs just the binaries; lokinet-client and
lokinet-router install client/router configuration and services
(lokinet-client.service, lokinet-router.service), respectively.
ubuntu/groovy
Jason Rhinelander 5 years ago
parent b2ba789b5e
commit 069a784418

36
debian/control vendored

@ -10,10 +10,36 @@ Vcs-Browser: https://github.com/loki-project/lokinet-builder
Package: lokinet
Architecture: any
Pre-Depends: adduser
Depends: ${shlibs:Depends}, ${misc:Depends}, lsb-base, libcap2-bin, curl
Description: Reference implementation for LLARP.
Lokinet is a private, decentralized and Market based, Sybil
resistant overlay network for the internet.
Recommends: lokinet-client | lokinet-router
Description: Lokinet anonymous, decentralized overlay network
Lokinet private, decentralized, market-based, Sybil resistant overlay network
for the internet.
.
This package contains the lokinet binaries; most users will want to install
the lokinet-client or lokinet-router packages to run lokinet as a system
service.
Package: lokinet-client
Architecture: all
Pre-Depends: adduser
Depends: lokinet (=${binary:Version})
Recommends: resolvconf
Description: Lokinet anonymous, decentralized overlay network - client service
Lokinet private, decentralized, market-based, Sybil resistant overlay network
for the internet.
.
This package contains contains the configuration needed to run lokinet as a
system service to allow the local system to access lokinet either as an
anonymous client or as a lokinet "snapp".
Package: lokinet-router
Architecture: all
Pre-Depends: adduser
Depends: lokinet (=${binary:Version})
Description: Lokinet anonymous, decentralized overlay network - client service
Lokinet private, decentralized, market-based, Sybil resistant overlay network
for the internet.
.
This package contains the reference implementation of LLARP.
This package contains contains the configuration needed to run a lokinet
router as a system service.

@ -0,0 +1,2 @@
debian/00-lokinet.conf /etc/systemd/resolved.conf.d
debian/lokinet-resolvconf /usr/sbin

@ -0,0 +1 @@
/etc/loki/lokinet-client.ini /var/lib/lokinet/client/lokinet.ini

@ -1,16 +1,18 @@
[Unit]
Description=LokiNET: Anonymous Network layer thingydoo.
Description=LokiNET: Anonymous Network layer thingydoo, client
Wants=network-online.target
After=network-online.target
[Service]
User=_lokinet
SyslogIdentifier=lokinet
SyslogIdentifier=lokinet-client
WorkingDirectory=/var/lib/lokinet/client
RequireFileExists=/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
ExecStart=/usr/bin/lokinet /var/lib/lokinet/client/lokinet.ini
ExecStartPost=+/usr/sbin/lokinet-resolvconf add /var/lib/lokinet/client/lokinet.ini
ExecStopPost=+/usr/sbin/lokinet-resolvconf remove /var/lib/lokinet/client/lokinet.ini
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target

@ -0,0 +1,30 @@
#!/bin/sh -e
set -e
if [ "$1" = configure ]; then
mkdir -p /etc/loki
datadir=/var/lib/lokinet/client
mkdir -p $datadir
su -s /bin/sh _lokinet -c "test -O $datadir && test -G $datadir" || \
chown _lokinet:_loki $datadir
if ! [ -e /var/lib/lokinet/bootstrap.signed ]; then
/usr/bin/lokinet-bootstrap "" /var/lib/lokinet/bootstrap.signed
chown _lokinet:_loki /var/lib/lokinet/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
chmod 640 $tmpdir/lokinet.ini
chgrp _loki $tmpdir/lokinet.ini
ucf $tmpdir/lokinet.ini /etc/loki/lokinet-client.ini
ucfr lokinet /etc/loki/lokinet-client.ini
if [ -x /bin/systemctl ] && /bin/systemctl --quiet is-active systemd-resolved.service; then
/bin/systemctl restart systemd-resolved.service
fi
fi
#DEBHELPER#

@ -0,0 +1,13 @@
#!/bin/sh
set -e
if [ "$1" = purge ]; then
ucf --purge /etc/loki/lokinet-client.ini
ucfr --purge lokinet /etc/loki/lokinet-client.ini
rm -f /etc/loki/lokinet-client.ini
rm -rf /var/lib/lokinet/client
fi
#DEBHELPER#

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

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

@ -0,0 +1,26 @@
#!/bin/sh -e
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
if ! [ -e /var/lib/lokinet/bootstrap.signed ]; then
/usr/bin/lokinet-bootstrap "" /var/lib/lokinet/bootstrap.signed
chown _lokinet:_loki /var/lib/lokinet/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
chmod 640 $tmpdir/lokinet.ini
chgrp _loki $tmpdir/lokinet.ini
ucf $tmpdir/lokinet.ini /etc/loki/lokinet-router.ini
ucfr lokinet /etc/loki/lokinet-router.ini
fi
#DEBHELPER#

@ -0,0 +1,13 @@
#!/bin/sh
set -e
if [ "$1" = purge ]; then
ucf --purge /etc/loki/lokinet-router.ini
ucfr --purge lokinet /etc/loki/lokinet-router.ini
rm -f /etc/loki/lokinet-router.ini
rm -rf /var/lib/lokinet/router
fi
#DEBHELPER#

@ -1,2 +1,3 @@
debian/00-lokinet.conf /etc/systemd/resolved.conf.d
debian/lokinet-resolvconf /usr/sbin
/usr/bin/lokinet
/usr/bin/lokinet-bootstrap
/usr/bin/lokinet-rcutil

@ -1 +0,0 @@
/etc/loki/lokinet.ini /var/lib/lokinet/lokinet.ini

@ -18,11 +18,6 @@ if [ "$1" = configure ]; then
adduser --force-badname --quiet _lokinet _loki
fi
mkdir -p /etc/loki
mkdir -p /var/lib/lokinet
su -s /bin/sh _lokinet -c "test -O /var/lib/lokinet && test -G /var/lib/lokinet" || \
chown _lokinet:_loki /var/lib/lokinet
if ! dpkg-statoverride --list /usr/bin/lokinet >/dev/null 2>&1; then
dpkg-statoverride --update --add root _loki 750 /usr/bin/lokinet
fi
@ -32,23 +27,6 @@ if [ "$1" = configure ]; then
exit 1
fi
if ! [ -e /var/lib/lokinet/bootstrap.signed ]; then
/usr/bin/lokinet-bootstrap "" /var/lib/lokinet/bootstrap.signed
chown _lokinet:_loki /var/lib/lokinet/bootstrap.signed
fi
tmpdir=$(mktemp --tmpdir -d lokinet.XXXXXXXXXX)
/usr/bin/lokinet -g $tmpdir/lokinet.ini
sed -i -e "s#$tmpdir#/var/lib/lokinet#" $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
if [ -x /bin/systemctl ] && /bin/systemctl --quiet is-active systemd-resolved.service; then
/bin/systemctl restart systemd-resolved.service
fi
fi
#DEBHELPER#

13
debian/postrm vendored

@ -1,13 +0,0 @@
#!/bin/sh
set -e
if [ "$1" = purge ]; then
ucf --purge /etc/loki/lokinet.ini
ucfr --purge lokinet /etc/loki/lokinet.ini
rm -f /etc/loki/lokinet.ini
rm -rf /var/lib/lokinet
fi
#DEBHELPER#

4
debian/rules vendored

@ -40,5 +40,9 @@ override_dh_auto_configure:
$(DEB_CMAKE_ARCH_OPTIONS) \
-DUSE_AVX2=OFF
override_dh_installsystemd:
dh_installsystemd --name=lokinet-client
dh_installsystemd --name=lokinet-router
#override_dh_auto_test:
# make check

Loading…
Cancel
Save