← Back to issue list

feat: allow creating usrmerged dirs by default

View original Github issue

Metadata

Project
craft-parts
Number
#1262
Type
pull request
State
merged
Author
tigarmo
Labels
PR: Squash
Created
Updated
Closed

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.
73%