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

Revision history [back]

I am not sure to understand too well your first solution but you could probably try something like:

rosdep_name:
  ubuntu: |
    sudo apt-add-repository <FIXME>
    sudo apt-get install <FIXME>

There is no default target in rosdep as it doesn't make sense when using it as it is intended to be. I.e. by filling package names and not executing shell scripts.

Additional note on my previous reply:

Of course I do not advise you to convert somehow your dependencies to full ROS packages (in the sense changing their buildchain or editing the package) but instead to use download_unpack_build.mk provided by rosmk. It retrieves an external package, build it separately, install it in a local prefix and consider it as a part of ROS.

I use several software as both standalone packages and ROS packages. Other projects such as PCL follow the same guideline.

As for applying local patches to fix bugs or add features, this is possible (download_unpack_build.mk supports it out of the box). By releasing your ROS stacks as Ubuntu binary packages, you can achieve updating without recompiling yourself. See the release process on the ROS wiki for more information on this.

Last thing: I do not like having to run apt-add-repository to install a software as this approach does not scale. If we end up having hundreds of PPA on a computer, the chance of breaking the packaging system at some point are really high.

I am not sure to understand too well your first solution but you could probably try something like:

rosdep_name:
  ubuntu: |
    sudo apt-add-repository <FIXME>
    sudo apt-get install <FIXME>

There is no default target in rosdep as it doesn't make sense when using one uses it as it is intended to be. I.e. by filling package names and not executing shell scripts.

Additional note on my previous reply:

Of course I do not advise you to convert somehow your dependencies to full ROS packages (in the sense changing their buildchain or editing the package) but instead to use download_unpack_build.mk provided by rosmk. It retrieves an external package, build it separately, install it in a local prefix and consider it as a part of ROS.

I use several software as both standalone packages and ROS packages. Other projects such as PCL follow the same guideline.

As for applying local patches to fix bugs or add features, this is possible (download_unpack_build.mk supports it out of the box). By releasing your ROS stacks as Ubuntu binary packages, you can achieve updating without recompiling yourself. See the release process on the ROS wiki for more information on this.

Last thing: I do not like having to run apt-add-repository to install a software as this approach does not scale. If we end up having hundreds of PPA on a computer, the chance of breaking the packaging system at some point are really high.