poor naming conventions for scripts prepare and install
Metadata
Current evaluation
Proposal to rename legacy prepare/install scripts is obsolete: current Snapcraft uses lifecycle overrides such as override-pull, override-build, and override-stage instead.
Suggested action: close stale
Reason: The issue has no labels, maintainer comments, or activity for 3174 days. More importantly, the current PartSpec reference lists override_pull, override_build, and override_stage and contains neither prepare nor install, indicating that the legacy scripts targeted by this proposal are no longer part of the lifecycle.
Evaluated by: mr-cal-bot
Impact:
25
Quick Win:
3
Complexity:
70
Confidence:
80
Actionability:
35
Issue body
As a newbie to snapcraft and with still fairly sparse documentation and resources, I've found it fairly hard to build a snapcraft.yaml from scratch.
Some of the naming conventions haven't really helped as they are not particularly evocative of the intent.
In particular the plugin script 'install' seems to be rather badly named.
On looking at existing plugins I assumed that the install script was executed at the point in time that the snap was installed.
I now find that it is in fact called just after the build phase.
The doco does clear this point up but a good design should make intent clear.
From an outsiders perspective the name 'install' makes no sense.
The 'prepare' keyword is better, but hardly evocative. Exactly what is it preparing me for?
I'm also a great advocate of symmetry when developing.
The above problems and applying the law of symmetry suggests two obvious name changes
1) prepare - pre-build
2) install - post-build
By deprecating prepare and install and replacing them with 'pre-build' and 'post-build' we get two evocative names that clearly indicate their intent and we will save a lot of developers some pain and suffering from now to the end of time.
Regards,
Brett
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
25
Quick Win:
3
Complexity:
70
Confidence:
80
Actionability:
35
|
close stale | Proposal to rename legacy prepare/install scripts is obsolete: current Snapcraft uses lifecycle overrides such as override-pull, override-build, and override-stage instead. | |
| qwen/qwen3.6-35b-a3b |
Impact:
30
Quick Win:
7
Complexity:
60
Confidence:
60
Actionability:
60
|
needs triage | Feature request to rename plugin scripts 'prepare' and 'install' to 'pre-build' and 'post-build' for clearer intent. Unlabelled, no maintainer response, 3166 days old. | |
| qwen/qwen3.8-27b |
Impact:
15
Quick Win:
8
Staleness:
95
Complexity:
45
Confidence:
85
Support Request:
20
|
close stale | Suggestion to rename snapcraft plugin scripts 'prepare' and 'install' to 'pre-build' and 'post-build' for clarity. Unlabeled, zero comments, inactive ~8.6 years; the plugin scriptlets were later removed in favor of the override-<step> model. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
15
Confidence:
90
Support Request:
10
|
close stale | Suggests renaming snapcraft's prepare and install scripts to pre-build and post-build for clarity. Unlabeled, zero comments, inactive for over 8 years. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
95
Complexity:
20
Confidence:
85
Support Request:
10
|
close stale | Suggests renaming snapcraft's 'prepare' and 'install' scripts to 'pre-build' and 'post-build' for clarity. Unlabelled, zero comments, inactive for over 8 years. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
95
Complexity:
15
Confidence:
85
Support Request:
20
|
close stale | Suggests renaming snapcraft prepare and install scripts to pre-build and post-build for clarity. Untriaged, zero maintainer engagement, inactive for over 8 years. |
Update history
| Date | Change |
|---|---|
| created |
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1671 Rename prepare/build/install to pre-build/build/post-build, and deprecate prepare/build/install | snapcraft | closed | Lifecycle overrides were implemented by merged PR #2002 (bbca282fa), adding override-build and snapcraftctl instead of renaming prepare, build, and install. |