← Back to issue list

classic snaps cannot find stage packages in $PATH

View original Launchpad issue

Metadata

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

Current evaluation

Classic snaps cannot resolve executables staged in payload bin directories because Snapcraft omits those directories from PATH; this longstanding request remains untriaged.

Suggested action: needs triage

Reason: The issue has no labels, maintainer response, or comments, and its request is concrete but does not establish whether altering PATH is desired because that could change host binary precedence. Commit 9b6e58337 for #4216, titled "meta: omit LD_LIBRARY_PATH and PATH in classic confinement," is directly relevant and requires maintainer review of that policy.

Evaluated by: mr-cal-bot

Impact: 47 Quick Win: 8 Complexity: 64 Confidence: 84 Actionability: 50

Issue body

A classic snap can declare stage-packages to embed dependent binaries. However, /snap/$snapname/{usr/,usr/local/,}bin is not in the default $PATH so the snapped commands cannot locate dependent executables. It currently seems to be a requirement to append the directories containing the dependencies to $PATH in a wrapper script. This could be done automatically.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 47
Quick Win: 8
Complexity: 64
Confidence: 84
Actionability: 50
needs triage Classic snaps cannot resolve executables staged in payload bin directories because Snapcraft omits those directories from PATH; this longstanding request remains untriaged.
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 10
Complexity: 20
Confidence: 40
Actionability: 40
close resolved Classic snaps cannot find stage packages in $PATH because snap bin directories are not included in the default PATH. Issue has been open for ~9 years with no comments.
qwen/qwen3.8-27b
Impact: 35
Quick Win: 21
Staleness: 95
Complexity: 40
Confidence: 60
Support Request: 15
close stale Classic snaps with stage-packages cannot find dependent binaries because snap bin directories are missing from default PATH. 9+ years old, zero comments, no labels. A related workaround (PR #2889, snapcraft-runner) was merged to address classic snap PATH resolution.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 55
Confidence: 90
Support Request: 20
close stale Classic snaps with stage-packages cannot locate dependent binaries because snap bin directories are missing from the default PATH. Requires manual wrapper scripts. No maintainer response in over 9 years.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 60
Confidence: 90
Support Request: 10
close stale Classic snaps with stage-packages cannot locate dependent binaries because snap bin directories are missing from $PATH. Requires manual wrapper scripts. Unaddressed for over 9 years.
qwen3.6-35b-a3b-mtp-q6
Staleness: 95
Complexity: 25
Confidence: 80
Support Request: 10
close stale Classic snaps with stage-packages cannot locate dependent binaries because snap bin directories are missing from $PATH, requiring manual wrapper scripts. Unaddressed for over nine years.

Update history

Date Change
created

Related work

  • Related To: snapcraft#4216 (confidence 96%)

    Commit 9b6e58337 deliberately omits PATH in classic confinement and is directly relevant to the requested behavior.

Related issues

Issue Project State Summary Similarity
#1670388 classic snap are missing some env variables for reaching command name. (snap build, executing it fails) snapcraft (launchpad) open Classic snap wrappers omit snap-local PATH entries, so commands such as chuck-norris-cli can pass packaging but fail at runtime; the confirmed report remains open.
73%