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
generate a changelog
bump the package version
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.
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.
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.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).Now execute the same steps as for existing packages. The only difference is to append
--all
to thecatkin_generate_changelog
command so it becomes$ catkin_generate_changelog --all