← Back to issue list

Generated 'git describe' based version strings can exceed 32 character version limit

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1849935
Type
issue
State
open
Author
~ec0
Labels
—
Created
Updated
Closed
—

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.
76%