[devel-distro] [PATCH 1/2] live: add use/live/runapp

Michael Shigorin mike at altlinux.org
Sun Sep 11 20:33:58 MSK 2022


Add the possibility to directly configure the desktop app
for livecd kiosk mode to start.

This should have been done as soon as livecd-runapp
hit the streets -- livecd-{0ad,fgfs} definitely must go
as adding a line into config is trivially done near
the only place that requires them (conf.d/live.mk).

TODO: might be more generally useful for vm/* too,
      take this out into a separate feature then.
---
 features.in/live/README                         |  5 +++++
 features.in/live/config.mk                      |  5 +++++
 features.in/live/live/image-scripts.d/50-runapp | 16 ++++++++++++++++
 3 files changed, 26 insertions(+)
 create mode 100755 features.in/live/live/image-scripts.d/50-runapp

diff --git a/features.in/live/README b/features.in/live/README
index 72975f5c9..58302a182 100644
--- a/features.in/live/README
+++ b/features.in/live/README
@@ -19,3 +19,8 @@
 ** перечисляет префиксы каталогов драйвров ядра для удаления
 ** значение: пусто (по умолчанию) или список через пробел
 ** см. config.mk
+
+* LIVE_RUNAPP_BINARY
+** указывает имя программы для запуска в режиме киоска
+** значение: пусто (по умолчанию) или путь (из $PATH или полный)
+** см. тж. пакеты livecd-0ad, livecd-fgfs и сам livecd-runapp
diff --git a/features.in/live/config.mk b/features.in/live/config.mk
index e6d762285..59e65b9eb 100644
--- a/features.in/live/config.mk
+++ b/features.in/live/config.mk
@@ -99,6 +99,11 @@ else
 use/live/suspend: use/live; @:
 endif
 
+# for kiosks
+use/live/runapp: use/live;
+	@$(call add,LIVE_PACKAGES,livecd-runapp)
+	@$(call xport,LIVE_RUNAPP_BINARY)
+
 # deny network/local drive access for security reasons
 use/live/privacy: use/services use/memclean use/deflogin \
 	use/stage2/ata use/stage2/drm use/stage2/hid \
diff --git a/features.in/live/live/image-scripts.d/50-runapp b/features.in/live/live/image-scripts.d/50-runapp
new file mode 100755
index 000000000..3da410108
--- /dev/null
+++ b/features.in/live/live/image-scripts.d/50-runapp
@@ -0,0 +1,16 @@
+#!/bin/sh -efu
+# see also live-0ad
+
+CONFIG=/etc/sysconfig/livecd-runapp
+
+if [ -s "$CONFIG" ]; then
+	echo "$CONFIG exists, not overriding (from $(rpm -qf "$CONFIG"))"
+	exit 0
+fi
+
+mkdir -p "$(dirname "$CONFIG")"
+cat >> "$CONFIG" << _EOF_
+# mkimage-profiles live 50-runapp hook
+BINARY=$GLOBAL_LIVE_RUNAPP_BINARY
+_EOF_
+:
-- 
2.33.3



More information about the devel-distro mailing list