Generated 'git describe' based version strings can exceed 32 character version limit
Metadata
Current evaluation
Historical version: git builds could generate a 38-character string rejected by snapd; snapcraft#3779 addressed the handling, and legacy support was later removed.
Suggested action: close resolved
Reason: The report provides an exact 38-character validation failure and a concrete reproducer. Git history identifies snapcraft#3779, commit 02d9c0724 ("meta: handle version git"), as addressing the behavior; related tracker context also indicates that legacy support was subsequently removed.
Evaluated by: mr-cal-bot
Impact:
42
Quick Win:
27
Complexity:
28
Confidence:
94
Actionability:
90
Issue body
When building a snap using the 'version: git' snapcraft.yaml parameter, it is possible for snapcraft to generate a version string longer than its own 32 character limit.
For example, a snap built from a forked branch of the upstream 'develop-2019-10-23' branch, with some dirty commits, produces the below error:
error: cannot validate snap "matrix-appservice-irc": invalid snap version "develop-2019-10-23+git10.fb1f3b2-dirty": cannot be longer than 32 characters (got: 38)
The snap in question can be cloned from https://github.com/devec0/matrix-appservice-irc/tree/add-snapcraft and built if you have trouble reproducing this behaviour.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
42
Quick Win:
27
Complexity:
28
Confidence:
94
Actionability:
90
|
close resolved | Historical version: git builds could generate a 38-character string rejected by snapd; snapcraft#3779 addressed the handling, and legacy support was later removed. | |
| stealth/space-bunny-alpha |
Impact:
42
Quick Win:
30
Complexity:
22
Confidence:
94
Actionability:
91
|
close resolved | Historical Snapcraft version: git could emit a 38-character version and fail snapd validation; it was addressed by snapcraft#3779 (02d9c0724), and legacy support was later removed. | |
| stealth/space-bunny-alpha |
Impact:
45
Quick Win:
28
Complexity:
32
Confidence:
86
Actionability:
92
|
close resolved | Snapcraft's historical `version: git` could generate a 38-character describe value and fail validation; merged commit 02d9c0724/#3779 changed this path, and legacy support was later removed. | |
| qwen/qwen3.8-27b |
Impact:
20
Quick Win:
14
Staleness:
90
Complexity:
30
Confidence:
70
Support Request:
10
|
close stale | 2018 bug report: version: git can generate git-describe strings exceeding snapcraft's 32-character limit (e.g. 38 chars). No maintainer activity in ~6.7 years. The version: git feature has since been deprecated in favor of version-script/craftctl set version. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
95
Complexity:
20
Confidence:
70
Support Request:
5
|
close stale | Untriaged bug report from 2018 where git describe version strings exceed snapcraft's 32-character limit. No maintainer response or activity in over six years. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
30
Confidence:
75
Support Request:
5
|
close stale | Snapcraft generates git describe version strings exceeding its 32-character limit, causing build validation errors. The issue remains open with no maintainer response or labels after over six years. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
95
Complexity:
30
Confidence:
85
Support Request:
5
|
close stale | snapcraft's git describe version generation can exceed the 32-character snap version limit, causing build failures. Reported with a reproducible example, but has been inactive for over 6 years with no maintainer response. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
snapcraft#3779
(confidence 96%)
Commit 02d9c0724 is identified as the change that addressed version: git handling.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1812633 "version: git" can produce version strings too long for snapd | snapcraft (launchpad) | closed | Closed as superseded: version: git was deprecated in favor of craftctl set version after version-script was offered as the workaround for oversized git-derived versions. |