← Back to issue list

binary entry (and lib) for python projects not installed in final snap

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1670323
Type
issue
State
open
Author
~didrocks
Labels
amd64 apport-bug xenial
Created
Updated
Closed
—

Current evaluation

A 2017 Python-plugin wheel regression omitted setup.py scripts and libraries when the project name matched a requirement; later wheel/install-ordering work appears to fix it.

Suggested action: close resolved

Reason: The report includes a reproducible project and a bisect to commit 652ac1238 (PR #861), while the maintainer identified the setup.py name/requirements collision. The subsequent commit 28103a243 (PR #883), titled "python plugin: wheel and install in the proper order," addresses that wheel-installation regression; the Launchpad issue appears to have remained open administratively.

Evaluated by: mr-cal-bot

Impact: 55 Quick Win: 28 Complexity: 42 Confidence: 86 Actionability: 88

Issue body

Example project: 1. git clone lp:~apw/+git/so-trello 1a. git checkout snapcraft-bug -> as you can see, this project define in setup.py a "scripts:" entry (not that the same behavior seen with entry_points) 2. Remove the "trellotool" part dump hack (to workaround that bug). 3. Run snapcraft -> Failure in non binary found. From what I saw, pip installs components from requirements.txt, but not trellotool or the script entry in the final snap. They are in parts/python-bits/build directory, but not in parts/python-bits/install ones, and so not in stage/ or prime. After a quick bisect, I found that the guilty commit was: https://github.com/snapcore/snapcraft/commit/652ac1238a8b1bb1af8ddc20c0c71d2e8e66680c. Confirming that taking the previous version of python.py on tip works. My bet is that the install from wheel switch is guilty. ProblemType: Bug DistroRelease: Ubuntu 16.04 Package: snapcraft 2.27.1 [modified: usr/lib/python3/dist-packages/snapcraft/_baseplugin.py usr/lib/python3/dist-packages/snapcraft/plugins/python.py] ProcVersionSignature: Ubuntu 4.4.0-64.85-generic 4.4.44 Uname: Linux 4.4.0-64-generic x86_64 NonfreeKernelModules: zfs zunicode zcommon znvpair zavl ApportVersion: 2.20.1-0ubuntu2.5 Architecture: amd64 CurrentDesktop: Unity Date: Mon Mar 6 12:19:38 2017 InstallationDate: Installed on 2012-05-28 (1742 days ago) InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425) PackageArchitecture: all SourcePackage: snapcraft UpgradeStatus: Upgraded to xenial on 2014-10-31 (857 days ago)

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 55
Quick Win: 28
Complexity: 42
Confidence: 86
Actionability: 88
close resolved A 2017 Python-plugin wheel regression omitted setup.py scripts and libraries when the project name matched a requirement; later wheel/install-ordering work appears to fix it.
stealth/space-bunny-alpha
Impact: 22
Quick Win: 3
Complexity: 48
Confidence: 88
Actionability: 30
close stale Legacy Python plugin omitted setup.py scripts when a requirements package name collided; confirmed historically, but the affected Snapcraft 2.27.1-era implementation has been removed.
qwen/qwen3.6-35b-a3b
Impact: 40
Quick Win: 14
Complexity: 50
Confidence: 60
Actionability: 70
close resolved Python plugin fails to install binary entry points/scripts when using wheel-based installation. Identified regression from commit 652ac1238a8b1bb1af8ddc20c0c71d2e8e66680c. Old plugin code has been completely refactored.
qwen/qwen3.8-27b
Impact: 50
Quick Win: 30
Staleness: 95
Complexity: 40
Confidence: 60
Support Request: 10
close stale Snapcraft 2.27.1 python plugin: console_scripts/entry_points and setup.py scripts from a Python project are missing from the final snap (present in build/ but not install/stage/prime). Bisected to the wheel-install switch commit 652ac12. No maintainer activity; last activity 3443 days ago.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 40
Confidence: 95
Support Request: 5
close stale Python project binaries and entry points fail to install in the final snap due to a snapcraft Python plugin regression. Filed in 2017 against Ubuntu 16.04 with no maintainer response or activity for over nine years.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 45
Confidence: 90
Support Request: 10
close stale Bug report from 2017 stating Python binary entries and libraries fail to install in the final snap during snapcraft builds. Unaddressed, inactive for over 9 years, and applies to obsolete Ubuntu 16.04 and snapcraft 2.27.1.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 20
Confidence: 95
Support Request: 0
close stale Python project binaries and entry points fail to install in the final snap due to a wheel installation regression in snapcraft 2.27.1. Issue is over 9 years old with no maintainer activity.

Update history

Date Change
created

Related work

  • Caused By: canonical/snapcraft#861 (confidence 100%)

    The reporter identified the wheel-install change merged as 652ac1238 as the regression trigger.

  • Likely Fixed By: canonical/snapcraft#883 (confidence 86%)

    Commit 28103a243 immediately followed the culprit and explicitly changed wheel installation ordering.

Related issues

No related issues found above the similarity threshold.