Catkin plugin: Staging area not suitable for building other parts
Metadata
Current evaluation
Catkin staging output was made reusable by later parts: merged snapcraft#1130 rewrote ROS-specific paths after building, fixing LP #1663385.
Resolution: closed resolved
Reason: Merged PR snapcraft#1130, commit e34b7ab19, updates the Catkin plugin to produce a build-ready staging area by correcting ROS-specific paths after the build.
Evaluated by: mr-cal-bot
No scores available.
Issue body
The recommended method of building a snap that will consume content (in this case, libs) from another snap using the content interface is to tar up the producer's staging area and use it as a part to build the consumer.
However, such a workflow doesn't work when the producer's staging area came from the Catkin plugin, as many parts of its environment (cmake files and python scripts) are pointing to its old installdir.
After finishing a build, the Catkin plugin should ensure that what it's produced is usable from the staging area.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Catkin staging output was made reusable by later parts: merged snapcraft#1130 rewrote ROS-specific paths after building, fixing LP #1663385. | |
| stealth/space-bunny-alpha | — | closed resolved | Catkin plugin's staging area was unusable by other parts (cmake files/python scripts pointed at old installdir). Fixed by snapcraft PR #1130 (commit e34b7ab19), which rewrites ROS-specific files after build. | |
| stealth/space-bunny-alpha | — | closed resolved | Catkin plugin staging area was not relocatable. Fixed by merged PR snapcore/snapcraft#1130 (commit e34b7ab19), which rewrites ROS-specific cmake/python files after build so the staging area can be consumed by other parts; tracked LP #1663385. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed in merged PR #1130 (commit e34b7ab19): the Catkin plugin now rewrites ROS-specific files to produce a staging area usable by dependent parts. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. The Catkin plugin staging area issue, where hardcoded installdir paths break dependent parts, was abandoned due to prolonged inactivity. No fix or workaround was implemented. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. The Catkin plugin leaves environment paths pointing to the original installdir, breaking cross-snap builds. No fix was implemented. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
snapcraft#1130
(confidence 100%)
The merged PR rewrote ROS paths in Catkin staging output and explicitly fixed LP #1663385.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1130 catkin plugin: produce build-ready staging area. | snapcraft | merged | Merged PR #1130 (commit e34b7ab19) makes the Catkin plugin rewrite ROS-specific paths after building, creating a staging area reusable by later parts and fixing LP #1663385. | |
| #1658828 Catkin plugin stages compilers | snapcraft (launchpad) | closed | Catkin no longer stages compilers: snapcore/snapcraft#1070 (ea8736af4) moved them to an alternate work area, keeping compiler bloat out of ROS snaps. | |
| #1638317 Catkin plugin doesn't build pure python workspaces | snapcraft (launchpad) | closed | Catkin plugin only staged g++ when roscpp was a dependency, breaking pure-Python ROS workspaces. Fixed by snapcore/snapcraft PR #881 (merged as 2f0c8ba04), staging gcc/g++ unconditionally; issue closed by maintainer ~kyrofa. | |
| #2525 catkin plugin: check stage-snaps for ROS dependencies | snapcraft | merged | Merged #2525 as d1c5f1b00, updating the catkin plugin to honor ROS dependencies supplied by stage-snaps and avoid redundant fetches. | |
| #1070 catkin plugin: don't stage compilers. | snapcraft | merged | Merged PR #1070 as commit ea8736af4, moving required Catkin compilers to an alternate work area so they are available during builds but excluded from final snaps; fixes LP #1658828. | |
| #1823788 Catkin plugin doesn't notice ROS dependencies satisfied by stage-snaps | snapcraft (launchpad) | closed | Catkin stage-snap dependency detection was implemented by merged snapcraft PR #2525 (commit d1c5f1b00), avoiding redundant ROS dependency fetches. | |
| #175 Catkin plugin: Refactor build. | snapcraft | merged | Merged in snapcraft#175 via commit 9045874fd, refactoring Catkin environment, dependency handling, build logic, source-space support, and tests. | |
| #1721168 Catkin plugin: support building the entire workspace | snapcraft (launchpad) | closed | Implemented in snapcraft PR #1743 (commit ec4cac26a, "catkin plugin: support building entire workspace"), merged ~Nov 2017. catkin-packages became optional: omitting it builds the whole workspace, while an empty list still means no packages. | |
| #1664776 Catkin plugin: support building with an underlay | snapcraft (launchpad) | closed | Catkin underlay support landed in snapcore/snapcraft#1140 (cab0b3806); follow-up #1186 added a ROS content-sharing demo. | |
| #1779 catkin-tools plugin: use stage-packages | snapcraft | merged | Merged #1779 (ebc4f2ce2): catkin-tools now uses stage-packages for clean-system builds, with a snapd-suite integration test. |