← Back to issue list

pull, build and other commands should be idemnpotent

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1595964
Type
issue
State
open
Author
~didrocks
Labels
lifecycle
Created
Updated
Closed

Current evaluation

Old snapcraft 1.x plugin system issue: build() erases and redeployed build directory, breaking plugin subclass hooks. 10+ years old, zero comments, lifecycle label, plugin system since redesigned in craft-parts.

Suggested action: close stale

Reason: Issue is 3720 days old with zero comments and carries a lifecycle label, indicating long-term inactivity. The old snapcraft 1.x Python plugin system (x_ prefix subclassable plugins) has been replaced by the craft-parts plugin architecture, which uses a fundamentally different design where plugins define build commands rather than being subclassed with hooks. The specific workaround referenced (snappy-playpen x_vlcautotools.py) is from the legacy era and no longer applies.

Impact: 15 Quick Win: 9.75 Staleness: 95 Complexity: 35 Confidence: 72 Support Request: 10

Issue body

The fact that for instance "build()" would erase and redeploy a new build directory is an issue when inheriting and inserting hooks in plugin. Here is an example of the trick needed due to this bug: https://github.com/ubuntu/snappy-playpen/blob/master/vlc/parts/plugins/x_vlcautotools.py

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 15
Quick Win: 9.75
Staleness: 95
Complexity: 35
Confidence: 72
Support Request: 10
close stale Old snapcraft 1.x plugin system issue: build() erases and redeployed build directory, breaking plugin subclass hooks. 10+ years old, zero comments, lifecycle label, plugin system since redesigned in craft-parts.
qwen/qwen3.6-35b-a3b
Staleness: 100
Complexity: 25
Confidence: 90
Support Request: 0
close stale Request for idempotent pull and build commands to prevent build directory erasure during plugin hook inheritance. The issue has been inactive for over 9 years with no maintainer response or labels.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 75
Confidence: 90
Support Request: 15
close stale Request to make pull, build, and other commands idempotent to prevent build directory erasure during plugin inheritance. Unaddressed for over 10 years with no maintainer interaction or project updates.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 80
Confidence: 90
Support Request: 10
close stale Feature request to make pull, build, and other commands idempotent to prevent build directory overwrites during plugin inheritance. Open for over 10 years with no maintainer interaction or comments.
qwen3.6-35b-a3b-mtp-q6
Staleness: 99
Complexity: 35
Confidence: 95
Support Request: 10
close stale pull, build, and related commands currently erase directories, breaking plugin hook inheritance. They should be idempotent. The issue remains open with zero comments and no recent activity, awaiting triage or assignment.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1744822 poor naming conventions for scripts prepare and install snapcraft (launchpad) open 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.
70%