summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Rawlinson2021-05-16 10:06:33 +0000
committerGeorge Rawlinson2021-05-16 10:06:33 +0000
commite2961549d4e954d3e8cd4c2766042e68feaf37fb (patch)
treedff92875f5763fb91ba57637f8118bacdedb245b
downloadaur-e2961549d4e954d3e8cd4c2766042e68feaf37fb.tar.gz
addpkg: homebridge-config-ui-x: 4.41.1-1
-rw-r--r--.SRCINFO29
-rw-r--r--PKGBUILD70
-rw-r--r--environment.conf7
-rw-r--r--systemd.service22
-rw-r--r--sysusers.conf1
-rw-r--r--tmpfiles.conf1
6 files changed, 130 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..0ec5cb2b74fe
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,29 @@
+pkgbase = homebridge-config-ui-x
+ pkgdesc = Web-based management tool for Homebridge
+ pkgver = 4.41.1
+ pkgrel = 1
+ url = https://github.com/oznu/homebridge-config-ui-x
+ arch = any
+ license = Apache
+ makedepends = git
+ makedepends = npm
+ makedepends = python
+ makedepends = node-gyp
+ depends = nodejs
+ depends = avahi
+ depends = homebridge
+ options = !emptydirs
+ options = !strip
+ source = homebridge-config-ui-x-4.41.1.tar.gz::https://github.com/oznu/homebridge-config-ui-x/archive/4.41.1.tar.gz
+ source = systemd.service
+ source = environment.conf
+ source = tmpfiles.conf
+ source = sysusers.conf
+ b2sums = 30e27e383e08af0fa1c6525531143280c0c54e081378001abde17bcf038874c7c6a2654b2c37b82fbe85cb75ccdd6ed42890eaef0c940ac4547aec8c75348e25
+ b2sums = 4cba429db47cc84567b08bbeb5a7e3238870df66cfbca241ece4b98354c4af0180688e3de6528b1fcc0cf6f3e19a645c08bf6457ee5c69d3f1609102363b2039
+ b2sums = 178bf94ccaac2dbcbb908c98e724da60656766eb6058583e644ea6cd7014f928cb5ad018ebc37c17429ad0a3daf09d3903b51c0da3a40282163a3ff4fa78e5a0
+ b2sums = c60e965907e85b4a6dac12b60419b5446085794bdbdba0221c41e7557ff520c3688ff79b1219e17ac982d585f2cf616140717b44f8ad2a5e5a72fd360617be65
+ b2sums = 87e6a3ddcd70bd926d17ec33b007dea4108b7386714404a12647508766189c7bf863ab47515396d2ea149da791053beacb6854fa0b57fc409c09cc6aeaffd7e5
+
+pkgname = homebridge-config-ui-x
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..009104e13fab
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,70 @@
+# Maintainer: George Rawlinson <george@rawlinson.net.nz>
+
+pkgname=homebridge-config-ui-x
+pkgver=4.41.1
+pkgrel=1
+pkgdesc="Web-based management tool for Homebridge"
+arch=('any')
+url="https://github.com/oznu/homebridge-config-ui-x"
+license=('Apache')
+depends=('nodejs' 'avahi' 'homebridge')
+makedepends=(
+ 'git'
+ 'npm'
+ 'python'
+ 'node-gyp'
+)
+options=('!emptydirs' '!strip')
+source=(
+ "$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz"
+ 'systemd.service'
+ 'environment.conf'
+ 'tmpfiles.conf'
+ 'sysusers.conf'
+)
+b2sums=('30e27e383e08af0fa1c6525531143280c0c54e081378001abde17bcf038874c7c6a2654b2c37b82fbe85cb75ccdd6ed42890eaef0c940ac4547aec8c75348e25'
+ '4cba429db47cc84567b08bbeb5a7e3238870df66cfbca241ece4b98354c4af0180688e3de6528b1fcc0cf6f3e19a645c08bf6457ee5c69d3f1609102363b2039'
+ '178bf94ccaac2dbcbb908c98e724da60656766eb6058583e644ea6cd7014f928cb5ad018ebc37c17429ad0a3daf09d3903b51c0da3a40282163a3ff4fa78e5a0'
+ 'c60e965907e85b4a6dac12b60419b5446085794bdbdba0221c41e7557ff520c3688ff79b1219e17ac982d585f2cf616140717b44f8ad2a5e5a72fd360617be65'
+ '87e6a3ddcd70bd926d17ec33b007dea4108b7386714404a12647508766189c7bf863ab47515396d2ea149da791053beacb6854fa0b57fc409c09cc6aeaffd7e5')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ # install dependencies
+ npm install
+
+ # install subproject dependencies
+ cd ui
+ npm install
+
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # generate dist dir
+ npm run build
+
+ # generate tarball
+ npm pack
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ npm install --global --prefix "$pkgdir/usr" "$srcdir/$pkgname-$pkgver/$pkgname-$pkgver.tgz"
+
+ # Non-deterministic race in npm gives 777 permissions to random directories.
+ # See https://github.com/npm/cli/issues/1103 for details.
+ find "$pkgdir/usr" -type d -exec chmod 755 {} +
+
+ # npm gives ownership of ALL FILES to build user
+ # https://bugs.archlinux.org/task/63396
+ chown -R root:root "$pkgdir"
+
+ # license
+ install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" "$pkgdir/usr/lib/node_modules/$pkgname/LICENSE"
+
+ # systemd integration
+ install -vDm644 "$srcdir/sysusers.conf" "$pkgdir/usr/lib/sysusers.d/homebridge.conf"
+ install -vDm644 "$srcdir/tmpfiles.conf" "$pkgdir/usr/lib/tmpfiles.d/homebridge.conf"
+ install -vDm644 "$srcdir/systemd.service" "$pkgdir/usr/lib/systemd/system/homebridge.service"
+ install -vDm644 "$srcdir/environment.conf" "$pkgdir/etc/conf.d/homebridge"
+}
diff --git a/environment.conf b/environment.conf
new file mode 100644
index 000000000000..5dbeaa104ba8
--- /dev/null
+++ b/environment.conf
@@ -0,0 +1,7 @@
+HOMEBRIDGE_OPTS="-I -U /var/lib/homebridge"
+UIX_STORAGE_PATH="/var/lib/homebridge"
+
+# To enable web terminals via homebridge-config-ui-x uncomment the following line
+# HOMEBRIDGE_CONFIG_UI_TERMINAL=1
+
+DISABLE_OPENCOLLECTIVE=true
diff --git a/systemd.service b/systemd.service
new file mode 100644
index 000000000000..fa825398b043
--- /dev/null
+++ b/systemd.service
@@ -0,0 +1,22 @@
+[Unit]
+Description=Homebridge
+Wants=network-online.target
+After=syslog.target network-online.target
+
+[Service]
+Type=simple
+User=homebridge
+Group=homebridge
+PermissionsStartOnly=true
+WorkingDirectory=/var/lib/homebridge
+EnvironmentFile=/etc/conf.d/homebridge
+ExecStart=/usr/bin/hb-service run $HOMEBRIDGE_OPTS
+Restart=always
+RestartSec=3
+KillMode=process
+CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_CHOWN CAP_FOWNER CAP_DAC_OVERRIDE CAP_AUDIT_WRITE CAP_SYS_ADMIN
+AmbientCapabilities=CAP_NET_RAW CAP_NET_BIND_SERVICE
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/sysusers.conf b/sysusers.conf
new file mode 100644
index 000000000000..0f2ee824a755
--- /dev/null
+++ b/sysusers.conf
@@ -0,0 +1 @@
+u homebridge - "Homebridge user" /var/lib/homebridge /bin/bash
diff --git a/tmpfiles.conf b/tmpfiles.conf
new file mode 100644
index 000000000000..30525ded6e24
--- /dev/null
+++ b/tmpfiles.conf
@@ -0,0 +1 @@
+d /var/lib/homebridge - homebridge homebridge