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

Revision history [back]

click to hide/show revision 1
initial version

At least for the python-* packages that seem to come from ros_comm, those would be the upstream packages.

The same would apply to the many ros-* packages that can be installed from the ubuntu.com repositories directly. Those are imported from the upstream Debian repositories.

Quoting from wiki/UpstreamPackages:

Thanks to diligent effort from Jochen Sprickerhof and Leopold Avellaneda, there are now ROS packages available upstream in Debian unstable and Ubuntu Xenial that can be installed from the main Debian and Ubuntu repositories. Here’s a short overview from Jochen at ROSCon 2015: https://vimeo.com/142151399#t=29m15s.

Most of the packages up to desktop-full are available (overview of package status: https://wiki.debian.org/DebianScience/Robotics/ROS/Packages). The original ROS packages have been modified to follow Debian guidelines, which includes splitting packages into multiple pieces, changing names in some cases, installing to /usr according to FHS guidelines, and using soversions on shared libraries. For example, roslib is called python-roslib and roscpp is in the libroscpp-dev and libroscpp0d packages.

Unlike the OSRF-provided ROS packages from packages.ros.org, the packages in the upstream repositories are not attached to a specific ROS distribution. Rather, they represent a rolling release that will be updated periodically within Debian unstable and then periodically latched at various points into downstream Debian and Ubuntu distributions.

The general advice is to not use them, especially when you actually want to use a specific ROS release.

The upstream packages conflict with the ones from packages.ros.org and installing them can lead to quite some difficult to diagnose problems with apt.

At least for the python-* packages that seem to come from ros_comm, those would be the upstream packages.

The same would apply to the many ros-* packages that can be installed from the ubuntu.com repositories directly. Those are imported from the upstream Debian repositories.repositories. You can recognise them as they don't have a ROS distribution name in the package name (so it would be ros-desktop instead of ros-$ROS_DISTRO-desktop fi).

Quoting from wiki/UpstreamPackages:

Thanks to diligent effort from Jochen Sprickerhof and Leopold Avellaneda, there are now ROS packages available upstream in Debian unstable and Ubuntu Xenial that can be installed from the main Debian and Ubuntu repositories. Here’s a short overview from Jochen at ROSCon 2015: https://vimeo.com/142151399#t=29m15s.

Most of the packages up to desktop-full are available (overview of package status: https://wiki.debian.org/DebianScience/Robotics/ROS/Packages). The original ROS packages have been modified to follow Debian guidelines, which includes splitting packages into multiple pieces, changing names in some cases, installing to /usr according to FHS guidelines, and using soversions on shared libraries. For example, roslib is called python-roslib and roscpp is in the libroscpp-dev and libroscpp0d packages.

Unlike the OSRF-provided ROS packages from packages.ros.org, the packages in the upstream repositories are not attached to a specific ROS distribution. Rather, they represent a rolling release that will be updated periodically within Debian unstable and then periodically latched at various points into downstream Debian and Ubuntu distributions.

The general advice is to not use them, especially when you actually want to use a specific ROS release.

The upstream packages conflict with the ones from packages.ros.org and installing them can lead to quite some difficult to diagnose problems with apt.

At least for the python-* packages that seem to come from ros_comm, those would be the upstream packages.

The same would apply to the many ros-* packages that can be installed from the ubuntu.com repositories directly. Those are imported from the upstream Debian repositories. You can recognise them as they don't have a ROS distribution name in the package name (so it would be ros-desktop instead of ros-$ROS_DISTRO-desktop fi).

Quoting from wiki/UpstreamPackages:

Thanks to diligent effort from Jochen Sprickerhof and Leopold Avellaneda, there are now ROS packages available upstream in Debian unstable and Ubuntu Xenial that can be installed from the main Debian and Ubuntu repositories. Here’s a short overview from Jochen at ROSCon 2015: https://vimeo.com/142151399#t=29m15s.

Most of the packages up to desktop-full are available (overview of package status: https://wiki.debian.org/DebianScience/Robotics/ROS/Packages). The original ROS packages have been modified to follow Debian guidelines, which includes splitting packages into multiple pieces, changing names in some cases, installing to /usr according to FHS guidelines, and using soversions on shared libraries. For example, roslib is called python-roslib and roscpp is in the libroscpp-dev and libroscpp0d packages.

Unlike the OSRF-provided ROS packages from packages.ros.org, the packages in the upstream repositories are not attached to a specific ROS distribution. Rather, they represent a rolling release that will be updated periodically within Debian unstable and then periodically latched at various points into downstream Debian and Ubuntu distributions.

The general advice is to not use them, especially when you actually want to use a specific ROS release.

The upstream packages conflict with the ones from packages.ros.org and installing them can lead to quite some difficult to diagnose problems with apt.

However, the upstreamed packages are built for many architectures for which "regular" ROS .deb packages are not available from packages.ros.org. If you have one of those platforms, would like to avoid building ROS from source and use a subset of ROS that is less version-dependent (fi: messages that have not changed and are unlikely to change) then using the upstream packages can actually be convenient.