fix: handle dependencies when organizing to overlay
Metadata
Current evaluation
Merged PR #1618 (commit 18239b07) fixes dependency scheduling when organizing to overlay, prioritizing BUILD/organize over dependency STAGE steps and closing #1611.
Resolution: closed resolved
Reason: PR canonical/craft-parts#1618 was merged with all CI checks passing. Commit 18239b07 implements the overlay dependency-ordering fix and closed issue #1611.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Per ST-158, "the OVERLAY and BUILD steps of parts organizing to the
overlay are executed before these steps of other parts." This has
precedence over regular dependencies, meaning that the BUILD step
(and therefore organize) of a part depending on another part should
execute before the STAGE step of the dependency.
Fixes #1611
- [ ] Have you followed the guidelines for contributing?
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you successfully run `make lint && make test`?
- [ ] Have you added an entry to the changelog (`docs/reference/changelog.rst`)?
---
CRAFT-5215
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #1618 (commit 18239b07) fixes dependency scheduling when organizing to overlay, prioritizing BUILD/organize over dependency STAGE steps and closing #1611. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged as 18239b07, fixing #1611 by prioritizing BUILD/organize over dependency STAGE steps when organizing parts to the overlay. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in #1618 (18239b07), fixing #1611 so BUILD/organize steps take precedence over dependency STAGE steps when parts are organized to the overlay. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged following approval and successful CI checks. Resolves dependency ordering during overlay organization by prioritizing BUILD steps over dependency STAGE steps, fixing issue #1611. Code was rebased on main prior to integration. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a fix for overlay dependency handling, resolving issue #1611. The change enforces ST-158 precedence, ensuring OVERLAY and BUILD steps execute before dependency STAGE steps. Rebased on main prior to merge. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/craft-parts#1611
(confidence 100%)
The underlying dependency-ordering bug was resolved by PR #1618 and commit 18239b07.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1261 feat: reorder steps if organizing to overlay | craft-parts | merged | Merged in commit 55d01a3f, PR #1261 runs BUILD after OVERLAY for parts organizing to overlay so organized content is available to parts installing overlay packages. | |
| #1488 Organizing to the overlay directory is not idempotent | craft-parts | closed | Fixed by merged PR #1541 (commit a1178308), making organization into the overlay idempotent so rebuilds no longer fail on existing destination directories. | |
| #1619 fix: migrate overlay files before running stage or prime (#1617) | craft-parts | merged | Merged as bf3615ca, cherry-picking #1617 so overlay files migrate before stage or prime, preventing build-created directories from shadowing overlay state and breaking priming. | |
| #1617 fix: migrate overlay files before running stage or prime | craft-parts | merged | Merged #1617 as 2d81a4bd, moving overlay migration before stage/prime so build-created directories cannot shadow overlay state and break priming; regression coverage was added. | |
| #1225 Reorder lifecycle steps if organizing to overlay | craft-parts | closed | Fixed overlay-part lifecycle ordering: parts organizing to overlay now run BUILD after OVERLAY via merged PR #1261 (55d01a3f). | |
| #1541 fix(organize): make organizing to the overlay idempotent | craft-parts | merged | Merged as commit a1178308: organizing files into the overlay partition is now idempotent, so repeat organization no longer errors on existing destinations. Fixes #1488 (CRAFT-5043); conflicts resolved in merge commit 4282caa6. | |
| #1586 fix(organize): allow merging directories in overlay with metadata differences | craft-parts | merged | Merged as 0797420f, closing #1487. Final review changes tightened overlay directory conflict handling and retained strict errors for metadata mismatches. | |
| #2047 pluginhandler: organize in build instead of stage | snapcraft | merged | Merged PR #2047 moved organize handling from stage to build, fixing repeat staging and ensuring collision detection sees organized files. | |
| #1254 feat: allow parts to organize to overlay | craft-parts | merged | PR #1254 was merged, adding the (overlay) organize target to move part build files to the top of the mounted overlay stack (commit 0c806f20). |