2026-09-02 22:41:57 +03:00

4.9 KiB

name, description
name description
webos-ose-build MANDATORY for Chromium-related webOS OSE BitBake builds, tests, and failure investigation for Raspberry Pi 4 or qemu targets. Activate before proposing or executing a container connection, BitBake command, target-specific image or package rebuild, or diagnosis of container, recipe, task, or deploy artifact failures. Verify the container environment, target/output, and active build state; report and stop if a prerequisite fails.

webOS OSE Chromium Build

Use this skill for Chromium-related webOS OSE BitBake builds.

Pre-launch hard stops

Do not connect to a build environment or launch BitBake until every applicable check below has passed. If any check fails, report the missing or invalid value and STOP.

  1. Check existing environment variables first. They may also be supplied in an existing .env file:

    • WEBOS_BUILD_HOST — host that provides the webOS OSE container.
    • WEBOS_BUILD_DIR — build directory visible inside the container.
    • WEBOS_CONTAINER_SSH_PORT — container SSH port.
    • WEBOS_BITBAKE_TARGET — confirmed Chromium-related recipe or image target.
    • WEBOS_BUILD_LOG — log file for an unattended BitBake run.

    Use a set value exactly as supplied. Do not guess an absolute path, container port, BitBake target, or replacement log path. An unattended run requires WEBOS_BUILD_LOG to be set.

  2. Verify that the build host, container port, build directory, and BitBake target are all known. Establish the expected artifact or output before starting a build.

  3. If C/C++ source or header files changed, run the diagnostic procedure in lsp-cli/SKILL.md for every modified file. Zero diagnostic errors is required before a build. Report warnings. If diagnostics cannot run or report any error, STOP.

  4. Check for an active BitBake build in the selected container. If one is running, report it and STOP. Never kill, restart, or replace a running build without explicit user permission.

The webOS OSE container provides the required older Python and toolchain. Do not run BitBake from a modern host shell. After the pre-launch checks, enter the build host and container, then initialize the environment inside it:

ssh "$WEBOS_BUILD_HOST"
ssh -p "$WEBOS_CONTAINER_SSH_PORT" localhost
cd "$WEBOS_BUILD_DIR"
. oe-init-build-env

Run the confirmed target after initializing the environment:

bitbake "$WEBOS_BITBAKE_TARGET"
bitbake -C compile "$WEBOS_BITBAKE_TARGET" #for incremental build, after some changes in source code

Use an iterative task only when the user has confirmed that source-only changes make it valid; otherwise run the normal target build. Do not override the build directory's configured machine per command.

Unattended builds and logs

For a user-authorized new unattended build, start a new log session after the pre-launch checks have passed. Truncate WEBOS_BUILD_LOG with > and write a unique launch marker before starting BitBake. Use >> only when continuing that same already-running build session.

When monitoring, read only output after the current launch marker (or its recorded byte offset). Do not cite earlier log entries as evidence about the current build.

build_session="build-bitbake-$(date -u +%Y%m%dT%H%M%SZ)"
: > "${WEBOS_BUILD_LOG:?set WEBOS_BUILD_LOG}"
printf '\n=== %s ===\n' "$build_session" >> "$WEBOS_BUILD_LOG"
nohup bitbake "$WEBOS_BITBAKE_TARGET" \
  >> "$WEBOS_BUILD_LOG" 2>&1 &

Unless the user has supplied the test command and target environment, ask how the Chromium artifact should be tested and STOP. After a successful build, verify the requested image or package artifact in the configured deploy directory before attempting deployment or runtime testing.

Use only the target-specific deployment and test procedure confirmed by the user or Chromium/webOS OSE documentation. Do not assume a board address, package name, application, or launch command.

Debug BitBake failures

An unexpected build, configure, or test failure is terminal for the current turn. Report the command, exit status, and complete preserved failure output or its log location, then STOP. Do not retry, clean state, or change configuration until the user gives a new instruction to investigate the failure.

  • For Python, compiler, or host-tool failures, confirm that the command runs inside the webOS OSE container after oe-init-build-env.
  • For a missing recipe or task, inspect the available layer configuration and the target's recipe before changing configuration.
  • For a source change missing from the build, verify the recipe's configured source revision and the task inputs before selecting an iterative rebuild.
  • For an artifact failure, inspect the target's deploy output and the relevant task log before proposing a recovery.
  • Do not use destructive clean or state-removal tasks unless the user has authorized their scope.