rosdep sources list

The rosdep command-line tool is similar to other tools like apt that use a sources list to update a local index.

rosdep 2 loads valid data sources specified in the sources list in order. This follows the behavior of apt, which designates the “most preferred source listed first.”

Each rosdep entry from the data sources is combined into a single rosdep database. Entries from data sources listed higher in the sources have higher precedence. The first entry for a rosdep key “wins”. Subsequent entries for the same key, even if they are non-conflicting, are not merged.

A data source is considered valid if all of its tags match the local tags. A data source with no tags is always loaded.

Updating the local index

A new local index can be generated by running rosdep update.

Sources list file format

Sources list files are loaded from /etc/ros/rosdep/sources.list.d. sudo rosdep init will create a default configuration for you.

rosdep processes the files in this directory, sorted by filename in ascending order. Precedence is assigned to the files in the order they are processed, with the first file having the highest precendence.

A .list file lists data sources, with the most preferred data source first. The general format is:

source-type url [tags...]

source-type can be:

yaml

rosdep.yaml file

gbpdistro

gbpdistro file.

type

Type must be yaml or gbpdistro. In the future, more types may be supported.

url

URL should point to the HTTP location of a rosdep YAML file. URL must contain an scheme (e.g. http://), hostname, and path.

tags

Tags are optional. Currently, the OS name (e.g. ubuntu), OS codename (e.g. lucid), and ROS distribution codename (e.g. fuerte) are supported. These tags are all lower-case.

Lines that start with a # are considered to be comments.

Example file:

yaml https://github.com/ros/rosdistro/raw/master/rosdep/base.yaml
yaml https://github.com/ros/rosdistro/raw/master/rosdep/python.yaml
gbpdistro https://github.com/ros/rosdistro/raw/master/releases/fuerte.yaml fuerte

Tags

The tags constrain the configurations that the source will be loaded on. All tags must match the current configuration for the source to be considered valid. In the example above, the source will only be valid for the ROS Fuerte distribution on an Ubuntu Lucid platform.

gbpdistro files

gbpdistro refers to a git-buildpackage-based toolchain currently in use for building catkin-based ROS stacks. End users are not expected to write their own gbpdistro files and the specification is unstable.