feat: allow creating usrmerged dirs by default
Metadata
Current evaluation
Merged PR #1262 as commit 613ca4ef, adding usr-merged install layouts with per-part controls; shipped in craft-parts 2.23.0.
Resolution: closed resolved
Reason: PR #1262 merged as commit 613ca4ef. It introduced the LifecycleManager usrmerged_by_default option and enable-usrmerge and disable-usrmerge build attributes.
Evaluated by: mr-cal-bot
No scores available.
Issue body
This commit introduces a "usrmerged_by_default" parameter to the LifecycleManager so that applications can opt into a new behavior where a part's install dir gets an usrmerged directory structure by default. This lets the lifecycle create a set of files that is better suited for modern Ubuntu bases, but is a breaking change for some plugins and specially for user-provided "override-build" scripts.
Two build-attributes are also introduced to let users have finer, per-part control:
- "enable-usrmerge" can be used to have the directory structure created for the part even if "usrmerged_by_default" is False;
- "disable-usrmerge" can be used to disable the structure creation even if "usrmerged_by_default" is True.
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you added an entry to the changelog (`docs/reference/changelog.rst`)?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #1262 as commit 613ca4ef, adding usr-merged install layouts with per-part controls; shipped in craft-parts 2.23.0. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR canonical/craft-parts#1262 as commit 613ca4ef, adding a usrmerged_by_default LifecycleManager parameter plus enable-usrmerge/disable-usrmerge build attributes for per-part control. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR canonical/craft-parts#1262 as commit 613ca4ef, adding default usr-merged install layouts plus per-part enable-usrmerge and disable-usrmerge build attributes. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged squashed PR adding usrmerged_by_default parameter and enable-usrmerge/disable-usrmerge build attributes to LifecycleManager. Enables default usr-merged directory structures with per-part control. Approved by four reviewers, passed all CI checks. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged after review. Introduces a usrmerged_by_default parameter and enable-usrmerge/disable-usrmerge build attributes to LifecycleManager, enabling default usrmerged directory structures for modern Ubuntu bases while allowing per-part overrides. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/craft-parts#1264
(confidence 90%)
Merged follow-up PR #1264 added a usrmerge-ready Python v2 plugin in commit 39557f3a.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #969 feat: usrmerged install dirs in 25.10+ | rockcraft | merged | Merged PR #969 as commit 1c4a9d78, adding usrmerged install-directory support for Ubuntu 25.10+ while preserving legacy behavior for 20.04–24.04. |