← Back to issue list

fix(pebble): place pebble in a separate location

View original Github issue

Metadata

Project
rockcraft
Number
#528
Type
pull request
State
merged
Author
tigarmo
Labels
—
Created
Updated
Closed

Current evaluation

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.

Resolution: closed resolved

Reason: The PR itself was merged into main as commit 3dddfa14 with +138/-38 lines and 2 approving reviews, relocating the Pebble binary into .rock/bin to avoid the Ubuntu 24.04 symlink collision. A follow-up, PR #552 (commit 15b653a2), later changed the 24.04 pebble dir from /.rock/bin to /usr/bin so the binary is back on $PATH, tracked as ROCKS-1088.

Evaluated by: mr-cal-bot

No scores available.

Issue body

The context here is that starting from Ubuntu 24.04, the 'base-files' package (and related chisel slices) provides "bin" as a symlink to "usr/bin". This breaks the previous "phantom" pebble part because it created "bin" as a regular directory which then conflicts with the symlink. Moving forward, the pebble binary is now placed in ".rock/bin/". This way we won't get further collisions and this reflects the fact that the location of the binary is, and should be seen, as an implementation detail. - [ ] 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 #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.
stealth/space-bunny-alpha — closed resolved Merged PR #528 (commit 3dddfa14): moved the implicit Pebble binary out of "bin" into ".rock/bin" to avoid colliding with Ubuntu 24.04's bin->usr/bin symlink from base-files/chisel.
stealth/space-bunny-alpha — closed resolved Merged PR #528 via 3dddfa14: relocated Pebble to .rock/bin to avoid conflicts with Ubuntu 24.04's bin symlink.
qwen/qwen3.6-35b-a3b — — Merged. Relocates the pebble binary to .rock/bin/ to resolve conflicts with Ubuntu 24.04's bin symlink. Approved by reviewers and passed CI. Reviewers confirmed adding .rocks/bin to $PATH for docker exec compatibility, tracked as ROCKS-1088.
qwen3.6-35b-a3b-mtp-q6 — — Merged. Relocates the pebble binary to .rock/bin/ to prevent conflicts with Ubuntu 24.04's bin symlink. Reviewers requested adding .rocks/bin to $PATH for docker exec compatibility, with the follow-up tracked in ROCKS-1088.

Update history

No update history recorded yet.

Related work

  • Superseded By: canonical/rockcraft#552 (confidence 80%)

    Merged follow-up (15b653a2) moving the pebble dir from /.rock/bin to /usr/bin on 24.04, addressing the $PATH concern raised by linostar/cjdcordeiro in review

  • Related To: canonical/rockcraft#725 (confidence 55%)

    PR b81a12c8 later sets the standard Ubuntu PATH on bare-based rocks, related to making the pebble binary reachable via $PATH

  • Related To: canonical/rockcraft#526 (confidence 45%)

    Adjacent pre-merge pebble 24.04 work (cbad85c8) in the same area

Related issues

Issue Project State Summary Similarity
#552 fix: change pebble dir in 24.04 from /.rock/bin to /usr/bin rockcraft merged Merged PR #552 (commit 15b653a2), moving Pebble from /.rock/bin to /usr/bin for Ubuntu 24.04 and later to provide a stable runtime path.
85%
#525 Update pebble part for 24.04 rocks rockcraft closed Updated Pebble placement for Ubuntu 24.04 rocks via merged PR #528 (commit 3dddfa14), avoiding the /bin-to-/usr/bin usrmerge symlink conflict.
83%
#1211 Reconsider the Pebble binary location rockcraft open Design discussion (opened by maintainer,0 comments, unlabelled): /usr/bin/pebble may collide with Ubuntu's `pebble` package; proposes a rock-specific path such as /.rock
82%
#473 fix(pebble): /var/lib/pebble/default has mode 0777 rockcraft merged Merged PR #473 via commit 72c1af5d, fixing #461 by always setting /var/lib/pebble/default to mode 0777, including rocks without services or checks.
72%
#725 fix: set PATH on bare-based rocks rockcraft merged Merged in #725 via commit b81a12c8, setting Pebble’s standard Ubuntu PATH on bare-based rock images to avoid an empty or unset image PATH.
71%
#59 Install pebble via implicit part rockcraft merged 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.
71%