← 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 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.

Suggested action:

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
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 issues

Issue Project State Summary Similarity
#969 feat: usrmerged install dirs in 25.10+ rockcraft merged Merged after approval from two reviewers. Implements usrmerged install directory support for version 25.10 and later. Integrated into the main branch despite initial CI failures in snap-tests and linting.
77%
#945 feat: [wip] usrmerged parts by default rockcraft open WIP PR to enable usrmerged parts by default. Inactive for 369 days with failing CI. The feature has since been implemented and merged via commit 1c4a9d78 (usrmerged install dirs for 25.10+) and documented in 1.15.0 release notes.
76%
#1003 docs: add usrmerge explanation rockcraft merged Merged documentation update explaining the usrmerge problem. Approved by two reviewers, passed CI checks, and added 102 lines across two files to resolve ROCKCRAFT-260.
71%
#154 first pass at handling usrmerge rockcraft merged Merged. Fixes rock packing breakage from usrmerge symlinks by redirecting files to their target directories. Updates oci.Image.add_layer() and lifecycle packing, adds a Jammy CI runner. Approved by three reviewers.
70%