diff --git a/testing/barkery/APKBUILD b/testing/barkery/APKBUILD index 5dfce0ac60f73e3df748f1f38360f6c6194279e5..b5c1f52290033e03cadc890d4c7b6e459b926e42 100644 --- a/testing/barkery/APKBUILD +++ b/testing/barkery/APKBUILD @@ -1,25 +1,62 @@ # Maintainer: Thomas Liske <thomas@fiasko-nw.net> pkgname=barkery -pkgver=0.5.0 +pkgver=0.6.1 pkgrel=0 pkgdesc="WebKit2-based kiosk browser for digital signage" url="https://github.com/liske/barkery" arch="noarch" license="GPL-3.0-or-later" -depends="python3 - py3-gobject3 - py3-paho-mqtt - py3-setproctitle - webkit2gtk" +depends="barkery-browser barkery-weston" makedepends="py3-setuptools" +subpackages="$pkgname-browser $pkgname-weston $pkgname-weston-openrc" +pkgusers="barkery" +pkggroups="barkery" options="!check" # no tests available -source="$pkgname-$pkgver.tar.gz::https://github.com/liske/barkery/archive/refs/tags/$pkgver.tar.gz" +source="$pkgname-$pkgver.tar.gz::https://github.com/liske/barkery/archive/refs/tags/$pkgver.tar.gz + barkery-browser.pre-install + barkery-weston.initd + barkery-weston.pre-install + " package() { + install -Dm640 -oroot -gbarkery "$srcdir"/$pkgname-$pkgver/ex/barkery.conf "$pkgdir"/etc/barkery/barkery.conf + install -Dm640 -oroot -gbarkery "$srcdir"/$pkgname-$pkgver/ex/weston.ini "$pkgdir"/etc/barkery/weston.ini + install -Dm755 "$srcdir"/barkery-weston.initd "$pkgdir"/etc/init.d/barkery + install -Dm755 "$srcdir"/$pkgname-$pkgver/src/barkery "$pkgdir"/usr/bin/barkery } +browser() { + pkgdesc="$pkgdesc (browser)" + depends="python3 + py3-gobject3 + py3-paho-mqtt + py3-setproctitle + webkit2gtk" + install="$subpkgname.pre-install" + + amove etc/barkery/barkery.conf + amove usr/bin/barkery +} + +weston() { + pkgdesc="$pkgdesc (Weston DRM session)" + depends="barkery-browser=$pkgver-r$pkgrel + eudev + font-noto + mesa-dri-gallium + seatd + weston-backend-drm + weston-shell-desktop" + install="$subpkgname.pre-install" + + amove etc/barkery/weston.ini +} + sha512sums=" -5ae414747b37ce4e7e7d5734caea69fb07d958fecaf021c753aecc834e7c56cf07e287854a9c8ec0f1bf7e9a3e9a7460b7314fcd7054edbbc1306e75b10cdc1d barkery-0.5.0.tar.gz +a1eb6827aa52311bdb76a11feff5ce88437bb50e2d4bd54721a30101851d89d13498aab95e847a82cdee54e714b19bb2910c56b6fb4b826005963f80ea0e69d0 barkery-0.6.1.tar.gz +065dd4d563b86aa52c3c26b33d67169db264a8d16563985f5b190599626964a68ec913ef323d483e608c09d6ffa650690439d3d06527e3049a5b58f16660a6dc barkery-browser.pre-install +f7b7e71115e61c0250ff435424385219af798b5f917525da686bba782fa077833d04eb36128113de102525061715c60db77aa50818d377af97d25e1d46941281 barkery-weston.initd +c023f0d4e7ec373700afd2ae80ebb3e51428f88bfcad6c8dde4145edeecf1a0f7bc795ebf3736ec2b3f14b46b02bd1024af6bce4010ebd47543f8844d6ffd4c9 barkery-weston.pre-install " diff --git a/testing/barkery/barkery-browser.pre-install b/testing/barkery/barkery-browser.pre-install new file mode 100644 index 0000000000000000000000000000000000000000..0f2ac62c988ae17ef38243e856dab418d57238f1 --- /dev/null +++ b/testing/barkery/barkery-browser.pre-install @@ -0,0 +1,8 @@ +#!/bin/sh + + +# add barkery user +addgroup -S barkery 2>/dev/null +adduser -S -D -H -h /dev/null -s /bin/nologin -G barkery -g barkery barkery 2>/dev/null + +exit 0 diff --git a/testing/barkery/barkery-weston.initd b/testing/barkery/barkery-weston.initd new file mode 100644 index 0000000000000000000000000000000000000000..38992f8f99ec808e58d7e107b7f020c2f5a2586b --- /dev/null +++ b/testing/barkery/barkery-weston.initd @@ -0,0 +1,28 @@ +#!/sbin/openrc-run + +description="barkery" +runtime_dir=/run/$(id -u barkery)-runtime-dir +pidfile=/run/barkery-weston.pid + +depend() { + need net udev seatd + keyword -jail -prefix -vserver -docker +} + +start() { + ebegin "Starting barkery" + + checkpath -m 0700 -o barkery:barkery -d "$runtime_dir" + + start-stop-daemon --start --user barkery:barkery --background --make-pidfile --pidfile "$pidfile" --env "XDG_RUNTIME_DIR=$runtime_dir" --exec /usr/bin/weston -- -c /etc/barkery/weston.ini + + eend $? +} + +stop() { + ebegin "Stopping barkery" + + start-stop-daemon --stop --user barkery:barkery --pidfile "$pidfile" --exec /usr/bin/weston -- -c /etc/barkery/weston.ini + + eend $? +} diff --git a/testing/barkery/barkery-weston.pre-install b/testing/barkery/barkery-weston.pre-install new file mode 100644 index 0000000000000000000000000000000000000000..049d15eb37c414ce2a79bbd627a34359076fe06d --- /dev/null +++ b/testing/barkery/barkery-weston.pre-install @@ -0,0 +1,9 @@ +#!/bin/sh + +# add groups for Weston +adduser barkery audio +adduser barkery input +adduser barkery video +adduser barkery seat + +exit 0