ros1_external_use
ros1_external_use copied to clipboard
Integrate with ros packages.
The readme currently describe how to build a ros connected software without using catkin. But is there a way to have this kind of software integrated into a ros package ?
- Can we bloom-release such a non-catkin package ? How about using cmake buildtool in package.xml ?
- Can we distribute ( with other ros packages ) a deb not build with bloom ( fpm, etc. ) ?
I could be wrong, but my current understanding is that the short answer is "no", because those bloom-release and friends rely on the metadata captured in package.xml to generate their dependency trees and do all their nice things.
The idea behind this demonstration is just to show that it's easy to "use ROS" from the outside; it wouldn't (to my knowledge) allow you to release "back into ROS."
There are already packages, "in ROS", that are not catkin packages. Ironically my example is : https://github.com/ros-infrastructure/catkin_pkg It s a normal python pip package, that is provided as a deb in ros packages : -> http://packages.ros.org/ros/ubuntu/lists/ros-indigo-trusty-source_trusty_main_Sources look for python-catkin-pkg. I think it's the same for bloom, rosdep, etc. They are not catkin package themselves, yet are among ROS packages.
I am wondering how these package end up there, because they are not built by the buildfarm, it seems to me...
They could be "special cases" but this is a workflow that I think would be beneficial in multiple cases:
- if I have a python dependency as pip package, that I want to provide for ROS, I can just build a deb with fpm, and I could release it for other ROS users to use this way, without having to do the whole catkinization of it (adding package.xml, CMakeLists.txt, changing setup.py, etc.)
- if I develop a package that is not "only" ROS, but still provide a useful feature for robots, it would be good to have it among ROS packages, so people don't need to trust yet another custom apt source repo to get it.