mirror of https://github.com/oxen-io/lokinet
add initial pkgbuild jizz for archlinux so that we can help make sure it is not broken ALL the time
parent
67863cd9a4
commit
887176f0f2
@ -0,0 +1,52 @@
|
||||
# Maintainer: jeff <jeff@oxen.io>
|
||||
pkgname=lokinet-git
|
||||
pkgver=420.69.poggerinos.yoloswag.fresh.af.from.git
|
||||
pkgrel=3
|
||||
pkgdesc="Anonymous, decentralized and IP based overlay network for the internet."
|
||||
arch=('x86_64' 'aarch64')
|
||||
url="https://lokinet.org"
|
||||
license=('GPL3')
|
||||
depends=('libuv' 'libsodium' 'curl' 'unbound' 'sqlite' 'jemalloc' 'libsystemd')
|
||||
makedepends=('git' 'cmake' 'pkgconf')
|
||||
conflicts=('lokinet' 'lokinet-bin')
|
||||
source=("lokinet-git::git+https://github.com/oxen-io/lokinet")
|
||||
b2sums=('SKIP')
|
||||
|
||||
prepare() {
|
||||
cd lokinet-git
|
||||
git submodule update --init --recursive
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "lokinet-git"
|
||||
|
||||
rm -rf build && mkdir build && cd build
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_C_FLAGS="$CFLAGS" \
|
||||
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
|
||||
-DWITH_TESTS=OFF \
|
||||
-DWITH_SYSTEMD=ON \
|
||||
-DWITH_SETCAP=OFF \
|
||||
..
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "lokinet-git"
|
||||
install -D -m 644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||
cd build
|
||||
make DESTDIR="$pkgdir" install
|
||||
|
||||
install -D -m 644 "$srcdir/contrib/archlinux/lokinet.service" "$pkgdir/usr/lib/systemd/system/lokinet.service"
|
||||
install -D -m 644 "$srcdir/contrib/archlinux/lokinet-vpn.service@" "$pkgdir/usr/lib/systemd/system/lokinet-vpn.service@"
|
||||
install -D -m 644 "$srcdir/contrib/archlinux/lokinet-bootstrap.service" "$pkgdir/usr/lib/systemd/system/lokinet-bootstrap.service"
|
||||
install -D -m 644 "$srcdir/contrib/archlinux/lokinet-default-config.service" "$pkgdir/usr/lib/systemd/system/lokinet-default-config.service"
|
||||
install -D -m 644 "$srcdir/contrib/archlinux/lokinet-resume.service" "$pkgdir/usr/lib/systemd/system/lokinet-resume.service"
|
||||
install -D -m 644 "$srcdir/contrib/archlinux/lokinet.sysusers" "$pkgdir/usr/lib/sysusers.d/lokinet.conf"
|
||||
install -D -m 644 "$srcdir/contrib/archlinux/lokinet.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/lokinet.conf"
|
||||
install -D -m 644 "$srcdir/contrib/archlinux/lokinet.pkla" "$pkgdir/var/lib/polkit-1/localauthority/10-vendor.d/lokinet.pkla"
|
||||
install -D -m 750 -d "$pkgdir/usr/share/polkit-1/rules.d"
|
||||
install -D -m 644 "$srcdir/contrib/archlinux/lokinet.rules" "$pkgdir/usr/share/polkit-1/rules.d/lokinet.rules"
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=Lokinet bootstrap
|
||||
ConditionFileNotEmpty=!/var/lib/lokinet/bootstrap.signed
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
User=_lokinet
|
||||
WorkingDirectory=/var/lib/lokinet
|
||||
ExecStart=/usr/bin/lokinet-bootstrap lokinet bootstrap.signed
|
@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Lokinet default config generator
|
||||
ConditionPathExists=!/var/lib/lokinet/lokinet.ini
|
||||
Wants=local-fs.target
|
||||
After=local-fs.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
User=_lokinet
|
||||
ExecStart=/usr/bin/lokinet -g /var/lib/lokinet/lokinet.ini
|
@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Restart lokinet on resume from sleep
|
||||
After=sleep.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/systemctl restart lokinet
|
||||
|
||||
[Install]
|
||||
WantedBy=sleep.target
|
@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=Lokinet VPN tunnel: shove all traffic over lokinet
|
||||
Requires=lokinet.service
|
||||
After=lokinet.service
|
||||
|
||||
[Service]
|
||||
User=_lokinet
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/lokinet-vpn --up --exit %i
|
||||
ExecStop=/usr/bin/lokinet-vpn --down
|
||||
RemainAfterExit=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -0,0 +1,31 @@
|
||||
[Unit]
|
||||
Description=Lokinet: Anonymous Network layer thingydoo
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
Wants=lokinet-bootstrap.service
|
||||
After=lokinet-bootstrap.service
|
||||
Wants=lokinet-default-config.service
|
||||
After=lokinet-default-config.service
|
||||
|
||||
[Service]
|
||||
Type=notify
|
||||
WatchdogSec=30s
|
||||
User=lokinet
|
||||
SyslogIdentifier=lokinet
|
||||
WorkingDirectory=/var/lib/lokinet
|
||||
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||
ExecStart=/usr/bin/lokinet /var/lib/lokinet/lokinet.ini
|
||||
Restart=always
|
||||
RestartSec=5s
|
||||
|
||||
# Hardening
|
||||
PrivateTmp=yes
|
||||
ProtectHome=yes
|
||||
ProtectSystem=strict
|
||||
ProtectHostname=yes
|
||||
ProtectKernelLogs=yes
|
||||
ReadWritePaths=/var/lib/lokinet
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -0,0 +1 @@
|
||||
u _lokinet - "Lokinet daemon user" /var/lib/lokinet
|
@ -0,0 +1 @@
|
||||
d /var/lib/lokinet 0700 lokinet lokinet - -
|
Loading…
Reference in New Issue