From eb0e92bf04e94ac0b2a9b9cdd827c2e78094e0e1 Mon Sep 17 00:00:00 2001 From: Anton Bambura Date: Sun, 5 May 2024 23:35:11 +0300 Subject: [PATCH] main/postmarketos-base-ui-cage: new aport (MR 5097) Based on current postmarketos-ui-cage --- main/postmarketos-base-ui-cage/APKBUILD | 43 +++++++++++++++++++ .../cage-ui-session.sh | 20 +++++++++ .../postmarketos-base-ui-cage/cage-ui.desktop | 11 +++++ .../postmarketos-base-ui-cage.post-install | 7 +++ .../postmarketos-base-ui-cage.post-upgrade | 1 + 5 files changed, 82 insertions(+) create mode 100644 main/postmarketos-base-ui-cage/APKBUILD create mode 100644 main/postmarketos-base-ui-cage/cage-ui-session.sh create mode 100644 main/postmarketos-base-ui-cage/cage-ui.desktop create mode 100644 main/postmarketos-base-ui-cage/postmarketos-base-ui-cage.post-install create mode 120000 main/postmarketos-base-ui-cage/postmarketos-base-ui-cage.post-upgrade diff --git a/main/postmarketos-base-ui-cage/APKBUILD b/main/postmarketos-base-ui-cage/APKBUILD new file mode 100644 index 000000000..6c53bdd2b --- /dev/null +++ b/main/postmarketos-base-ui-cage/APKBUILD @@ -0,0 +1,43 @@ +# Maintainer: Vitaliy Ognev +# Co-Maintainer: Jenneron +pkgname=postmarketos-base-ui-cage +pkgver=1 +pkgrel=0 +pkgdesc="Meta package for shared configuration for cage UIs" +arch="all" +url="https://postmarketos.org/" +license="GPL-3.0-or-later" +source=" + cage-ui.desktop + cage-ui-session.sh +" +install="$pkgname.post-install $pkgname.post-upgrade" +options="!check" +depends=" + dnsmasq + postmarketos-base-ui + postmarketos-base-ui-networkmanager + wpa_supplicant + wireless-tools + wlr-randr + xwayland + cage + dbus + seatd + seatd-openrc + elogind + elogind-openrc + psmisc + tinydm + tinydm-openrc +" + +package() { + install -Dm755 "$srcdir"/cage-ui-session.sh -t "$pkgdir"/usr/share/cage-ui/ + install -Dm644 "$srcdir"/cage-ui.desktop -t "$pkgdir"/usr/share/wayland-sessions/ +} + +sha512sums=" +b556bcff9bb62ca6580da5e1749aa4d6b8244ebb5213292a348075196704cc919f8060bff8da66c6f61a1aa071b7ae4d81fddf1b3747e89809196459bc2595d8 cage-ui.desktop +15c3dd09cfd36e42c102c0c6065e47a7c67f9cc12fea641758e88b93e146b3b549bf5828191816ceaf35222c417fbb4b31173d6c4e9003fd23c834aa9b9f985e cage-ui-session.sh +" diff --git a/main/postmarketos-base-ui-cage/cage-ui-session.sh b/main/postmarketos-base-ui-cage/cage-ui-session.sh new file mode 100644 index 000000000..315a7c0d4 --- /dev/null +++ b/main/postmarketos-base-ui-cage/cage-ui-session.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +if [ -d /etc/cage-ui ]; then + for script in /etc/cage-ui/*.sh; do + # shellcheck source=/dev/null # since we do not control these scripts + . "$script" + done +fi + +if [ -z "$CAGE_UI_COMMAND" ]; then + if command -v postmarketos-demos >/dev/null 2>&1; then + CAGE_UI_COMMAND=postmarketos-demos + else + echo "No command to run. Cage-UI expects a command to be run" + echo "defined in environment variable named CAGE_UI_COMMAND." + exit 1 + fi +fi + +exec "$CAGE_UI_COMMAND" diff --git a/main/postmarketos-base-ui-cage/cage-ui.desktop b/main/postmarketos-base-ui-cage/cage-ui.desktop new file mode 100644 index 000000000..dc57d7764 --- /dev/null +++ b/main/postmarketos-base-ui-cage/cage-ui.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=Cage-UI +Name[en]=Cage-UI +Comment=This session logs you into Cage-UI +Comment[en]=This session logs in you into Cage-UI +Exec=dbus-run-session -- cage -d -s -- /usr/share/cage-ui/cage-ui-session.sh +TryExec=/usr/bin/cage-ui +Icon= +Type=Application +X-DesktopNames=Cage-UI +Keywords=launch;desktop;session; \ No newline at end of file diff --git a/main/postmarketos-base-ui-cage/postmarketos-base-ui-cage.post-install b/main/postmarketos-base-ui-cage/postmarketos-base-ui-cage.post-install new file mode 100644 index 000000000..90b71155f --- /dev/null +++ b/main/postmarketos-base-ui-cage/postmarketos-base-ui-cage.post-install @@ -0,0 +1,7 @@ +#!/bin/sh + +rc-update add seatd default +rc-update add elogind default +rc-update add tinydm default + +tinydm-set-session -s /usr/share/wayland-sessions/cage-ui.desktop diff --git a/main/postmarketos-base-ui-cage/postmarketos-base-ui-cage.post-upgrade b/main/postmarketos-base-ui-cage/postmarketos-base-ui-cage.post-upgrade new file mode 120000 index 000000000..fdbb963df --- /dev/null +++ b/main/postmarketos-base-ui-cage/postmarketos-base-ui-cage.post-upgrade @@ -0,0 +1 @@ +postmarketos-base-ui-cage.post-install \ No newline at end of file