1.3. Releasing Debian Packages

Note

This section is targeted at the maintainers of our repositories and is not relevant for anyone else.

1.3.1. Create a new Release for an Existing Package

The basic steps are

  1. generate a changelog

  2. bump the package version

  3. create and push a new tag for that version

After that the buildbot will try to generate a new debian package and will update the HippoCampus Repository.

There are convenience tools to perform the above mentioned steps, so the commands we need to exectute are the following:

$ cd <REPOSITORY>
$ catkin_generate_changelog \
&& git add CHANGELOG.rst \
&& git commit -m 'updated changelog' \
&& catkin_prepare_release

That’s it!

1.3.2. Create a Release for a new Package

This requires some additional steps as it involves updating the buildbot to make sure it builds the release.

  1. Add the new package to the list of repositories in the master.cfg in the buildbot repository.

    Note

    Currently only repositories directly representing a ros package are supported. Support for multiple packages per repository could be enabled by updating the buildbot config to handle these cases.

  2. Restart the buildbot instace on the buildbot server

    $ buildbot restart basedir
    

    Note

    If there are currently builds beeing processed, the buildbot master will not exit before they are completed. In this case, we will get the message

    $ buildbot restart basedir
    never saw process go away
    

    We can either wait until it has completed (probably preferable) or if we do not care about the running builds, kill the twistd process.

  3. Add the key for the package to our rosdep file in our infrastructure repository (otherwise rosdep will not be able to resolve dependencies on the new repository).

  4. Now execute the same steps as for existing packages. The only difference is to append --all to the catkin_generate_changelog command so it becomes

    $ catkin_generate_changelog --all