ROS has traditionally only supported a self-contained installation from version control, typically somewhere like ~/ros or /opt/ros. While Debian and Ubuntu packages exist for many ROS components, they are hosted by the ROS community and onl support installation to /opt/ros. Beginning with ROS Fuerte (released 2012-04-23), the ROS community is moving towards conforming with the FHS (REP 122.)
Now that the ROS community are targeting an FHS-compatible layout, it should be possible to generate binary packages for ROS components and get them accepted into Fedora proper (distribution acceptance is one of the stated reasons for the switch.) This page summarizes the progress towards getting a full working ROS installation into Fedora.
Tasks
- Package python tools that have traditionally been installed using easy_install
- Package the ROS build underlay
Dependencies
Some extra packaging work is
- Ensure all appropriate Fedora packages appear in their relevant rosdep manifests
- Package Gazebo (Review Request)
- Issues: Bundles several libraries, prefixed with gazebo_*.so. Some (ODE) contain significant changes from upstream. Need to get clarification on whether changes will be upstreamed.
- Fedora's PCL package lacks the ros messages and catkin setup information needed for perception_pcl.
- Issue here
Progress
ROS Core
These packages come from the "ros-underlay" source distribution, and all share the same SRPM. (ros-fuerte-1.8.7). The ros-fuerte rpm is based on a snapshot of the ros-underlay, taken on 2012-05-17. The source can be obtained by using the command:
rosinstall --catkin ~/fuerte-ros-base http://ros.org/rosinstalls/fuerte-ros-base.rosinstall
A "rosinstall" SRPM is available in the ROS Utilities section. More detailed instructions for how to obtain the ros-underlay and rosinstall through easy_install are available in the official ROS Fedora installation instructions.
Component Name | RPM Name | Version | Location |
---|---|---|---|
actionlib | ros-fuerte-actionlib | 1.8.6 | git |
catkin | catkin | 0.4.4 | git |
common_msgs | ros-fuerte-common-msgs | 1.8.5 | git |
gencpp | ros-fuerte-gencpp | 0.3.4 | git |
genlisp | ros-fuerte-genlisp | 0.3.3 | git |
genmsg | ros-fuerte-genmsg | 0.3.10 | git |
genpy | ros-fuerte-genpy | 0.3.7 | git |
ros | ros-fuerte-ros | 1.8.9 | git |
ros_comm | ros-fuerte-ros-comm | 1.8.12 | git |
roscpp_core | ros-fuerte-ros-cpp | 0.2.5 | git |
rospack | ros-fuerte-rospack | 2.0.13 | git |
std_msgs | ros-fuerte-std-msgs | 0.4.8 | git |
ROS Utilities
These packages are usually installed with easy_install or pip. They come from various Willow Garage repositories on github and wg-kforge. These packages contain some python utilities and libraries that aren't included in the ROS core source (the "ros-underlay.")
Component Name | RPM Name | Version | Location |
---|---|---|---|
rosdep | rosdep | 0.9.3 | SRPM |
rosinstall | rosinstall | 0.3.15 | SRPM |
rospkg | rospkg | 1.0.2 | SRPM |
vcstools | vcstools | 0.1.4 | SRPM |
Stacks
These are individual stacks that rely on each other and on the ROS Core. They all get installed to /usr/share/ros-stacks/stackname
Stacks can be downloaded as tarballs from the ROS Release archive. Each stack's directory contains a plain tarball, debian package source, and a yaml file. We can use the plain tarball for packaging, and the .yaml files generally have brief and full descriptions of the stack, inter-stack dependencies, and package dependencies that we can use to help write the .spec files.
Stack | RPM Name | Version | Location |
---|---|---|---|
bond_core | ros-fuerte-bond-core | 1.6.3 | SRPM |
bullet | ros-fuerte-bullet | 2.79 | SRPM |
diagnostics | ros-fuerte-diagnostics | 1.6.4 | SRPM |
driver_common | ros-fuerte-driver-common | 1.4.0 | SRPM |
dynamic_reconfigure | ros-fuerte-dynamic-reconfigure | 1.4.0 | SRPM |
filters | ros-fuerte-filters | 1.6.0 | SRPM |
geometry | ros-fuerte-geometry | 1.8.0 | SRPM |
image_common | ros-fuerte-image-common | 1.8.0 | SRPM |
nodelet_core | ros-fuerte-nodelet-core | 1.6.5 | SRPM |
orocos_kinematics_dynamics | ros-fuerte-orocos-kinematics-dynamics | 0.2.3 | SRPM |
pluginlib | ros-fuerte-pluginlib | 1.8.0 | SRPM |
vision_opencv | ros-fuerte-vision-opencv | 1.8.2 | SRPM |