From ee591f1e2bdb5139d39c9078809537f580111431 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Mon, 9 Nov 2026 13:45:20 -0300 Subject: [PATCH 1/4] chromium-ozone-wayland-init: Register the init script under its real name INITSCRIPT_NAME was "${BPM}", an undefined variable, so update-rc.d registered a script literally named "${BPM}" and the installed /etc/init.d/chromium-ozone-wayland never started. Tested: package_qa with DISTRO=oel-tiny + sysvinit; the postinst now runs update-rc.d on chromium-ozone-wayland. Signed-off-by: Luciano Dittgen --- .../recipes-browser/chromium/chromium-ozone-wayland-init_1.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init_1.0.bb b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init_1.0.bb index a46cdb1..d9ea484 100644 --- a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init_1.0.bb +++ b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init_1.0.bb @@ -33,7 +33,7 @@ CHROMIUM_EXTRA_ARGS ?= "" SYSTEMD_SERVICE:${PN} = "chromium-ozone-wayland.service" # Start after weston-init -INITSCRIPT_NAME = "${BPM}" +INITSCRIPT_NAME = "chromium-ozone-wayland" INITSCRIPT_PARAMS = "start 10 5 2 . stop 19 0 1 6 ." do_configure[noexec] = "1" From 69d09ed89f1d2e472d05680b7e9b3f409c29ddf7 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Mon, 9 Nov 2026 13:45:25 -0300 Subject: [PATCH 2/4] chromium-ozone-wayland-init: Start /usr/bin/chromium from the init script meta-browser installs the browser only as /usr/bin/chromium; there is no /usr/bin/chromium-ozone-wayland, so the "[ -x $DAEMON ] || exit 0" guard made the sysvinit script a silent no-op. The systemd unit already runs /usr/bin/chromium. NAME stays, as it names the pidfile and the /etc/default file. Signed-off-by: Luciano Dittgen --- .../chromium-ozone-wayland-init.initd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init/chromium-ozone-wayland-init.initd b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init/chromium-ozone-wayland-init.initd index bdd445a..d37031f 100644 --- a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init/chromium-ozone-wayland-init.initd +++ b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init/chromium-ozone-wayland-init.initd @@ -17,7 +17,7 @@ PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="chromium-browser" NAME="chromium-ozone-wayland" -DAEMON=/usr/bin/$NAME +DAEMON=/usr/bin/chromium CHROMIUM_ARGS="" PIDFILE=/var/run/$NAME.pid From 793842f9d74d6310f14b27ee7c185ffb0f9e0427 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Mon, 9 Nov 2026 13:45:29 -0300 Subject: [PATCH 3/4] qt-kiosk-browser-init: Install the init script as qt-kiosk-browser The script was installed as /etc/init.d/kiosk while INITSCRIPT_NAME, the systemd unit and the /etc/default file all use qt-kiosk-browser, so update-rc.d linked a script that does not exist. Signed-off-by: Luciano Dittgen --- .../recipes-qt/qt-kiosk-browser/qt-kiosk-browser-init_1.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/qt-kiosk-browser-init_1.0.bb b/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/qt-kiosk-browser-init_1.0.bb index 813e76c..3303558 100644 --- a/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/qt-kiosk-browser-init_1.0.bb +++ b/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/qt-kiosk-browser-init_1.0.bb @@ -40,7 +40,7 @@ INITSCRIPT_NAME = "qt-kiosk-browser" do_install() { if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then - install -Dm 0755 ${UNPACKDIR}/${PN}.initd ${D}${sysconfdir}/init.d/kiosk + install -Dm 0755 ${UNPACKDIR}/${PN}.initd ${D}${sysconfdir}/init.d/qt-kiosk-browser fi if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then install -Dm 0644 ${UNPACKDIR}/${PN}.service ${D}${systemd_system_unitdir}/qt-kiosk-browser.service From b4abb148e3d893396b4e65fc4acfdea7071c51bc Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Mon, 9 Nov 2026 13:45:38 -0300 Subject: [PATCH 4/4] qt-kiosk-browser-init: Point the init script at the real binary and config NAME was "qt-kiosk-browser-init", so the script looked for /usr/bin/qt-kiosk-browser-init and /etc/qt-kiosk-browser-init.conf; neither exists, and "test -x || exit 0" made it a silent no-op. It also never read /etc/default/qt-kiosk-browser, which carries WAYLAND_DISPLAY, XDG_RUNTIME_DIR and QTWEBENGINE_CHROMIUM_FLAGS for the systemd unit. Signed-off-by: Luciano Dittgen --- .../files/qt-kiosk-browser-init.initd | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/files/qt-kiosk-browser-init.initd b/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/files/qt-kiosk-browser-init.initd index ee415b8..aba5469 100644 --- a/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/files/qt-kiosk-browser-init.initd +++ b/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/files/qt-kiosk-browser-init.initd @@ -1,7 +1,7 @@ #!/bin/sh ### BEGIN INIT INFO -# Provides: $NAME +# Provides: qt-kiosk-browser # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 @@ -11,13 +11,20 @@ set -e DESC="Qt kiosk browser init" -NAME="qt-kiosk-browser-init" +NAME="qt-kiosk-browser" DAEMON=/usr/bin/$NAME DAEMON_ARGS="--platform wayland /etc/$NAME.conf --no-sandbox" PIDFILE=/var/run/$NAME.pid test -x ${DAEMON} || exit 0 +# Same environment as the systemd unit's EnvironmentFile +if [ -r /etc/default/$NAME ]; then + set -a + . /etc/default/$NAME + set +a +fi + umask 022 . /etc/init.d/functions