← Back to issue list

snapcraft should wipe out existing dependency zips

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1815667
Type
issue
State
open
Author
~oddbloke
Labels
Created
Updated
Closed

Current evaluation

Snapcraft python-packages part fails on second build when a git-based install_requires dependency produces an existing zip, causing pip download to prompt interactively and crash with EOFError. No maintainer activity in 7.5 years.

Suggested action: close stale

Reason: The issue is 2757 days old with zero comments, no labels, and no maintainer engagement. The traceback references Python 3.6 and pip internals (pip/_internal/resolve.py, req_install.py) from a pre-rewrite era of snapcraft; the python-packages part implementation has since been completely reworked, making the original code path obsolete. The affected implementation is no longer supported.

Impact: 30 Quick Win: 21.0 Staleness: 95 Complexity: 30 Confidence: 55 Support Request: 10

Issue body

Our project has a requirement in install_requires that looks like this: "distro_info @ git+https://git.launchpad.net/ubuntu/+source/distro-info#subdirectory=python" When running snapcraft for a second time, I see this failure: Collecting distro_info@ git+https://git.launchpad.net/ubuntu/+source/distro-info#subdirectory=python from git+https://git.launchpad.net/ubuntu/+source/distro-info#subdirectory=python (from cpc-build-tools==0.1.0) Cloning https://git.launchpad.net/ubuntu/+source/distro-info to /tmp/pip-download-ploa_hbm/distro-info The file /root/parts/cpc-build-tools/python-packages/distro-info-0.21.zip exists. (i)gnore, (w)ipe, (b)ackup, (a)bort Exception: Traceback (most recent call last): File "/root/parts/cpc-build-tools/install/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 179, in main status = self.run(options, args) File "/root/parts/cpc-build-tools/install/lib/python3.6/site-packages/pip/_internal/commands/download.py", line 164, in run resolver.resolve(requirement_set) File "/root/parts/cpc-build-tools/install/lib/python3.6/site-packages/pip/_internal/resolve.py", line 131, in resolve self._resolve_one(requirement_set, req) File "/root/parts/cpc-build-tools/install/lib/python3.6/site-packages/pip/_internal/resolve.py", line 294, in _resolve_one abstract_dist = self._get_abstract_dist_for(req_to_install) File "/root/parts/cpc-build-tools/install/lib/python3.6/site-packages/pip/_internal/resolve.py", line 242, in _get_abstract_dist_for self.require_hashes File "/root/parts/cpc-build-tools/install/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 353, in prepare_linked_requirement req.archive(self.download_dir) File "/root/parts/cpc-build-tools/install/lib/python3.6/site-packages/pip/_internal/req/req_install.py", line 845, in archive display_path(archive_path), ('i', 'w', 'b', 'a')) File "/root/parts/cpc-build-tools/install/lib/python3.6/site-packages/pip/_internal/utils/misc.py", line 169, in ask_path_exists return ask(message, options) File "/root/parts/cpc-build-tools/install/lib/python3.6/site-packages/pip/_internal/utils/misc.py", line 181, in ask response = input(message) EOFError: EOF when reading a line Failed to run '/root/stage/usr/bin/python3 -m pip download --disable-pip-version-check --dest /root/parts/cpc-build-tools/python-packages .': Exited with code 2. snapcraft should either configure `pip download` to automatically wipe such files out, or wipe them out itself.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 30
Quick Win: 21.0
Staleness: 95
Complexity: 30
Confidence: 55
Support Request: 10
close stale Snapcraft python-packages part fails on second build when a git-based install_requires dependency produces an existing zip, causing pip download to prompt interactively and crash with EOFError. No maintainer activity in 7.5 years.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 45
Confidence: 90
Support Request: 5
close stale Report of snapcraft failing on second run due to pip download prompting for existing dependency zips, causing an EOFError. Suggests auto-wiping or pre-cleaning. Issue is over 7 years old with no maintainer interaction.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 20
Confidence: 90
Support Request: 10
close stale Reported failure when snapcraft runs pip download a second time due to existing dependency zips prompting for user input in non-interactive mode. Issue is 7+ years old with no maintainer response or activity.
qwen3.6-35b-a3b-mtp-q6
Staleness: 95
Complexity: 20
Confidence: 85
Support Request: 5
close stale snapcraft fails on repeated runs when pip encounters existing dependency zips and prompts for input. The report is over 7 years old with no maintainer interaction.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 20
Confidence: 90
Support Request: 5
needs triage snapcraft fails on subsequent runs when pip encounters existing dependency zips, prompting for input and causing an EOFError. Suggests auto-wiping or pre-wiping these files. Untriaged and inactive for over 7 years.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1815358 python package not updating during snap creation snapcraft (launchpad) open Snapcraft python plugin fails to rebuild a changed Python package on re-run, keeping the old version; user must flip source-type git/local to force a build. Legacy multipass-VM flow, no maintainer activity in ~7.5 years.
74%
#1882124 snapcraft does not properly surface an error message during the pip presence checking on the second and subsequent runs snapcraft (launchpad) open Snapcraft's pip presence check swallows the real exception (ModuleNotFoundError: distutils.util) on second/subsequent runs, showing only 'Exited with code 1'. Legacy plugin code, Python 3.6 era, untriaged and inactive ~6 years.
70%