Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decrease dependencies in generated packages #744

Open
grantweiss-RaymondCorp opened this issue Jan 16, 2025 · 1 comment
Open

Decrease dependencies in generated packages #744

grantweiss-RaymondCorp opened this issue Jan 16, 2025 · 1 comment

Comments

@grantweiss-RaymondCorp
Copy link

It looks like bloom is using the run_depends key from the catkin_pkg Package class. The run_depends key is from package.xml version 1, version 2 removed this key to break it out into slimmer exec_depends and build_export_depends (REP 140). It looks like catkin_pkg will populate the newer keys when the input is a package.xml version 1.

In perception_pcl, I am able to remove over 2gb of dependency install (libpcl-dev) by making bloom-generate use exec_depends only.
ros-perception/perception_pcl#475

I am unsure of backwards compatibility testing and intended behavior so held off on a PR.

@cottsay
Copy link
Member

cottsay commented Jan 16, 2025

The reason that run_depends is used here is that ROS packages are not split into runtime and development subpackages, so the single package serves both roles. This means that when installing a ROS package, we need not only the dependencies needed to run the binaries contained in that package, but we also need to install the dependencies necessary to build a downstream package, a role typically served by a -dev subpackage.

If/when we find a clean way to split ROS package generated by Bloom into runtime/dev subpackages, it would behave as you're expecting here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants