← Back to issue list

Catkin plugin: Use in-snap python instead of OS-provided.

View original Github issue

Metadata

Project
snapcraft
Number
#232
Type
pull request
State
merged
Author
kyrofa
Labels
—
Created
Updated
Closed

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.
82%
#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.
76%
#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.
74%
#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.
73%
#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.
72%
#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.
72%
#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.
71%
#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.
71%
#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.
70%
#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.
70%