ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Create (all) deb-packages of ROS distro

asked 2021-01-07 10:51:55 -0600

Tobias Neumann gravatar image

Hello,

in the group I'm working at we're started to use ROS 2 (currently Foxy) on (slightly modified) Debian (currently Buster). As REP 2000 specifies the platform is only supported by source code. This results in slightly different versions running on each developers PC and maintaining several installations. We would like to decrease the complexity by building the packages ourself.

Preferably would a be a solution where all ros-packages in a workspace would be build and packaged as deb.

For a package without dependencies to other packages (e.g. ament_package) this can be done with bloom-generate and fakeroot. However this has to been called manually for each package in the correct order and requires that rosdep is updated. Is there a way to automate this for all ros-packages of a workspace?

regards Tobias

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2021-01-08 14:34:20 -0600

tfoote gravatar image

The full solution for what you're asking would be to setup your own instance of the buildfarm and build the subset of the packages you want targeting the platform(s) you want if you want to have individual debian packages for each package.

However there's a level of commitment that requires which may be more than you're looking for. For a lower weight approach I would recommend not trying to package and distribute things at a per package level but at the workspace level. You can tar up the install directory and then untar it onto the destination like we do with what we call "Fat Archives": https://index.ros.org/doc/ros2/Instal...

If you want to use the debian pipeline for sharing you could relatively easily extend these archives into a debian package using tools like checkinstall and manually adding the little bit of metadata necessary or manually generate the debian packages of the aggregate results. Again this is possible on the per package basis, but again you would have to sequence everything manually which is why we have the automated buildfarm systems for doing this.

edit flag offensive delete link more

Comments

Thank you very much for your answer. I hoped that there would be a minimal setup or workaround.

I'm not sure if Fat Archives would be an option for us, since we have a few different (small) projects, but it's a nice fallback option. I think we will invest some time in trying to get the buildfarm running and then will see if that would be too much overhead for us.

Tobias Neumann gravatar image Tobias Neumann  ( 2021-01-14 09:06:35 -0600 )edit

Entry points for setting up the buildfarm are here: https://github.com/ros-infrastructure... and here: https://github.com/ros-infrastructure...

tfoote gravatar image tfoote  ( 2021-01-14 12:15:52 -0600 )edit

As a complicating factor on the build farm setup we're currently migrating the official build farms from the deployment scripts which @tfoote linked to new ones based on Cinc/Chef and which support Ubuntu 20.04 as a host platform. From a pure technical perspective I would definitely recommend using the new deployment scripts. However, due to their newness there's an utter dearth of documentation on actually deploying with them. If the workspace archive will work, even as an intermediate measure, I'd definitely recommend that and if you're interested I can lean on you to review the buildfarm deployment documentation as I write it.

nuclearsandwich gravatar image nuclearsandwich  ( 2021-01-14 15:38:42 -0600 )edit

Thank you for these clear warnings ;). It would be nice if you could give me a heads up when you have the first version of the documentation. I hoped I could set this up at the beginning of the year, when project pressure isn't overwhelming yet ;), but it's better to wait instead of wasting time. As a warning I might not have directly time to setup the buildfarm when the documentation is finished. But when I do, I would most happily give you feedback.

Tobias Neumann gravatar image Tobias Neumann  ( 2021-01-15 12:52:15 -0600 )edit

Question Tools

2 followers

Stats

Asked: 2021-01-07 10:51:55 -0600

Seen: 274 times

Last updated: Jan 08 '21