snapcraft fails when two parts have the same file in the stage keyword
Metadata
Current evaluation
Closed. Resolved by deferring collision checks until after parts finish staging, preventing the FileNotFoundError when multiple parts specify identical stage files.
Suggested action: —
No scores available.
Issue body
When two parts have the same stage entry, like this:
parts:
part1:
# See 'snapcraft plugins'
plugin: dump
stage: [test]
part2:
plugin: dump
stage: [test]
Running snapcraft will fail in the stage step like this:
Preparing to pull part2
Pulling part2
Preparing to pull part1
Pulling part1
Preparing to build part2
Building part2
Preparing to build part1
Building part1
[Errno 2] No such file or directory: '/root/parts/part1/install/test'
The problem is that in lifecycle.py we have this:
for step in common.COMMAND_ORDER[0:step_index]:
if step == 'stage':
pluginhandler.check_for_collisions(self.config.all_parts)
It means that it will check for collisions even on parts that haven't been staged.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Closed. Resolved by deferring collision checks until after parts finish staging, preventing the FileNotFoundError when multiple parts specify identical stage files. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
45
Confidence:
85
Support Request:
10
|
close stale | snapcraft crashes during staging when multiple parts include the same file, pointing to premature collision checks in lifecycle.py. Unlabelled, zero comments, inactive for nearly 9 years. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
35
Confidence:
90
Support Request:
10
|
close stale | Snapcraft crashes during the stage step when multiple parts stage the same file, due to premature collision checking in lifecycle.py. Issue is over 9 years old with no maintainer response. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
95
Complexity:
30
Confidence:
85
Support Request:
5
|
close stale | Bug report detailing a snapcraft crash when multiple parts stage identical files. Points to premature collision checks in lifecycle.py. Unaddressed for over 9 years with zero maintainer interaction. | |
| qwen3.6-35b-moe-q4 |
Staleness:
98
Complexity:
35
Confidence:
90
Support Request:
5
|
close stale | Bug report from 9 years ago describing a FileNotFoundError in snapcraft when two parts share a staged file. Points to collision checking logic in lifecycle.py. No maintainer response or activity since opening. |
Update history
No update history recorded yet.
Related issues
No related issues found above the similarity threshold.