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

What is the status of rdmanifests?

asked 2017-02-21 10:09:05 -0500

gvdhoorn gravatar image

updated 2018-12-18 10:42:45 -0500

The pylon_camera package installation procedure instructs users to add a custom source to their local rosdep (15-pylon_camera.list) containing two source::uri elements that point to a single rdmanifest file: pylon_sdk.rdmanifest. That rdmanifest then is used to make rosdep satisfy the libpylon(-dev) dependency (when used with rosdep install ..).

I can still remember the time when the main rosdep database included snippets of bash (or even things coming close to full scripts), package-local yaml files with similar lines and rdmanifest files being distributed with packages. I also remember a major cleanup of rosdep to remove all that (because of running arbitrary snippets of shell script with super-user permissions, rosdep silently changing a system's configuration (by adding ppas or other apt repositories fi), and because it was just generally not maintainable nor scalable).

Seeing a recently created package like pylon_camera use something like rdmanifests makes me wonder what the official status is of those particular pieces of the rosdep infrastructure, and whether current users / packagers / maintainers should be discouraged from relying on them?

Afaik the buildfarm will also not build packages that rely on this (deprecated?) functionality, so perhaps that is deterrent enough already, but an authoritative answer would be nice to have.

edit retag flag offensive close merge delete


Note: I did not choose pylon_camera for any reason other than that it is a good example of a current use of rdmanifest files.

gvdhoorn gravatar image gvdhoorn  ( 2017-02-21 10:09:17 -0500 )edit

#q251248 is an example of a question about rdmanifests that was posted as recent as 2017-01-04.

gvdhoorn gravatar image gvdhoorn  ( 2017-02-21 10:24:47 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2017-02-21 13:32:16 -0500

tfoote gravatar image

updated 2017-02-21 13:33:54 -0500

rdmanifests are defined here:

They are a tool that works for developers who are installing from source on more exotic platforms. But it's an important tool for users not on our main supported platforms.

They are not recommended for significant distribution and sharing. And cannot be used in a released package.

We don't expect to put a lot of energy into adding features. But because there are use cases where it is valuable and there's no viable alternative, we have not chosen to deprecate it.

My recommendation is that rdmanifests should only be used as a last resort if there are no other options.

edit flag offensive delete link more


Thanks. Personally I don't like shell scripts run with super user access installing all sorts of things circumventing the platform's pkg manager, but I can understand why in some cases there might be no other way to do deployment.

gvdhoorn gravatar image gvdhoorn  ( 2017-02-22 01:03:49 -0500 )edit

Question Tools

1 follower


Asked: 2017-02-21 10:09:05 -0500

Seen: 600 times

Last updated: Dec 18 '18