Catkin plugin: Use in-snap python instead of OS-provided.
Metadata
Current evaluation
Merged PR #232 (fe9ca74c9), fixing Catkin on Xenial by using /usr/bin/env Python shebangs and PATH-resolved Python in 10.ros.sh.
Resolution: closed resolved
Reason: GitHub records PR #232 as merged via fe9ca74c9 (31b745f28), resolving LP bug #1533297 by removing dependence on the host's /usr/bin/python.
Evaluated by: mr-cal-bot
No scores available.
Issue body
This works pre-Xenial since python2 is provided on the image. However, it's been removed in Xenial which uncovered this bug. The fix simply rewrites all /usr/bin/python shebangs to use /usr/bin/env python, and also fixes up 10.ros.sh to use python from the path instead of /usr/bin/python.
LP: [#1533297](https://bugs.launchpad.net/snapcraft/+bug/1533297)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #232 (fe9ca74c9), fixing Catkin on Xenial by using /usr/bin/env Python shebangs and PATH-resolved Python in 10.ros.sh. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #232 via fe9ca74c9 (implementation 31b745f28), fixing Xenial Catkin builds by using PATH-resolved, in-snap Python for shebangs and 10.ros.sh. | |
| stealth/space-bunny-alpha | — | closed resolved | PR #232 merged via fe9ca74c9 (31b745f28), fixing Catkin on Xenial by using /usr/bin/env for Python shebangs and PATH-resolved Python in 10.ros.sh. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged a fix for the Catkin plugin failing on Ubuntu Xenial due to removed OS Python 2. Shebangs now use /usr/bin/env python and 10.ros.sh uses path-based Python, resolving review-flagged file conflicts and missing attributes. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Updated the catkin plugin to use in-snap Python, fixing Ubuntu Xenial compatibility. Resolved reviewer-reported attribute errors and inter-part file conflicts during review before final merge. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/snapcraft#329
(confidence 80%)
Follow-up work removed the roscore plugin after conflicting staged files were reported during review of #232.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #230 Fix catkin plugin python calls | snapcraft | closed | PR #230 was closed unmerged after a shebang mistake; PR #232 (kyrofa) superseded it and merged as fe9ca74c9 (31b745f28), using the snap's Python via /usr/bin/env and PATH in 10.ros.sh. | |
| #840 Catkin plugin: build with in-snap python. | snapcraft | merged | Merged #840 as 7f9fa3ac1, fixing LP #1628990 by using in-snap Python during Catkin builds and adding gcc, libc-dev, and make as build packages. | |
| #1548404 Catkin plugin: Can't handle rosdep resolving to multiple packages | snapcraft (launchpad) | closed | Fixed by ubuntu-core/snapcraft PR #331 (commit 1c1119ce3, 'Catkin plugin: Handle rosdep empty and multiple dependencies'), merged as e3a2b9d03; maintainer ~kyrofa linked the PR when closing the Launchpad bug. | |
| #163 Catkin plugin: use rosdep for dependency resolution | snapcraft | merged | Merged in PR #163 (commit 87b2e24f6), replacing manual Catkin package.xml dependency parsing with rosdep; PR #183 backported the change to Snapcraft 1.x. | |
| #1548406 Catkin plugin: Can't handle rosdep resolving to nothing | snapcraft (launchpad) | closed | Fixed by canonical/snapcraft#331, merged as commit 1c1119ce3; Catkin now treats empty rosdep output as no dependencies instead of an error. | |
| #1628990 Catkin plugin: example doesn't build on vanilla install | snapcraft (launchpad) | closed | Fixed by merged PR snapcore/snapcraft#840 (commit 7f9fa3ac1): Catkin builds now use in-snap Python and add gcc, libc-dev and make as build-packages, so the example builds on a vanilla system. Closed by maintainer ~kyrofa. | |
| #1683036 Catkin plugin doesn't support rosdep dependencies that resolve to pip | snapcraft (launchpad) | closed | Catkin support for rosdep dependencies resolving to pip was merged in snapcraft PR #1581, commit 186ae7f91. | |
| #1714333 Catkin plugin: empty segment added to PYTHONPATH | snapcraft (launchpad) | closed | Fixed by snapcraft PR #1522, merged as commit a2440c986 ("catkin plugin: only append PYTHONPATH if set"), which makes the Catkin plugin append the existing PYTHONPATH only when it is set, avoiding an empty path segment. | |
| #2007 catkin plugin: replace python calls in all profile.d scripts | snapcraft | merged | Merged PR #2007 as commit 7ac261967, replacing absolute Python paths in every catkin profile.d script and restoring ROS Kinetic and Catkin Tools builds on Ubuntu Core. | |
| #1629003 Catkin plugin: support kinetic | snapcraft (launchpad) | closed | ROS Kinetic support was added to the Catkin plugin by snapcore/snapcraft PR #842, merged as commit 5d447aedc; the maintainer closed the issue pointing to that fix. |