Skip to content

Add feature: yoctoproject.org (bitbake)#229

Merged
sebst merged 4 commits intomainfrom
copilot/add-feature-yoctoproject-org
Mar 26, 2026
Merged

Add feature: yoctoproject.org (bitbake)#229
sebst merged 4 commits intomainfrom
copilot/add-feature-yoctoproject-org

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 26, 2026

Adds a new community devcontainer feature yoctoproject.org that installs bitbake — the core build tool of the Yocto Project and OpenEmbedded.

Approach

Since the Yocto Project publishes no pre-built binaries, bitbake is installed from the openembedded/bitbake source archive (tagged yocto-X.Y.Z). The script self-patches the lib/ path via __file__ resolution in the Python entry point, so a simple shell wrapper suffices — no PYTHONPATH manipulation needed.

Changes

  • src/yoctoproject.org/install.sh — resolves the latest version from GitHub tags (yocto-X.Y.Z), downloads the tarball, extracts to /opt/bitbake/, creates a wrapper at /usr/local/bin/bitbake, ensures python3 is present
  • src/yoctoproject.org/devcontainer-feature.json — feature metadata, version 1.0.0, version option defaulting to latest
  • src/yoctoproject.org/NOTES.md — project link, description, install method
  • test/yoctoproject.org/test.sh — verifies bitbake --version emits BitBake
  • README.md — new row inserted alphabetically between yakitrak/notesmd-cli and yq

Usage

// .devcontainer/devcontainer.json
{
  "features": {
    "ghcr.io/devcontainer-community/features/yoctoproject.org:1": {}
  }
}

Works on both amd64 and arm64 — no architecture-specific binaries involved.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • downloads.yoctoproject.org
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>Add feature yoctoproject.org</issue_title>
<issue_description>https://downloads.yoctoproject.org/releases/yocto/</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 Send tasks to Copilot coding agent from Slack and Teams to turn conversations into code. Copilot posts an update in your thread when it's finished.

@sebst sebst marked this pull request as ready for review March 26, 2026 17:08
Copilot AI changed the title [WIP] Add feature yoctoproject.org Add feature: yoctoproject.org (bitbake) Mar 26, 2026
Copilot AI requested a review from sebst March 26, 2026 17:09
Copy link
Copy Markdown
Member

@sebst sebst left a comment

Choose a reason for hiding this comment

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

tests fail

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 26, 2026

tests fail

Fixed in commit 1d6343c. The root cause was that bitbake calls locale.setlocale(locale.LC_CTYPE, ("en_US", "UTF-8")) at startup and exits if the locale isn't available. Minimal debian:latest and ubuntu:latest images don't have locales configured, so the install.sh now installs the locales package and runs locale-gen en_US.UTF-8.

Copilot AI requested a review from sebst March 26, 2026 17:18
Copy link
Copy Markdown
Member

@sebst sebst left a comment

Choose a reason for hiding this comment

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

test fails

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 26, 2026

test fails

Fixed in commit 4016a40. The issue was that locale-gen en_US.UTF-8 ran silently without generating the locale on Debian 13 (trixie) — when called with an argument, it produced no output and didn't populate the locale archive. The fix uses the standard Debian pattern: echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen && locale-gen, which explicitly registers the locale in /etc/locale.gen before generating it.

Copilot AI requested a review from sebst March 26, 2026 17:28
@sebst sebst merged commit 4201e9d into main Mar 26, 2026
7 checks passed
@sebst sebst deleted the copilot/add-feature-yoctoproject-org branch March 26, 2026 17:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add feature yoctoproject.org

2 participants