snapcraft doesn't run store checks locally, causing disappointment at upload time
Metadata
Current evaluation
Snapcraft should run store validation checks locally (e.g. external symlinks) before upload. Issue is 5+ years old with no comments; a snapcraft lint command was later added, but no evidence it covers this specific check.
Suggested action: needs triage
Reason: The issue is a genuine feature request (local validation parity with store checks) with zero maintainer interaction for ~5 years. A later lint command (PR #4095) may partially address it, but there's no evidence it validates external symlinks, so it can't be closed as fixed without verification.
Impact:
50
Quick Win:
22.5
Staleness:
95
Complexity:
55
Confidence:
55
Support Request:
10
Issue body
I spent considerable time preparing a snap, thought it was all good, only to get this at store upload time:
The store was unable to accept this snap.
- package contains external symlinks: etc/rmt
Expected: snapcraft runs the same checks locally as the store does
Actual: I think it's going to work, and then it doesn't
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.8-27b |
Impact:
50
Quick Win:
22.5
Staleness:
95
Complexity:
55
Confidence:
55
Support Request:
10
|
needs triage | Snapcraft should run store validation checks locally (e.g. external symlinks) before upload. Issue is 5+ years old with no comments; a snapcraft lint command was later added, but no evidence it covers this specific check. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
95
Complexity:
70
Confidence:
90
Support Request:
10
|
close stale | Feature request to align local snapcraft validation with Snap Store checks to catch errors like external symlinks before upload. Unaddressed for nearly 5 years with no maintainer comments. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
95
Complexity:
60
Confidence:
85
Support Request:
10
|
close stale | Request to align snapcraft local checks with Snap Store upload validation. Untriaged, zero maintainer comments, inactive for over five years. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
95
Complexity:
60
Confidence:
85
Support Request:
10
|
close stale | Request to add local validation checks to snapcraft that mirror Snap Store upload checks. Untriaged, zero comments, inactive for over five years. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
95
Complexity:
65
Confidence:
85
Support Request:
10
|
close stale | Feature request to align local snapcraft validation with Snap Store checks to prevent unexpected publishing failures. Unaddressed and inactive for nearly five years. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/snapcraft#4095
(confidence 60%)
Adds a snapcraft lint command that could host local store-equivalent checks, but no evidence it covers external symlinks.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1790004 Snapcraft should warn if it produces a snap that the store will reject | snapcraft (launchpad) | open | Feature request for snapcraft to warn during/after build about store-rejection issues like unusual file modes. No maintainer activity in 8 years. The snapcraft lint command (PRs #4095, #4115) now provides pre-upload checks. | |
| #1902913 snapcraft validate does not work with snaps in stores other than Global | snapcraft (launchpad) | closed | Closed without resolution. The snapcraft validate failure for non-global store snaps was abandoned due to inactivity, with no fix implemented or workaround provided. | |
| #1992557 snapcraft remote-build snapcraft.yaml validation too strict | snapcraft (launchpad) | open | snapcraft remote-build validation rejects empty LD_LIBRARY_PATH in environment, blocking some classic snaps. Issue is 4 years old with no maintainer engagement. | |
| #1986624 snapcraft points to wrong entry in apps as being invalid. | snapcraft (launchpad) | open | Snapcraft 6.1 validation error misreports the first app ('runtests') as invalid when the actual offending app name ('get_cache_info', with an underscore) is the real problem. No maintainer interaction; zero comments; ~4 years old. |