Dump follows symlink and fails
Metadata
Current evaluation
Snapcraft 2.39.3's dump plugin dereferenced an in-tree directory symlink during staging and crashed. Later symlink-preservation fixes and current no-dereference behavior resolve the defect, but the tracker remains open.
Suggested action: close resolved
Reason: Commit 7768cd33b (#1063) changed file copying to preserve directory symlinks, while d4b104887 (#1064) addressed directory/symlink collisions in pluginhandler. Current craft-parts migration defaults to follow_symlinks=False and the dump plugin uses cp with --no-dereference, resolving the reported 2.39.3 failure mode.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
48
Quick Win:
20
Complexity:
45
Confidence:
92
Actionability:
76
|
close resolved | Snapcraft 2.39.3's dump plugin dereferenced an in-tree directory symlink during staging and crashed. Later symlink-preservation fixes and current no-dereference behavior resolve the defect, but the tracker remains open. | |
| stealth/space-bunny-alpha |
Impact:
58
Quick Win:
21
Complexity:
58
Confidence:
87
Actionability:
86
|
close resolved | Dump followed an in-tree directory symlink and failed staging with IsADirectoryError; historical tests and later craft-parts symlink-preservation behavior indicate the defect was fixed. | |
| qwen/qwen3.6-35b-a3b |
Impact:
70
Quick Win:
39
Complexity:
30
Confidence:
85
Actionability:
80
|
close resolved | Dump plugin follows symlinks during stage migration causing IsADirectoryError. Resolved: craft-parts now defaults follow_symlinks=False with proper symlink handling and tests. | |
| qwen/qwen3.8-27b |
Impact:
30
Quick Win:
18
Staleness:
95
Complexity:
40
Confidence:
85
Support Request:
10
|
close stale | Dump plugin in snapcraft 2.39.3 follows relative symlinks during copy, causing IsADirectoryError in _migrate_files during staging. Legacy 2.x code path no longer exists; current craft-parts dump plugin uses cp --no-dereference. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
30
Confidence:
95
Support Request:
5
|
close stale | Bug report for snapcraft 2.39.3 where the dump step follows relative symlinks and crashes with IsADirectoryError during file migration. Unaddressed for over 8 years. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
45
Confidence:
85
Support Request:
5
|
close stale | Bug report where snapcraft's dump command follows a relative symlink instead of copying it, causing an IsADirectoryError during staging. Issue is over 8 years old with no maintainer response. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
95
Complexity:
40
Confidence:
90
Support Request:
5
|
close stale | Snapcraft dump command follows relative symlinks instead of copying them, causing an IsADirectoryError during migration. Untriaged, inactive for over 8 years. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
snapcraft#1063
(confidence 97%)
Commit 7768cd33b explicitly changes file copying to preserve symlinks to directories.
-
Likely Fixed By:
snapcraft#1064
(confidence 90%)
Commit d4b104887 handles collisions between directories and symlinks in pluginhandler.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1614913 FAIL: test_dump_symlinks (snapcraft.tests.test_plugin_dump.DumpPluginTestCase) | snapcraft (launchpad) | closed | Fixed by merged PR snapcraft#767 (commit d14329836), which copied common.SNAPCRAFT_FILES before use, preventing leaked test state from breaking dump symlink tests. | |
| #1658774 Symlinks to libc are followed by the dump and copy plugins | snapcraft (launchpad) | closed | Merged snapcraft#1174 as commit 2b8bac953, changing copy and dump plugins to ignore staged-package symlinks to libc instead of following or removing them. |