← Back to issue list

Add pre-pull/pull/post-pull

View original Github issue

Metadata

Project
snapcraft
Number
#1672
Type
issue
State
closed
Author
sergiusens
Labels
—
Created
Updated
Closed

Current evaluation

Roadmap item delivered: override-pull (#2045), override-stage (#2049), and override-prime (#2052) scriptlets were added, completing lifecycle hooks around pull/build/stage/prime.

Resolution: closed resolved

Reason: All three requested scriptlet hooks were merged as separate PRs on top of the snapcraftctl foundation: override-pull in #2045 (commit 56c16cbc5), override-stage in #2049 (commit c5ca9ef87), and override-prime in #2052 (commit 15119aa7e), with scriptlet metadata validation in #2073 and state tracking in #2068.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Estimate: 1 day We currently have three scriptlets that cover the build step only: prepare, build, and install. We want scriptlets around all lifecycle steps: pull, build, stage, and prime. Note that introducing an install step is not part of this roadmap. There are some complications here that I want to point out. The stage and prime steps are completely handled by the core right now. As soon as we change that and provide the ability to override them, we must account for the possibility that files in stage will be changed from what they were in install, etc. Which means the stage dir must flow to the prime dir, which it does not do today (the file list is retrieved from stage, but the files themselves come from the parts’ install dirs). Note that the stanzas for pull and build can be completed without such a redesign.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Roadmap item delivered: override-pull (#2045), override-stage (#2049), and override-prime (#2052) scriptlets were added, completing lifecycle hooks around pull/build/stage/prime.
stealth/space-bunny-alpha — closed resolved Added pull, stage, and prime override scriptlets in #2045, #2049, and #2052, providing the requested lifecycle hooks.
qwen/qwen3.6-35b-a3b — — Abandoned and closed without implementation. The proposal to add pre-pull, pull, and post-pull scriptlets was deferred due to architectural complexities in stage and prime step file handling.
qwen/qwen3.6-35b-a3b — — Closed without implementation. The request to add pre-pull, pull, and post-pull scriptlets across all lifecycle steps remains unaddressed due to architectural complexities in the stage and prime phases. The issue appears abandoned.
qwen/qwen3.6-35b-a3b — — Closed without implementation. The proposal to add pre-pull, pull, and post-pull scriptlets was abandoned due to inactivity and architectural complexities regarding stage and prime directory flows.
qwen3.6-35b-a3b-mtp-q6 — — Closed without implementation. The proposal to add pre-pull, pull, and post-pull scriptlets was abandoned due to unresolved stage and prime step redesign complications. No further action was taken.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: snapcraft#2045 (confidence 98%)

    Added the override-pull scriptlet (commit 56c16cbc5), the first hook requested by this roadmap.

  • Likely Fixed By: snapcraft#2049 (confidence 98%)

    Added the override-stage scriptlet (commit c5ca9ef87), including making the stage dir flow into prime as the issue required.

  • Likely Fixed By: snapcraft#2052 (confidence 98%)

    Added the override-prime scriptlet (commit 15119aa7e), completing the lifecycle coverage.

  • Related To: snapcraft#2002 (confidence 80%)

    Added the snapcraftctl command that all the override scriptlets depend on (commit bbca282fa).

  • Related To: snapcraft#2327 (confidence 70%)

    Later removed the legacy prepare/build/install scriptlets (commit c6542b5f7) that this issue aimed to complement.

Related issues

Issue Project State Summary Similarity
#1673 Add pre-stage/stage/post-stage snapcraft closed Closed without implementation or a recorded reason; later PRs #2049 and #2052 added override-stage and override-prime lifecycle scriptlets.
74%
#1674 Add pre-prime/prime/post-prime snapcraft closed Closed as stale without adding pre-prime/post-prime hooks. Later PRs #2049 and #2052 added override-stage and override-prime scriptlets, but not the full requested lifecycle-hook set.
72%
#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.
71%