Skip to content

wpe-simple-launcher: Add recipe - #603

Draft
psaavedra wants to merge 3 commits into
mainfrom
psaavedra/add_wpe-simple-launcher
Draft

wpe-simple-launcher: Add recipe#603
psaavedra wants to merge 3 commits into
mainfrom
psaavedra/add_wpe-simple-launcher

Conversation

@psaavedra

@psaavedra psaavedra commented Aug 25, 2026

Copy link
Copy Markdown
Member

Add the wpe-simple-launcher recipe: an on-device WPEWebKit launcher that opens a URL and exposes a FIFO control channel through the wpe-ctl helper. It builds the launcher from the upstream main branch and installs the wpe-ctl and wpe-exported-wayland helper scripts.

Also added: python-is-python3: Depend on python3-core instead of python3 as a fix for the oe-linter.

python-is-python3 only ships the python -> python3 symlink, so it needs
just the interpreter binary provided by python3-core rather than the full
python3 metapackage. Narrow the runtime dependency so images that only
want the symlink do not pull in the entire python3 module set.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Yocto recipe and helper scripts to build and ship wpe-simple-launcher plus a control helper (wpe-ctl) and an environment/setup wrapper (wpe-exported-wayland) for launching WPEWebKit on-device.

Changes:

  • Introduces wpe-simple-launcher_git.bb to fetch/build/install wpe-simple-launcher and helper scripts.
  • Adds wpe-exported-wayland wrapper to set WPE/GStreamer environment and forward Wayland/XDG runtime vars.
  • Adds wpe-ctl helper to write commands into the launcher control channel.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 6 comments.

File Description
recipes-browser/wpe-simple-launcher/wpe-simple-launcher/wpe-exported-wayland Adds a launch wrapper that configures environment and runs wpe-simple-launcher (optionally via su).
recipes-browser/wpe-simple-launcher/wpe-simple-launcher/wpe-ctl Adds a control helper script to write commands to the control channel path.
recipes-browser/wpe-simple-launcher/wpe-simple-launcher_git.bb Adds the Yocto recipe that fetches/builds and installs the launcher and scripts.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread recipes-browser/wpe-simple-launcher/wpe-simple-launcher/wpe-ctl Outdated
Comment thread recipes-browser/wpe-simple-launcher/wpe-simple-launcher_git.bb Outdated
Comment thread recipes-browser/wpe-simple-launcher/wpe-simple-launcher_git.bb Outdated
Comment thread recipes-browser/wpe-simple-launcher/wpe-simple-launcher_git.bb Outdated
@psaavedra psaavedra added this to the 202604_6.0_wrynose_final milestone Aug 25, 2026
@psaavedra
psaavedra force-pushed the psaavedra/add_wpe-simple-launcher branch from d2e07db to 8bcf1b3 Compare August 25, 2026 07:32
@psaavedra
psaavedra requested a lite review from Copilot August 25, 2026 07:32

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

Suppressed comments (1)

recipes-browser/wpe-simple-launcher/wpe-simple-launcher/wpe-exported-wayland:41

  • The Wayland/XDG env propagation is brittle: pidof weston-keyboard can return multiple PIDs or nothing, which makes the /proc/$(pidof ...)/environ path invalid and causes export "${WAYLAND_DISPLAY?}" / export "${XDG_RUNTIME_DIR?}" to abort the script. Also using strings on /proc/.../environ adds an avoidable runtime dependency and may not parse NUL-separated env reliably.

Consider resolving a single PID once, using tr '\0' '\n' to parse the environ, anchoring the matches, and falling back to already-set env vars before failing with a clearer message.

# Ensure Wayland and XDG runtime environment variables are propagated
WAYLAND_DISPLAY=$(strings < "/proc/$(pidof weston-keyboard)/environ" | grep WAYLAND_DISPLAY)
XDG_RUNTIME_DIR=$(strings < "/proc/$(pidof weston-keyboard)/environ" | grep XDG_RUNTIME_DIR)
export "${WAYLAND_DISPLAY?}"
export "${XDG_RUNTIME_DIR?}"

Add the wpe-simple-launcher recipe: an on-device WPEWebKit launcher that
opens a URL and exposes a FIFO control channel through the wpe-ctl helper.
It builds the launcher from the upstream main branch and installs the
wpe-ctl and wpe-exported-wayland helper scripts.

Change-Type: patch
Co-authored-by: Copilot Autofix <175728472+Copilot@users.noreply.github.com>
@psaavedra
psaavedra force-pushed the psaavedra/add_wpe-simple-launcher branch from 7c1d2f5 to ead2b5c Compare August 25, 2026 08:01
@psaavedra
psaavedra requested a lite review from Copilot August 25, 2026 08:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.

Suppressed comments (1)

recipes-browser/wpe-simple-launcher/wpe-simple-launcher/wpe-exported-wayland:47

  • Exporting "${WAYLAND_DISPLAY?}"/"${XDG_RUNTIME_DIR?}" relies on those variables containing NAME=VALUE strings. If either grep misses, the script exits with a generic shell 'parameter not set' message instead of the script's own error. Parsing out the values and emitting an explicit error makes failures easier to diagnose.
WAYLAND_DISPLAY="$(tr '\0' '\n' < "/proc/$WESTON_PID/environ" | grep -m1 '^WAYLAND_DISPLAY=')"
XDG_RUNTIME_DIR="$(tr '\0' '\n' < "/proc/$WESTON_PID/environ" | grep -m1 '^XDG_RUNTIME_DIR=')"
export "${WAYLAND_DISPLAY?}"
export "${XDG_RUNTIME_DIR?}"

Comment on lines +21 to +22
install -m 0755 ${S}/wpe-ctl ${D}${bindir}/wpe-ctl
install -m 0755 ${S}/wpe-exported-wayland ${D}${bindir}/wpe-exported-wayland
Comment thread recipes-devtools/python/python-is-python3_1.0.bb
Comment thread recipes-browser/wpe-simple-launcher/wpe-simple-launcher/wpe-exported-wayland Outdated
Comment thread recipes-browser/wpe-simple-launcher/wpe-simple-launcher/wpe-ctl
psaavedra and others added 2 commits August 25, 2026 10:23
python-is-python3 only ships the python -> python3 symlink, so it needs
just the interpreter binary provided by python3-core rather than the full
python3 metapackage. Narrow the runtime dependency so images that only
want the symlink do not pull in the entire python3 module set.

Change-Type: patch
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@psaavedra
psaavedra force-pushed the psaavedra/add_wpe-simple-launcher branch from 3cbfad9 to 49c2b61 Compare August 25, 2026 08:23
@psaavedra
psaavedra requested a lite review from Copilot August 25, 2026 08:27
@psaavedra
psaavedra marked this pull request as draft August 25, 2026 08:27

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

Comment on lines +18 to +22
do_install:append() {
install -d ${D}${bindir}
install -m 0755 ${B}/wpe-simple-launcher ${D}${bindir}/wpe-simple-launcher
install -m 0755 ${UNPACKDIR}/wpe-ctl ${D}${bindir}/wpe-ctl
install -m 0755 ${UNPACKDIR}/wpe-exported-wayland ${D}${bindir}/wpe-exported-wayland
Comment on lines +49 to +54
# Check if the script is run as root and switch to the 'weston' user if needed
if [ "$(id -u)" -eq 0 ]; then
su -s /bin/sh weston -c 'ctl="$1"; shift; exec /usr/bin/wpe-simple-launcher --ctrl "$ctl" "$@"' sh "$CTL_FILE" "$@"
else
exec /usr/bin/wpe-simple-launcher --ctrl "$CTL_FILE" "$@"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants