summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorfuero2019-06-21 17:10:23 +0200
committerfuero2019-06-21 17:10:23 +0200
commit369dad8310febfbab4bbba02c8b03ca846e8be60 (patch)
treed37bcd516d328a4cd93f2aa0ebd76bcfcc031c09
downloadaur-369dad8310febfbab4bbba02c8b03ca846e8be60.tar.gz
initial commit
-rw-r--r--.SRCINFO33
-rw-r--r--.gitignore4
-rw-r--r--PKGBUILD66
-rw-r--r--wirehub.default1
-rw-r--r--wirehub.install10
-rw-r--r--wirehub@.service23
6 files changed, 137 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..43464bcb5f3a
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,33 @@
+pkgbase = wirehub
+ pkgdesc = Decentralized, peer-to-peer and secure overlay networks
+ pkgver = 0.0.20190129
+ pkgrel = 1
+ url = https://github.com/Gawen/WireHub
+ install = wirehub.install
+ arch = x86_64
+ license = GPL
+ makedepends = lua
+ makedepends = libsodium
+ makedepends = libpcap
+ makedepends = miniupnpc
+ depends = glibc
+ depends = wireguard-tools
+ depends = lua
+ depends = libsodium
+ depends = libpcap
+ depends = miniupnpc
+ backup = etc/wirehub/config
+ backup = etc/default/wirehub
+ source = https://github.com/Gawen/WireHub/archive/0.0.20190129.tar.gz
+ source = https://git.zx2c4.com/WireGuard/snapshot/WireGuard-0.0.20190406.tar.xz
+ source = wirehub@.service
+ source = wirehub.default
+ source = wirehub.install
+ sha256sums = 3132f75dff7a35a32dcdbf78e69b48f15ac9734b4562bbd31ee9e686c498b392
+ sha256sums = 2f06f3adf70b95e74a7736a22dcf6e9ef623b311a15b7d55b5474e57c3d0415b
+ sha256sums = 6d65143844f061ab17210a0930d5e2951edf6120df322aab2a35a79af494bd01
+ sha256sums = f9486f91ab46e6b6fe3c9c6280d4a0e21e1a915ba2aabdb80dc6935e247142ad
+ sha256sums = fcf0bc04f5768a79303fdee3425a658dd2993fb8f496e6d68c4038847602d6b2
+
+pkgname = wirehub
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..a0ab04ae7e5a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+*.tar.xz
+*.tar.gz
+pkg
+src
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..9976a35dd13f
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,66 @@
+# Maintainer : fuero <fuerob@gmail.com>
+
+_lua_libdir=/usr/lib/lua/5.3
+_bindir=/usr/bin
+_instdir=/opt/wh
+_wgver=0.0.20190406
+_pkgname=WireHub
+pkgname=wirehub
+pkgdesc='Decentralized, peer-to-peer and secure overlay networks '
+pkgver=0.0.20190129
+pkgrel=1
+url='https://github.com/Gawen/WireHub'
+license=('GPL')
+arch=('x86_64')
+makedepends=('lua' 'libsodium' 'libpcap' 'miniupnpc')
+depends=('glibc' 'wireguard-tools' 'lua' 'libsodium' 'libpcap' 'miniupnpc')
+install=wirehub.install
+backup=('etc/wirehub/config' 'etc/default/wirehub')
+source=(
+ "https://github.com/Gawen/WireHub/archive/${pkgver}.tar.gz"
+ "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${_wgver}.tar.xz"
+ 'wirehub@.service'
+ 'wirehub.default'
+ 'wirehub.install'
+)
+sha256sums=(
+ '3132f75dff7a35a32dcdbf78e69b48f15ac9734b4562bbd31ee9e686c498b392'
+ '2f06f3adf70b95e74a7736a22dcf6e9ef623b311a15b7d55b5474e57c3d0415b'
+ '6d65143844f061ab17210a0930d5e2951edf6120df322aab2a35a79af494bd01'
+ 'f9486f91ab46e6b6fe3c9c6280d4a0e21e1a915ba2aabdb80dc6935e247142ad'
+ 'fcf0bc04f5768a79303fdee3425a658dd2993fb8f496e6d68c4038847602d6b2'
+)
+
+prepare() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ rm -rf deps/WireGuard
+ cp -R ../WireGuard-${_wgver} deps/WireGuard
+}
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ CFLAGS="${CFLAGS} -DWH_ENABLE_MINIUPNPC -D_BSD_SOURCE -std=gnu99 -Wall -fPIC -I$(pwd)/include $(pkg-config --cflags lua)"
+ LDFLAGS="${LDFLAGS} $(pkg-config --libs lua) -lsodium -lpthread -lpcap -lminiupnpc"
+
+ make MINIMAL_CFLAGS="${DEFS} ${CFLAGS}" LDFLAGS="${LDFLAGS}"
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ mkdir -p \
+ ${pkgdir}${_instdir} \
+ ${pkgdir}${_instdir}/tools \
+ ${pkgdir}${_lua_libdir} \
+ ${pkgdir}${_bindir}
+
+ printf "#!/usr/bin/env bash\nexport LUA_PATH=/opt/wh/?.lua\nexec lua ${_instdir}/tools/cli.lua \$@\n" >> ${pkgdir}${_bindir}/wh
+ chmod 0755 ${pkgdir}${_bindir}/wh
+
+ cp src/*.lua ${pkgdir}${_instdir}
+ cp src/tools/*.lua ${pkgdir}${_instdir}/tools
+ cp .obj/*.so ${pkgdir}${_lua_libdir}
+
+ install -Dpm 0640 config/public ${pkgdir}/etc/${pkgname}/config
+ install -Dpm 0644 ${srcdir}/wirehub@.service ${pkgdir}/usr/lib/systemd/system/wirehub@.service
+ install -Dpm 0644 ${srcdir}/wirehub.default ${pkgdir}/etc/default/wirehub
+}
diff --git a/wirehub.default b/wirehub.default
new file mode 100644
index 000000000000..da97279bc443
--- /dev/null
+++ b/wirehub.default
@@ -0,0 +1 @@
+OPTS=listen-port 62096
diff --git a/wirehub.install b/wirehub.install
new file mode 100644
index 000000000000..332a315263e7
--- /dev/null
+++ b/wirehub.install
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+post_install() {
+ if ! test -f /etc/wirehub/config.sk
+ then
+ wh genkey | tee /etc/wirehub/config.sk | wh pubkey | tee /etc/wirehub/config.k
+ chmod 0600 /etc/wirehub/config.sk
+ chmod 0644 /etc/wirehub/config.k
+ fi
+}
diff --git a/wirehub@.service b/wirehub@.service
new file mode 100644
index 000000000000..b63422e278a5
--- /dev/null
+++ b/wirehub@.service
@@ -0,0 +1,23 @@
+[Unit]
+# https://unix.stackexchange.com/questions/159641/systemd-restart-service-when-ip-address-changed
+Description=Wirehub %i config
+Documentation=https://github.com/Gawen/WireHub
+Wants=network-online.target
+After=network-online.target
+ConditionPathExists=/etc/wirehub/%i
+ConditionPathExists=/etc/wirehub/%i.sk
+
+[Service]
+Type=simple
+Environment=FG=1
+EnvironmentFile=-/etc/default/wirehub
+EnvironmentFile=-/etc/default/wirehub@%i
+ExecStart=/usr/bin/wh up /etc/wirehub/%i private-key /etc/wirehub/%i.sk interface wh-%i $OPTS
+ExecStopPost=-/bin/rm -f /var/run/wirehub/wh-%i.sock
+RemainAfterExit=no
+Restart=on-failure
+RestartSec=5s
+
+[Install]
+WantedBy=multi-user.target
+