fix: change pebble dir in 24.04 from /.rock/bin to /usr/bin
Metadata
Current evaluation
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.
Resolution: closed resolved
Reason: PR #552 was merged as commit 15b653a2. The change implemented the agreed Pebble path adjustment following the earlier work in PR #528.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
-----
## Description
After discussion with the Starcraft team, it has been agreed on to move the `pebble` binary to `/usr/bin` instead of `/.rock/bin` for 24.04, since we're quite sure that the `/usr/bin` dir won't change for 24.04.
This PR builds over the previous PR https://github.com/canonical/rockcraft/pull/528 but replaces the pebble path for 24.04 and onwards to `/usr/bin`, and change .
## Related PRs
PR https://github.com/canonical/rockcraft/pull/528
## Testing
Aside from spread tests, this is a manual test using the Hello World rock with build-base of 24.04 to confirm the path of pebble binary.
Rock:
```yaml
name: chiselled-hello
summary: Hello world from Chisel slices
description: A "bare" rock containing the "hello" package binaries from Chisel slices.
license: Apache-2.0
version: "latest"
base: bare
build_base: ubuntu@24.04
platforms:
amd64:
services:
hello_service:
startup: disabled
command: hello
override: replace
parts:
hello:
plugin: nil
stage-packages:
- hello_bins
```
### Results

Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | 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. | |
| stealth/space-bunny-alpha | — | closed resolved | 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. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged a fix updating the pebble binary path from /.rock/bin to /usr/bin for Ubuntu 24.04+ rocks. Approved by two reviewers, passed CI, and builds on PR #528 to ensure stable runtime paths. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a fix updating the pebble binary path for Ubuntu 24.04 from /.rock/bin to /usr/bin. The change builds on PR #528 and was verified via manual and spread tests. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/rockcraft#528
(confidence 98%)
PR #528 introduced the separate Pebble location that PR #552 built upon and adjusted.
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. | |
| #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. | |
| #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. | |
| #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. | |
| #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 |