SIGs/Robotics/ROS Packaging

From FedoraProject

< SIGs | Robotics
Revision as of 23:15, 27 March 2013 by Ankursinha (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.

Contents

Tasks

  • Package python tools that have traditionally been installed using easy_install Packages submitted for review
  • Package the ROS build underlay for ROS Fuerte
    • Versions listed here
    • Sources available on github
  • Package auxiliary packages if time permits
  • Focus on upgrade to Groovy for f19 after the November release
  • Pending fuerte review tickets

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.

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 python-rosdep 0.9.7 Review Request
rosinstall python-rosinstall 0.6.19 Review Request
rospkg python-rospkg 1.0.6 pkgdb
vcstools python-vcstools 0.1.17 pkgdb

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