aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrumeet <17158086+Trumeet@users.noreply.github.com>2021-01-07 20:20:31 -0800
committerTrumeet <17158086+Trumeet@users.noreply.github.com>2021-01-07 20:20:31 -0800
commitfee58e730782300c9b75d35e2ff25409c0d8a104 (patch)
tree0a2f042c8a06c4157363f7308982145d2a2131c5
parenta5ed3da568f7542daa5e49ca0c1505f8c27d658c (diff)
downloaddn42peering-fee58e730782300c9b75d35e2ff25409c0d8a104.tar
dn42peering-fee58e730782300c9b75d35e2ff25409c0d8a104.tar.gz
dn42peering-fee58e730782300c9b75d35e2ff25409c0d8a104.tar.bz2
dn42peering-fee58e730782300c9b75d35e2ff25409c0d8a104.zip
build: add PKGBUILD for Agent distribution
-rw-r--r--.gitignore6
-rw-r--r--PKGBUILD44
-rw-r--r--agent.json3
-rw-r--r--agent.service10
4 files changed, 63 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index c2c5c1f..a4d3abb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,9 @@
+# Agent packaging
+/pkg/
+/src/
+/*.zst
+
+# Gradle
.gradle
**/build/
!src/**/build/
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 0000000..42ea062
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,44 @@
+# dn42peering Agent
+
+# Maintainer: YuutaW <i@yuuta.moe>
+pkgname=agent
+pkgver=r1.a5ed3da
+pkgrel=1
+pkgdesc="dn42peering Agent"
+arch=(any)
+url="https://github.com/Trumeet/dn42peering"
+license=('custom')
+groups=()
+depends=("systemd" "wireguard-tools" "bird")
+makedepends=('java-environment>=8')
+backup=("etc/dn42peering/agent.json")
+options=()
+source=("agent.json"
+"agent.service")
+noextract=()
+md5sums=('e832e2216ebf4fc3b10bf5429c41c131'
+ 'afa1643528d4d2b65785714d32cba97f')
+
+pkgver() {
+ cd "$srcdir/.."
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+build() {
+ cd "$srcdir/.."
+ ./gradlew :agent:installDist
+ sed -i 's/`pwd -P`/\/usr\/share\/java\/agent\//g' agent/build/install/agent/bin/agent
+ sed -i 's/$APP_HOME\/lib/$APP_HOME/g' agent/build/install/agent/bin/agent
+}
+
+package() {
+ cd "$srcdir/.."
+ mkdir -p "$pkgdir/etc/dn42peering/"
+ install -Dm644 $srcdir/agent.json "$pkgdir/etc/dn42peering/"
+ mkdir -p "$pkgdir/usr/lib/systemd/system/"
+ install -Dm644 $srcdir/agent.service "$pkgdir/usr/lib/systemd/system/"
+ mkdir -p "$pkgdir/usr/share/java/agent/"
+ cp -r agent/build/install/agent/lib/* "$pkgdir/usr/share/java/agent/"
+ mkdir -p "$pkgdir/usr/bin/"
+ cp -r agent/build/install/agent/bin/agent "$pkgdir/usr/bin/"
+}
diff --git a/agent.json b/agent.json
new file mode 100644
index 0000000..bb25965
--- /dev/null
+++ b/agent.json
@@ -0,0 +1,3 @@
+{
+ "internal_ip": "0.0.0.0"
+}
diff --git a/agent.service b/agent.service
new file mode 100644
index 0000000..1ed3231
--- /dev/null
+++ b/agent.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=dn42peering Agent
+After=network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/agent /etc/dn42peering/agent.json
+
+[Install]
+WantedBy=multi-user.target