← Back to issue list

Install pebble via implicit part

View original Github issue

Metadata

Project
rockcraft
Number
#59
Type
pull request
State
merged
Author
cjdcordeiro
Labels
—
Created
Updated
Closed

Current evaluation

PR #59 by cjdcordeiro merged (5d7ed676): adds an implicit Go-based 'pebble' part so every ROCK installs Pebble as entrypoint; final code errors if a user defines their own pebble part, per maintainer feedback.

Resolution: closed resolved

Reason: The pull request itself was merged into main as commit 5d7ed676, after tigarmo's rework into a `_add_pebble_data()` helper that rejects pre-existing user-defined 'pebble' parts to enforce the entrypoint spec; cjdcordeiro confirmed "perfect".

Evaluated by: mr-cal-bot

No scores available.

Issue body

Since Pebble will be the entrypoint for all ROCKs, we must have it installed for all ROCKs too. Similar to what Kerncraft is doing at https://github.com/canonical/kerncraft/pull/22/files#diff-a5aa2c8752af7f6a4943ee8761dd913a6a7662e7d5e7b4c80602e225070617d2, also in Rockcraft we must add a part for building and installing Pebble into the ROCK. The difference between this PR and the Kerncraft implementation is that 1) the Pebble part is implicit (always there), and 2) there's no need for a custom Pebble plugin, since Pebble is just a Go application, so we can just use the already existing Go plugin from craft-cli. - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? -----

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved PR #59 by cjdcordeiro merged (5d7ed676): adds an implicit Go-based 'pebble' part so every ROCK installs Pebble as entrypoint; final code errors if a user defines their own pebble part, per maintainer feedback.
stealth/space-bunny-alpha — closed resolved Merged PR #59 (commit 5d7ed676, "feat: inject part for installing Pebble") adding an implicit Go-plugin Pebble part so every ROCK ships Pebble; code refactored into _add_pebble_data() and rejects user-defined 'pebble' parts.
stealth/space-bunny-alpha — closed resolved Merged #59 (5d7ed676), adding an implicit Go-based Pebble part so Pebble is installed in every ROCK; final code rejects user-defined Pebble parts to enforce the entrypoint specification.
stealth/space-bunny-alpha — closed resolved Merged canonical/rockcraft#59, adding an implicit Pebble part built with the Go plugin so Pebble is installed as the entrypoint in every ROCK; user-defined pebble parts are rejected.
stealth/space-bunny-alpha — closed resolved Merged PR #59 added an implicit Go-based Pebble part for every ROCK, preventing user overrides to ensure Pebble remains the required entrypoint.
qwen/qwen3.6-35b-a3b — — Merged. Adds an implicit pebble part to install Pebble as the ROCK entrypoint using the standard Go plugin. CI issues were resolved, and the code was updated to block user overrides, ensuring spec compliance. Approved and merged.
qwen3.6-35b-a3b-mtp-q6 — — Merged implementation adding an implicit Pebble part for all ROCKs using the standard Go plugin. Updated to block user overrides, ensuring Pebble remains the mandatory entrypoint. Resolved CI failures and merge conflicts.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/rockcraft#102 (confidence 85%)

    tigarmo's commit 13cb8d66 in this PR adapted the pebble part because of issue #102 (opt-in 'go generate'), which remains open.

  • Related To: canonical/rockcraft#65 (confidence 70%)

    Allowing user configuration/customisation of the Pebble entrypoint was deliberately deferred to this open issue rather than implemented here.

  • Related To: kerncraft#22 (confidence 60%)

    Kerncraft PR referenced as the model implementation for staging Pebble into a project.

Related issues

Issue Project State Summary Similarity
#528 fix(pebble): place pebble in a separate location rockcraft merged PR #528 merged via commit 3dddfa14, moving the Pebble binary from bin/ to .rock/bin so it no longer collides with Ubuntu 24.04 base-files' bin symlink to usr/bin.
71%