snapcraft snap: refactor override-build into a script
Metadata
Current evaluation
Merged refactoring that extracts override-build into a standalone script to reduce snapcraft.yaml duplication and support internal vendoring. Approved by reviewer, passed CI, and modified two files.
Suggested action: —
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)?
- [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)?
- [x] Have you successfully run `./runtests.sh static`?
- [x] Have you successfully run `./runtests.sh tests/unit`?
-----
In order to reduce duplication in the snapcraft.yaml as we work toward vendoring snapcraft within itself ([LP: #1793261](https://bugs.launchpad.net/snapcraft/+bug/1793261), refactor the current override-build into a script.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged refactoring that extracts override-build into a standalone script to reduce snapcraft.yaml duplication and support internal vendoring. Approved by reviewer, passed CI, and modified two files. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged refactoring of the snapcraft snap override-build into a standalone script to reduce duplication in snapcraft.yaml. This supports vendoring snapcraft within itself. Static and unit tests passed prior to merge. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a refactor that extracts the override-build logic into a standalone script, reducing duplication in snapcraft.yaml and supporting internal vendoring. All tests passed. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2223 snap: prepare override scripts to allow rebuilding | snapcraft | merged | Merged into master. Updated snapcraft.yaml override scripts to fix ctypes linking and PyYAML patching, enabling easier project rebuilding. Approved by reviewer and passed CI checks. | |
| #1601 snapcraft.yaml: don't re-use build dir | snapcraft | merged | Merged a fix for a source-build directory clash in snapcraft.yaml. The build directory was renamed to apt-build to avoid scriptlet conflicts. Approved by reviewers and passed CI, resolving the failure. | |
| #2002 many: add snapcraftctl command for scriptlets | snapcraft | merged | Merged. Adds snapcraftctl CLI for scriptlet-to-Snapcraft communication. Introduces snapcraftctl build for override-build, resolving #1675 and LP: #1751749. Approved with passing CI across 28 files. | |
| #2734 SnapcraftError refactoring | snapcraft | merged | Refactored SnapcraftError across four files, adding 279 lines and removing 26. Approved by one reviewer and merged into the codebase. | |
| #2160 many: refactor snapcraft.yaml loading out of load_config | snapcraft | merged | Merged a refactor separating raw snapcraft.yaml loading from validated processing within load_config. Approved by reviewer, passed CI checks, and integrated into master with 95.54% diff coverage. | |
| #1407 recording: record the original snapcraft.yaml | snapcraft | merged | Merged to record the original snapcraft.yaml. Approved by one reviewer, modified 6 files with 91 additions and 31 deletions. Author noted the change requires PR #1406. | |
| #4662 fix(test): do not create 2 snapcraft.yaml and confuse location | snapcraft | merged | Merged a test fix preventing duplicate snapcraft.yaml creation in conflicting root and snap directories. Resolves silent overrides and ensures hooks are detected by clarifying fixture paths. Approved and merged. | |
| #2496 many: support the use of build-aux/snap | snapcraft | merged | Merged implementation adding build-aux/snap as an alternate directory for snapcraft assets. Approved by reviewer, passed CI, and modified 7 files (+207/-64 lines) to align with GNOME project conventions. | |
| #2653 scriplets: run override-pull on update_pull | snapcraft | merged | Merged fix for snapcraft losing script-generated metadata during re-runs. The change re-executes override-pull scriplets on pull step re-run, tracks the current step in the plugin handler, and adds a regression test. Approved and merged after passing CI. |