bash gets built with a /bin/bash that is missing the executable bit
Metadata
Current evaluation
Staging bash+quilt in a classic snap yields a non-executable bin/bash because craft-parts normalize copies the symlink target from the system via shutil.copyfile, dropping the executable bit. Unfixed in craft-parts; reporter has a chmod workaround.
Suggested action: keep open
Reason: A maintainer (lengau) triaged it, pinpointed the exact code (craft_parts/packages/normalize.py _try_copy_local, lines 148-157) and confirmed the root cause: shutil.copyfile copies content but not the file mode, so the executable bit is lost. The current craft-parts HEAD still uses shutil.copyfile at that line, so the bug is unfixed. It is a real, reproducible bug with a clear minimal reproducer, not a support request, so it should stay open.
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.8-27b |
Impact:
45
Quick Win:
31.5
Staleness:
70
Complexity:
30
Confidence:
70
Support Request:
10
|
keep open | Staging bash+quilt in a classic snap yields a non-executable bin/bash because craft-parts normalize copies the symlink target from the system via shutil.copyfile, dropping the executable bit. Unfixed in craft-parts; reporter has a chmod workaround. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
88
Complexity:
55
Confidence:
75
Support Request:
10
|
close stale | Staging bash and quilt in a classic snap causes /bin/bash to lose its executable bit due to craft-parts symlink normalization. The issue has been inactive for over a year with a provided workaround but no fix. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
95
Complexity:
45
Confidence:
85
Support Request:
15
|
close stale | Staging bash and quilt in a classic snap causes bin/bash to lose its executable bit. Currently inactive for over 630 days with a workaround available. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
88
Complexity:
45
Confidence:
60
Support Request:
10
|
close stale | Staging bash in classic snaps strips the executable bit from bin/bash, breaking execution. Discussion centers on whether craft-parts should preserve permissions and rewrite absolute symlinks for quilt. Issue remains open and awaiting triage. |
Update history
No update history recorded yet.
Related work
-
Caused By:
craft-parts#148
(confidence 40%)
Root cause is in craft-parts normalize.py _try_copy_local (shutil.copyfile drops the mode bit); the issue links to that file/lines but no specific craft-parts issue number is cited, so the ref is approximate.
Related issues
No related issues found above the similarity threshold.