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 beyaml
orgbpdistro
. 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.