0
$\begingroup$

Rosanswers logo

We're migrating from Fuerte to Hydro (rosbuild to catkin, more specifically), and all our existing build scripts that generate Fuerte-package-based Debian packages will no longer work. I understand the recommended approach to building Debian packages from catkin packages is to use bloom, but bloom seems very oriented to code that's released to others.

What is the recommended approach to automatically building and internally releasing Debian packages from local repositories? Ideally, every commit to our 'develop' branch would automatically generate a new Debian package for use on our test robots (likely without bumping package.xml version) and every commit to our 'master' branch would generate Debian packages for use on our production robots (with an associated bump to package.xml version). (To be clear, when I reference bumping version numbers, I mean commits to 'develop' don't constitute a new version of code for us, just another commit to be included in the next version number when they're all merged into 'master', ala git-flow.) And ideally, our Debian packages would include the git-hash in the Debian version, but I'm not clear on how to get a git-hash into the package.xml version number?

I've tried using bloom and it seems to create debs for the packages I've tested, but it's a very manual process (lots of questions to answer) and there's parts that suggest the new release will be advertised in official repos (via pull request) which is not OK.

Thanks for your help.


Originally posted by dustingooding on ROS Answers with karma: 139 on 2014-12-16

Post score: 1

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

If you want to use any infrastructure of ROS (e.g. the new Docker-based buildfarm) you need to bloom-release your packages since it depends on the existence of GBP repositories.

The new buildfarm allows you to setup your own Jenkins farm using a private rosdistro if you don't want the code to be public. Please see the docs referenced from the buildfarm wiki page for details how to set this up.

You would need to setup custom jobs to perform automatic bloom releases. Regarding the question how to integrate the Git hash into the version number: You could put the hash into the description and level the debian increment for each new release from the develop branch.

One thing not clear to me is how you want the Debian packages from master and develop branches to coexist side-by-side.


Originally posted by Dirk Thomas with karma: 16276 on 2014-12-16

This answer was ACCEPTED on the original site

Post score: 2


Original comments

Comment by dustingooding on 2014-12-16:
Thanks for the buildfarm info. I'll check on that. We're using Bamboo (not Jenkins) so I hope that doesn't cause too much trouble.

As for master and develop packages, we make use of the traditional apt repository layout with "stable" (master), "testing" (develop), and "unstable" (feature) suites.

$\endgroup$