New Packages for Indigo 2017-12-26

We’re happy to announce 21 new packages and 145 updated packages for Indigo. 8 packages have also been removed in this sync, 6 of which are due to the regression tracked here.

As always thank you to all the maintainers and contributors who make these updates possible! Details are below.

Package Updates for indigo

Added Packages [21]:

  • ros-indigo-bcap-core: 3.0.2-1
  • ros-indigo-bcap-service: 3.0.2-1
  • ros-indigo-bcap-service-test: 3.0.2-1
  • ros-indigo-catkin-virtualenv: 0.1.4-0
  • ros-indigo-denso-robot-bringup: 3.0.2-1
  • ros-indigo-denso-robot-control: 3.0.2-1
  • ros-indigo-denso-robot-core: 3.0.2-1
  • ros-indigo-denso-robot-core-test: 3.0.2-1
  • ros-indigo-denso-robot-descriptions: 3.0.2-1
  • ros-indigo-denso-robot-gazebo: 3.0.2-1
  • ros-indigo-denso-robot-moveit-config: 3.0.2-1
  • ros-indigo-denso-robot-ros: 3.0.2-1
  • ros-indigo-dynamic-transform-publisher: 1.0.1-1
  • ros-indigo-grid-map-sdf: 1.6.0-0
  • ros-indigo-handeye: 0.1.0-0
  • ros-indigo-ros-speech-recognition: 2.1.6-0
  • ros-indigo-sainsmart-relay-usb: 0.0.2-0
  • ros-indigo-tango-ros-messages: 2.0.0-0
  • ros-indigo-test-catkin-virtualenv: 0.1.3-0
  • ros-indigo-test-catkin-virtualenv-py3: 0.1.3-0
  • ros-indigo-tork-moveit-tutorial: 0.0.3-0

Updated Packages [145]:

  • ros-indigo-actionlib: 1.11.9-0 -> 1.11.12-0
  • ros-indigo-amcl: 1.12.13-0 -> 1.12.14-0
  • ros-indigo-assimp-devel: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-auv-msgs: 0.0.1-0 -> 0.1.0-0
  • ros-indigo-base-local-planner: 1.12.13-0 -> 1.12.14-0
  • ros-indigo-bayesian-belief-networks: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-bond: 1.7.19-0 -> 1.7.20-0
  • ros-indigo-bond-core: 1.7.19-0 -> 1.7.20-0
  • ros-indigo-bondcpp: 1.7.19-0 -> 1.7.20-0
  • ros-indigo-bondpy: 1.7.19-0 -> 1.7.20-0
  • ros-indigo-carrot-planner: 1.12.13-0 -> 1.12.14-0
  • ros-indigo-checkerboard-detector: 1.2.2-0 -> 1.2.3-0
  • ros-indigo-class-loader: 0.3.6-0 -> 0.3.8-0
  • ros-indigo-clear-costmap-recovery: 1.12.13-0 -> 1.12.14-0
  • ros-indigo-collada-urdf-jsk-patch: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-costmap-2d: 1.12.13-0 -> 1.12.14-0
  • ros-indigo-downward: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-dwa-local-planner: 1.12.13-0 -> 1.12.14-0
  • ros-indigo-fake-localization: 1.12.13-0 -> 1.12.14-0
  • ros-indigo-ff: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-ffha: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-geometric-shapes: 0.4.5-0 -> 0.4.6-0
  • ros-indigo-global-planner: 1.12.13-0 -> 1.12.14-0
  • ros-indigo-grid-map: 1.5.2-0 -> 1.6.0-0
  • ros-indigo-grid-map-core: 1.5.2-0 -> 1.6.0-0
  • ros-indigo-grid-map-costmap-2d: 1.5.2-0 -> 1.6.0-0
  • ros-indigo-grid-map-cv: 1.5.2-0 -> 1.6.0-0
  • ros-indigo-grid-map-demos: 1.5.2-0 -> 1.6.0-0
  • ros-indigo-grid-map-filters: 1.5.2-0 -> 1.6.0-0
  • ros-indigo-grid-map-loader: 1.5.2-0 -> 1.6.0-0
  • ros-indigo-grid-map-msgs: 1.5.2-0 -> 1.6.0-0
  • ros-indigo-grid-map-octomap: 1.5.2-0 -> 1.6.0-0
  • ros-indigo-grid-map-pcl: 1.5.2-0 -> 1.6.0-0
  • ros-indigo-grid-map-ros: 1.5.2-0 -> 1.6.0-0
  • ros-indigo-grid-map-rviz-plugin: 1.5.2-0 -> 1.6.0-0
  • ros-indigo-grid-map-visualization: 1.5.2-0 -> 1.6.0-0
  • ros-indigo-grpc: 0.0.5-0 -> 0.0.6-0
  • ros-indigo-hrpsys-ros-bridge: 1.4.1-0 -> 1.4.2-0
  • ros-indigo-hrpsys-tools: 1.4.1-0 -> 1.4.2-0
  • ros-indigo-imagesift: 1.2.2-0 -> 1.2.3-0
  • ros-indigo-jsk-3rdparty: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-jsk-pcl-ros: 1.2.2-0 -> 1.2.3-0
  • ros-indigo-jsk-pcl-ros-utils: 1.2.2-0 -> 1.2.3-0
  • ros-indigo-jsk-perception: 1.2.2-0 -> 1.2.3-0
  • ros-indigo-jsk-recognition: 1.2.2-0 -> 1.2.3-0
  • ros-indigo-jsk-recognition-msgs: 1.2.2-0 -> 1.2.3-0
  • ros-indigo-jsk-recognition-utils: 1.2.2-0 -> 1.2.3-0
  • ros-indigo-julius: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-julius-ros: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-laser-filters-jsk-patch: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-libcmt: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-libsiftfast: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-lpg-planner: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-map-server: 1.12.13-0 -> 1.12.14-0
  • ros-indigo-marti-data-structures: 1.2.0-0 -> 2.0.0-0
  • ros-indigo-mini-maxwell: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-move-base: 1.12.13-0 -> 1.12.14-0
  • ros-indigo-move-base-msgs: 1.12.13-0 -> 1.12.14-0
  • ros-indigo-move-slow-and-clear: 1.12.13-0 -> 1.12.14-0
  • ros-indigo-moveit: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-commander: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-controller-manager-example: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-core: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-fake-controller-manager: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-full: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-full-pr2: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-kinematics: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-planners: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-planners-ompl: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-plugins: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-ros: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-ros-benchmarks: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-ros-benchmarks-gui: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-ros-control-interface: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-ros-manipulation: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-ros-move-group: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-ros-perception: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-ros-planning: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-ros-planning-interface: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-ros-robot-interaction: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-ros-visualization: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-ros-warehouse: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-runtime: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-setup-assistant: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-moveit-simple-controller-manager: 0.7.12-0 -> 0.7.13-0
  • ros-indigo-nav-core: 1.12.13-0 -> 1.12.14-0
  • ros-indigo-navfn: 1.12.13-0 -> 1.12.14-0
  • ros-indigo-navigation: 1.12.13-0 -> 1.12.14-0
  • ros-indigo-nextage-calibration: 0.7.16-0 -> 0.7.16-2
  • ros-indigo-nextage-description: 0.7.16-0 -> 0.7.16-2
  • ros-indigo-nextage-gazebo: 0.7.16-0 -> 0.7.16-2
  • ros-indigo-nextage-ik-plugin: 0.7.16-0 -> 0.7.16-2
  • ros-indigo-nextage-moveit-config: 0.7.16-0 -> 0.7.16-2
  • ros-indigo-nextage-ros-bridge: 0.7.16-0 -> 0.7.16-2
  • ros-indigo-nlopt: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-nmea-msgs: 0.1.1-0 -> 1.1.0-0
  • ros-indigo-nodelet: 1.9.10-0 -> 1.9.14-0
  • ros-indigo-nodelet-core: 1.9.10-0 -> 1.9.14-0
  • ros-indigo-nodelet-topic-tools: 1.9.10-0 -> 1.9.14-0
  • ros-indigo-openrtm-ros-bridge: 1.4.1-0 -> 1.4.2-0
  • ros-indigo-openrtm-tools: 1.4.1-0 -> 1.4.2-0
  • ros-indigo-opt-camera: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-parameter-pa: 1.1.0-0 -> 1.2.1-0
  • ros-indigo-pgm-learner: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-pid: 0.0.20-0 -> 0.0.23-0
  • ros-indigo-plotjuggler: 1.4.2-0 -> 1.5.0-0
  • ros-indigo-pluginlib: 1.10.5-0 -> 1.10.6-0
  • ros-indigo-rail-object-detector: 1.0.4-0 -> 2.0.1-0
  • ros-indigo-realsense-camera: 1.8.0-0 -> 1.8.1-1
  • ros-indigo-resized-image-transport: 1.2.2-0 -> 1.2.3-0
  • ros-indigo-robot-localization: 2.3.2-0 -> 2.3.3-0
  • ros-indigo-robot-pose-ekf: 1.12.13-0 -> 1.12.14-0
  • ros-indigo-rosnode-rtc: 1.4.1-0 -> 1.4.2-0
  • ros-indigo-rospatlite: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-rosping: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-rostwitter: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-rotate-recovery: 1.12.13-0 -> 1.12.14-0
  • ros-indigo-rtmbuild: 1.4.1-0 -> 1.4.2-0
  • ros-indigo-rtmros-common: 1.4.1-0 -> 1.4.2-0
  • ros-indigo-rtmros-nextage: 0.7.16-0 -> 0.7.16-2
  • ros-indigo-sick-tim: 0.0.10-0 -> 0.0.11-0
  • ros-indigo-slic: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-smclib: 1.7.19-0 -> 1.7.20-0
  • ros-indigo-swri-console-util: 1.2.0-0 -> 2.0.0-0
  • ros-indigo-swri-geometry-util: 1.2.0-0 -> 2.0.0-0
  • ros-indigo-swri-image-util: 1.2.0-0 -> 2.0.0-0
  • ros-indigo-swri-math-util: 1.2.0-0 -> 2.0.0-0
  • ros-indigo-swri-nodelet: 1.2.0-0 -> 2.0.0-0
  • ros-indigo-swri-opencv-util: 1.2.0-0 -> 2.0.0-0
  • ros-indigo-swri-prefix-tools: 1.2.0-0 -> 2.0.0-0
  • ros-indigo-swri-roscpp: 1.2.0-0 -> 2.0.0-0
  • ros-indigo-swri-rospy: 1.2.0-0 -> 2.0.0-0
  • ros-indigo-swri-route-util: 1.2.0-0 -> 2.0.0-0
  • ros-indigo-swri-serial-util: 1.2.0-0 -> 2.0.0-0
  • ros-indigo-swri-string-util: 1.2.0-0 -> 2.0.0-0
  • ros-indigo-swri-system-util: 1.2.0-0 -> 2.0.0-0
  • ros-indigo-swri-transform-util: 1.2.0-0 -> 2.0.0-0
  • ros-indigo-swri-yaml-util: 1.2.0-0 -> 2.0.0-0
  • ros-indigo-trac-ik: 1.4.5-0 -> 1.4.7-0
  • ros-indigo-trac-ik-examples: 1.4.5-0 -> 1.4.7-0
  • ros-indigo-trac-ik-kinematics-plugin: 1.4.5-0 -> 1.4.7-0
  • ros-indigo-trac-ik-lib: 1.4.5-0 -> 1.4.7-0
  • ros-indigo-voice-text: 2.1.4-0 -> 2.1.6-0
  • ros-indigo-voxel-grid: 1.12.13-0 -> 1.12.14-0
  • ros-indigo-zbar-ros: 0.0.5-0 -> 0.1.0-0

Removed Packages [8]:

  • ros-indigo-cepton
  • ros-indigo-cost-map
  • ros-indigo-cost-map-core
  • ros-indigo-cost-map-cv
  • ros-indigo-cost-map-demos
  • ros-indigo-cost-map-ros
  • ros-indigo-cost-map-visualisations
  • ros-indigo-schunk-sdhx

Thanks to all ROS maintainers who make packages available to the ROS community. The above list of packages was made possible by the work of the following maintainers:

  • Allison Thackston
  • Andy Zelenak
  • Bence Magyar
  • DENSO WAVE INCORPORATED
  • Dave Coleman
  • David V. Lu!!
  • Davide Faconti
  • Ed Venator
  • Elliot Johnson
  • Francisco Suarez-Ruiz
  • Hitoshi Kamada
  • IK Fast Plugin Creater
  • Ioan Sucan
  • Isaac I. Y. Saito
  • Jon Binney
  • Kei Okada
  • Kevin Hallenbeck
  • Kris Kozak
  • Marc Alban
  • Martin Günther
  • Mathias Lüdtke
  • Michael Ferguson
  • Michael Görner
  • Mikael Arguedas
  • MoveIt Setup Assistant
  • Noda Shintaro
  • Patrick Beeson
  • Paul Bovbel
  • Peter Weissig
  • Péter Fankhauser
  • Ruben Smits
  • Ryohei Ueda
  • Sergey Dorodnicov
  • Shengye Wang
  • Siddhartha Banerjee
  • TORK
  • Takuya Nakaoka
  • Tom Moore
  • Yohei Kakiuchi
  • Youhei Kakiuchi
  • Yuki Furuta
  • Yuto Inagaki
  • k-okada

Planning for this sync was at: Preparing for Indigo Sync 2017-12-21

Seems the update of ros-indigo-nodelet 1.9.10-0 -> 1.9.14-0 broke ABI compatibility and all nodelets that were compiled before (with 1.9.10) now segfault immediately.

Was this an accidental oversight or should we not expect to be able to build our own internal debian packages with out the need to recompile them when there is a new distro sync?

1 Like

In general ABI compatibility is not guaranteed, but we do strive for it in the core packages. I’d recommend letting the upstream package know of the ABI breakage (nodelet_core in this case?), though once it’s released there’s not much to be done about it other than break ABI again to go to the old state.

Since ABI stability is not guaranteed, especially for non-core packages, I think it’s best not to assume you can have deb’s on top of ours that do not need to be rebuilt after a sync.

1 Like

Thanks @flixr for reporting. We had the discussion on the github ticket but I will summarize here for visibility:

Yes it was an oversight and I apologize for the breakage and trouble it caused.
We try not to break ABI in low level packages as much as possible. As pointed out above there is not much that can be done now as the ABI breakage has been released (and that some distribution use this ABI for several months now.

That being said all the ROS tools and infrastructure assume ABI incompatibility and every package is rebuilt if one of their dependency changes. So package consumer should not assume ABI compatibility, and assume they have to rebuild the debs on top of the released ones after a sync.

A new package format has been proposed to allow packages to provide “compatibility version” information. We plan in the future to support that format in our tools and to provide infrastructure to check ABI and reject releases if a package is advertised as ABI compatible but is not. Note that this will be an opt-in choice and that package maintainers can choose to release ABI breaking changes anyway.

What is the best way to automate a rebuild upon a sync? Is there some kind of API endpoint to poll?

Right now I am manually re-triggering when I get the email, to ensure that there are no ABI problems. This is probably more than necessary, as this means that I am rebuilding even if none of the dependencies were touched, but it’s better than breaking packages on user systems.

We are not using ros_buildfarm but a home-grown buildbot based solution, if that matters.

There’s not a recommended way to automatically trigger after a new sync because we recommend that if you’re building on top you actually import the packages that you are building on top of into your repository. Reading the documentation for custom repositories,

We don’t call it out well, but there are instructions for setting up the import rule and how to generate the rosdep rules automatically for the imported files.

Part of the reason that there’s no standard way to do this sort of triggering is that for any different user there are different thresholds. If you’re only using 10 packages those packages may never have changed. If you simply retrigger everything after a manually selected import you can make sure that nothing is incompatible. There is work ongoing to have better compatibility information available in the rosdistro in an update to the package.xml spec.

But even with that I’d generally recommend doing a snapshot import so that you know that you have full control of the packages.