← Back to issue list

scriplets: run override-pull on update_pull

View original Github issue

Metadata

Project
snapcraft
Number
#2653
Type
pull request
State
merged
Author
cjp256
Labels
—
Created
Updated
Closed

Current evaluation

Merged in snapcraft#2653 (commit ae7ab338e), re-running override-pull scriptlets when pull repeats so snapcraftctl-generated metadata is preserved.

Resolution: closed resolved

Reason: PR #2653 was approved and merged as commit ae7ab338e. Its regression test verified that script-generated version and grade metadata survive rebuilds, resolving LP #1790651.

Evaluated by: mr-cal-bot

No scores available.

Issue body

``` Once a project is re-run, snapcraft loses metadata generated from scripts (i.e. snapcraftctl set-version and set-grade). Snapcraft itself will reproduce this issue when the sources change: ``` Skipping stage bash-completion (already ran) Skipping stage snapcraft-libs (already ran) Skipping stage legacy-snapcraft (already ran) Skipping stage patchelf (already ran) Cleaning later steps and re-staging snapcraft ('build' step changed) Skipping prime bash-completion (already ran) Skipping prime snapcraft-libs (already ran) Skipping prime legacy-snapcraft (already ran) Skipping prime patchelf (already ran) Priming snapcraft Compiling pyc files... Failed to generate snap metadata: 'adopt-info' refers to part 'snapcraft', but that part is lacking the 'parse-info' property. ``` - Since version information may have changed between runs, we now re-execute the override-pull scriplets when the pull step is re-run. - Track current step in pluginhandler when invoking a step inside the runner - we can use this to determine which scriplet metadata to update once called. The previous logic assumed that the steps were cleaned and not being re-run when checking for metadata duplication. - Add test to reproduce failure (and pass it!) LP #1790651 ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged in snapcraft#2653 (commit ae7ab338e), re-running override-pull scriptlets when pull repeats so snapcraftctl-generated metadata is preserved.
stealth/space-bunny-alpha — closed resolved Merged PR #2653 (commit ae7ab338e, 2019-08-03): override-pull scriplets are now re-run on repeated pull steps and pluginhandler tracks the current step, fixing LP #1790651 where script-set metadata was lost on re-run.
stealth/space-bunny-alpha — closed resolved Merged in #2653 (commit ae7ab338e): re-runs override-pull scriplets when pull is repeated, preserving script-generated metadata and fixing LP #1790651.
qwen/qwen3.6-35b-a3b — — 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.
qwen3.6-35b-a3b-mtp-q6 — — Merged into master. Fixes snapcraft losing script-generated metadata during re-runs by re-executing override-pull scriplets when the pull step restarts. Tracks current step to prevent duplication and adds a regression test. Resolves LP #1790651.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#2045 many: add override-pull scriptlet snapcraft merged Merged as commit 56c16cbc5: added override-pull and snapcraftctl pull; Local sources now merge into the existing directory to preserve pre-pull changes.
82%
#2278 snap: pull early snapcraft merged Merged #2278 (commit 7386bed80) reordered snapcraftctl execution so pull runs before set-version.
71%
#2283 snapcraft snap: refactor override-build into a script snapcraft merged PR #2283 merged as commit f9592939a, moving the Snapcraft snap's override-build logic into a script to reduce snapcraft.yaml duplication ahead of self-vendoring.
70%