← Back to issue list

core18 built python snap not usable from override-build snippet in another snap's snapcraft.yaml

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1911062
Type
issue
State
closed
Author
~anonymouse67
Labels
—
Created
Updated
Closed

Current evaluation

Closed as stale in 2026 after five years; newer Python plugins changed substantially, making the reported core18 sitecustomize behavior obsolete.

Resolution: closed stale

Reason: Maintainer mr-cal explicitly closed the report as stale on 2026-08-24, citing substantial changes in newer Python plugins. No resolving PR or commit was linked to the closure.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Python plugin snaps, such as remarshal: https://github.com/anonymouse64/remarshal/blob/master/snap/snapcraft.yaml, are not directly usable as build-snaps from another python plugin snapcraft.yaml's override-build snippet. Trying to use the snap fails like this: ``` + /snap/bin/toml2json /root/parts/streamdeck-ui/build/pyproject.toml Traceback (most recent call last): File "/snap/remarshal/19/bin/toml2json", line 10, in <module> from importlib.metadata import distribution ModuleNotFoundError: No module named 'importlib.metadata' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/snap/remarshal/19/bin/toml2json", line 13, in <module> from importlib_metadata import distribution ModuleNotFoundError: No module named 'importlib_metadata' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/snap/remarshal/19/bin/toml2json", line 15, in <module> from pkg_resources import load_entry_point File "/root/parts/streamdeck-ui/install/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3238, in <module> @_call_aside File "/root/parts/streamdeck-ui/install/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3222, in _call_aside f(*args, **kwargs) File "/root/parts/streamdeck-ui/install/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3251, in _initialize_master_working_set working_set = WorkingSet._build_master() File "/root/parts/streamdeck-ui/install/lib/python3.6/site-packages/pkg_resources/__init__.py", line 567, in _build_master ws.require(__requires__) File "/root/parts/streamdeck-ui/install/lib/python3.6/site-packages/pkg_resources/__init__.py", line 884, in require needed = self.resolve(parse_requirements(requirements)) File "/root/parts/streamdeck-ui/install/lib/python3.6/site-packages/pkg_resources/__init__.py", line 770, in resolve raise DistributionNotFound(req, requirers) pkg_resources.DistributionNotFound: The 'remarshal==0.10.0' distribution was not found and is required by the application ``` note the paths from the Traceback all have prefixes of $SNAPCRAFT_PART_INSTALL for the snap that is being built, NOT for the snap that was built. In other words the strictly confined, built snap at runtime is tricked into trying to run python from the environment of the currently building snap. One way to work around this as pointed out by cjp256 is to unset the $SNAPCRAFT_PART_INSTALL and $SNAPCRAFT_STAGE environment variables like in this snippet: ``` env -u SNAPCRAFT_PART_INSTALL -u SNAPCRAFT_STAGE -- /snap/bin/toml2json .... ``` however these env vars will always be set for override-build snippets so it's inconvenient and totally unexpected that having these vars set will change the behavior of a strictly confined built snap. To be clear, this bug is about the behavior of the remarshal snap, not about anything in the override-build snippet.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed stale Closed as stale in 2026 after five years; newer Python plugins changed substantially, making the reported core18 sitecustomize behavior obsolete.
stealth/space-bunny-alpha — closed stale Closed as stale on 2026-08-24 after five years of inactivity; newer Python plugin changes made the reported core18 sitecustomize behavior obsolete.
qwen/qwen3.6-35b-a3b — — Closed as stale. The core18 Python snap path resolution bug in override-build was superseded by substantial changes in newer Python plugin versions, rendering the reported sitecustomize.py behavior obsolete.
qwen/qwen3.6-35b-a3b — — Closed as stale. Pre-core20 Python snaps incorrectly used Snapcraft environment variables in sitecustomize.py, breaking override-build usage. Newer Python plugin versions changed substantially, resolving the issue.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 70
Confidence: 85
Support Request: 10
close stale Python snaps built on core18 fail when used as build-snaps due to environment variable pollution causing incorrect path resolution. Untriaged and inactive for over five years.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 35
Confidence: 90
Support Request: 10
close stale Core18-based Python snap fails as a build dependency due to environment variable path conflicts. Unlabelled, zero maintainer interaction, inactive for over 5 years, and core18 is EOL.
qwen3.6-35b-a3b-mtp-q6
Staleness: 95
Complexity: 60
Confidence: 90
Support Request: 20
close stale Unresolved issue from ~5.5 years ago regarding core18 Python snaps failing when used as build dependencies due to SNAPCRAFT_PART_INSTALL pollution. No maintainer interaction or labels.

Update history

Date Change
created

Related issues

Issue Project State Summary Similarity
#1820843 re-running snapcraft when override-build dirty fails complaining about pip snapcraft (launchpad) closed Bug report about core18 python plugin failing with "No module named pip" on dirty rebuilds of an override-build part was closed as stale in Aug 2026; the python plugin has since changed substantially.
76%