I am developing multiple ros2 packages that depend on each other. I use a rosdep repository and a debian repository to install dependencies via
rosdep install ...
To support configuration management I want to version the ros2 packages.
My debian repository already supports multiple package versions. My packages file looks like this:
Package: ros-humble-dependency-a
Version: 0.0.1-0jammy
...
Package: ros-humble-dependency-a
Version: 0.0.2-0jammy
...
I am able to install a specific version of the package:
user:/ros2_ws# apt-get install -y ros-humble-dependency-a=0.0.1-0jammy
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
ros-humble-dependency-a
0 upgraded, 1 newly installed, 0 to remove and ... not upgraded.
Inst ros-humble-dependency-a (0.0.1-0jammy ... [amd64])
Conf ros-humble-dependency-a (0.0.1-0jammy ... [amd64])
My rosdep.yml looks like this:
dependency-a:
debian: [ros-humble-dependency-a]
ubuntu: [ros-humble-dependency-a]
According to https://ros.org/reps/rep-0149.html#build-depend-multiple I can set a version to the depend tag in my package.xml, so I tried:
<depend version_eq="0.0.1-0jammy">dependency-a</depend>
However when I issue the following command, it is always installing the most recent version:
user:/ros2_ws# rosdep install --from-paths src --ignore-src -r -y
executing command [apt-get install -y ros-humble-dependency-a]
According to https://github.com/ros-infrastructure/rosdep/blob/master/doc/rosdep_yaml_format.rst there is no way to set a version number. Do I need to add the version to my rosdep.yml? How do I do that?