add initial pkgbuild jizz for archlinux so that we can help make sure it is not broken ALL the time

makepkg
Jeff Becker 3 years ago committed by Jeff Becker
parent 67863cd9a4
commit 887176f0f2
No known key found for this signature in database
GPG Key ID: 025C02EE3A092F2D

@ -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…
Cancel
Save