summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO12
-rw-r--r--LICENSE3
-rw-r--r--PKGBUILD63
-rw-r--r--mongod2
-rw-r--r--unifi.install16
-rw-r--r--unifi.service7
-rw-r--r--unifi.sysusers1
-rw-r--r--unifi.tmpfiles5
8 files changed, 78 insertions, 31 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 52c64b89e063..4a9506052198 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -3,7 +3,6 @@ pkgbase = unifi-beta
pkgver = 5.8.19
pkgrel = 1
url = http://www.ubnt.com/
- install = unifi.install
arch = any
license = custom
depends = mongodb
@@ -12,11 +11,18 @@ pkgbase = unifi-beta
conflicts = unifi
conflicts = unifi-controller-beta
replaces = unifi-controller-beta
- backup = opt/unifi/data/system.properties
source = unifi-beta-5.8.19.zip::https://www.ubnt.com/downloads/unifi/5.8.19-d022de2bbd/UniFi.unix.zip
+ source = mongod
source = unifi.service
+ source = unifi.sysusers
+ source = unifi.tmpfiles
+ source = LICENSE
sha512sums = 51bc965d49b0dd000a57d2266e28178fa11bef52ddbe6f701074dfa7b407a5d9fc2a09ac5206e0514627d60a802428ec54a133109e811a4ee67125d213ed84c1
- sha512sums = eb6625d99634dee0298a961aaead6e3c504f2bf1c502ff071c52e46e8c0817e169ff2020d2e7bda9bac0f170c5214ec6939b14c16c6c6ce8da75ac6930ca2a47
+ sha512sums = ea729c0053bf82e5561ce5f4fb7dba90cbe1b84631f5c257371883090ae5ccc58bd212cb93c9df51e687cdb2b5cdfa8c9e5bfc22bc7d58dc23c9c4dce3a686b8
+ sha512sums = 4b77e480dac9acef58e2d8f088491aa056a55edc9ca613c1b707d53ca802579513082e7c16f5a59689813609b97c2391253c99d77709be4a536abb683e5106ed
+ sha512sums = 29472fa25c24ef2197eda673b8661f14705bb472f6a52c06fb7915357446443016d35f2257d30aa9f9fce97293e7b7629d331ff1c17fd62cf3398f5c58e2c32b
+ sha512sums = d8d08d50dc0a2cd4c23cf32f716bad94a35a1e995361471e4b4c583845411e42b1896e65fe42e9d05389c4e5611b45ae1b3037655067e7e9735ead4393cfeeb1
+ sha512sums = 22e0a4d5be7645e7f1dd760a1b93fa5a49a7e92ce6f23f2a7d0f72043cd0be057bd3faecabd1d3048ecf93480b47d278926b99b5abc17ecbe91a5b15763f0a9c
pkgname = unifi-beta
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 000000000000..b22b6794fbb8
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,3 @@
+Ubiquiti Networks - All Rights Reserved.
+Permission granted to Archlinux to re-package.
+https://mailman.archlinux.org/mailman/private/arch-dev/2014-August/015690.html
diff --git a/PKGBUILD b/PKGBUILD
index 668e95a6914f..0fc043f4ceb3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -13,17 +13,62 @@ depends=('mongodb' 'java-runtime')
provides=('unifi')
conflicts=('unifi' 'unifi-controller-beta')
replaces=('unifi-controller-beta')
-backup=('opt/unifi/data/system.properties')
-install=unifi.install
source=(${pkgname}-${pkgver}.zip::https://www.ubnt.com/downloads/unifi/${pkgver}-${_pkgver}/UniFi.unix.zip
- unifi.service)
+ mongod
+ unifi.service
+ unifi.sysusers
+ unifi.tmpfiles
+ LICENSE)
sha512sums=('51bc965d49b0dd000a57d2266e28178fa11bef52ddbe6f701074dfa7b407a5d9fc2a09ac5206e0514627d60a802428ec54a133109e811a4ee67125d213ed84c1'
- 'eb6625d99634dee0298a961aaead6e3c504f2bf1c502ff071c52e46e8c0817e169ff2020d2e7bda9bac0f170c5214ec6939b14c16c6c6ce8da75ac6930ca2a47')
+ 'ea729c0053bf82e5561ce5f4fb7dba90cbe1b84631f5c257371883090ae5ccc58bd212cb93c9df51e687cdb2b5cdfa8c9e5bfc22bc7d58dc23c9c4dce3a686b8'
+ '4b77e480dac9acef58e2d8f088491aa056a55edc9ca613c1b707d53ca802579513082e7c16f5a59689813609b97c2391253c99d77709be4a536abb683e5106ed'
+ '29472fa25c24ef2197eda673b8661f14705bb472f6a52c06fb7915357446443016d35f2257d30aa9f9fce97293e7b7629d331ff1c17fd62cf3398f5c58e2c32b'
+ 'd8d08d50dc0a2cd4c23cf32f716bad94a35a1e995361471e4b4c583845411e42b1896e65fe42e9d05389c4e5611b45ae1b3037655067e7e9735ead4393cfeeb1'
+ '22e0a4d5be7645e7f1dd760a1b93fa5a49a7e92ce6f23f2a7d0f72043cd0be057bd3faecabd1d3048ecf93480b47d278926b99b5abc17ecbe91a5b15763f0a9c')
package() {
- install -d "${pkgdir}/opt"
- cp -ar UniFi "${pkgdir}/opt/unifi"
- chown -R 113:113 "${pkgdir}/opt/unifi"
- rm "${pkgdir}/opt/unifi/readme.txt"
- install -D -m 644 unifi.service "${pkgdir}/usr/lib/systemd/system/unifi.service"
+ # lib
+ install -dm755 "${pkgdir}"/usr/lib/unifi
+ cp -r UniFi/{bin,dl,lib,webapps} "${pkgdir}"/usr/lib/unifi
+ rm -r "${pkgdir}"/usr/lib/unifi/lib/native/{Mac,Windows}
+ case ${CARCH} in
+ armv7h)
+ rm -r "${pkgdir}"/usr/lib/unifi/lib/native/Linux/{aarch64,x86_64}
+ ;;
+ x86_64)
+ rm -r "${pkgdir}"/usr/lib/unifi/lib/native/Linux/{aarch64,armv7}
+ ;;
+ aarch64)
+ rm -r "${pkgdir}"/usr/lib/unifi/lib/native/Linux/{x86_64,armv7}
+ ;;
+ *)
+ rm -r "${pkgdir}"/usr/lib/unifi/lib/native/Linux
+ ;;
+ esac
+
+ # fix incompatibility with mongodb >= 3.6
+ rm "${pkgdir}"/usr/lib/unifi/bin/mongod
+ install -Dm755 "${srcdir}"/mongod "${pkgdir}"/usr/lib/unifi/bin/mongod
+
+ # data
+ install -dm750 "${pkgdir}"/var/lib/unifi
+ for _d in {data,run,work}; do
+ install -dm750 "${pkgdir}"/var/lib/unifi/${_d}
+ ln -s ../../../var/lib/unifi/${_d} "${pkgdir}"/usr/lib/unifi/${_d}
+ done
+
+ # log
+ install -dm750 "${pkgdir}"/var/log/unifi
+ ln -s ../../../var/log/unifi "${pkgdir}"/usr/lib/unifi/logs
+
+ # readme
+ install -Dm644 UniFi/readme.txt "${pkgdir}"/usr/share/doc/${pkgname}/README
+
+ # license
+ install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+
+ # systemd
+ install -Dm644 unifi.service "${pkgdir}"/usr/lib/systemd/system/unifi.service
+ install -Dm644 unifi.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/unifi.conf
+ install -Dm644 unifi.sysusers "${pkgdir}"/usr/lib/sysusers.d/unifi.conf
}
diff --git a/mongod b/mongod
new file mode 100644
index 000000000000..063cef3a1b5a
--- /dev/null
+++ b/mongod
@@ -0,0 +1,2 @@
+#!/bin/bash
+exec /usr/bin/mongod ${*//--nohttpinterface/}
diff --git a/unifi.install b/unifi.install
deleted file mode 100644
index 6e328e1a8d97..000000000000
--- a/unifi.install
+++ /dev/null
@@ -1,16 +0,0 @@
-# arg 1: the new package version
-post_install() {
- printf "==> To use the controller:\n"
- printf " sudo systemctl start unifi\n"
- printf " Open up https://localhost:8080\n"
- getent group unifi >/dev/null || groupadd -g 113 unifi
- getent passwd unifi >/dev/null || useradd -M -d /opt/unifi -u 113 -g 113 unifi
- :
-}
-
-# arg 1: the old package version
-post_remove() {
- userdel -f unifi &>/dev/null
- groupdel unifi &>/dev/null
- :
-}
diff --git a/unifi.service b/unifi.service
index 6e7c64f8008b..2b596e9ef4cc 100644
--- a/unifi.service
+++ b/unifi.service
@@ -1,11 +1,12 @@
[Unit]
-Description=UniFi Controller
+Description=Ubiquiti UniFi Server
After=network.target
[Service]
User=unifi
-ExecStart=/usr/bin/java -jar /opt/unifi/lib/ace.jar start
-ExecStop=/usr/bin/java -jar /opt/unifi/lib/ace.jar stop
+WorkingDirectory=/usr/lib/unifi
+ExecStart=/usr/bin/java -jar /usr/lib/unifi/lib/ace.jar start
+ExecStop=/usr/bin/java -jar /usr/lib/unifi/lib/ace.jar stop
[Install]
WantedBy=multi-user.target
diff --git a/unifi.sysusers b/unifi.sysusers
new file mode 100644
index 000000000000..0976bef601b3
--- /dev/null
+++ b/unifi.sysusers
@@ -0,0 +1 @@
+u unifi - "Controller for Ubiquiti UniFi AP" /var/lib/unifi
diff --git a/unifi.tmpfiles b/unifi.tmpfiles
new file mode 100644
index 000000000000..ffd05348d9a5
--- /dev/null
+++ b/unifi.tmpfiles
@@ -0,0 +1,5 @@
+d /var/lib/unifi 0750 unifi unifi
+d /var/lib/unifi/data 0750 unifi unifi
+d /var/lib/unifi/run 0750 unifi unifi
+d /var/lib/unifi/work 0750 unifi unifi
+d /var/log/unifi 0750 unifi unifi