ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A answers.ros.org

Call for Testing: Update to Xenial Packages for PySide2 and Shiboken2

As part of a background effort we have been working to increase the reproducibility of ROS packaging. Part of that extends to the bootstrap repository. We have identified that we imported PySide2 for Xenial from a community PPA to support Kinetic but due to an oversight we failed to import the sourcedeb as well. The PPA has moved on to support newer versions of Ubuntu and the version that we are using is no longer available. We have taken the time to reproduce the packaging for that version of pyside2, including the binary and sourcedebs. For completeness, Shiboken2 which was originally sourced from the same PPA was also reproduced. An updated reprepro-updater configuration for importing from our reproduction PPA is here: Add the pyside2 source package to the import formula. by nuclearsandwich · Pull Request #94 · ros-infrastructure/reprepro-updater · GitHub and was extended to include the sourcedebs.

We have run abi-compliance-checker to validate that the newly generated packages are both 100% binary compatible and 100% source compatible with the old version of the packages. The Shiboken generated content does not appear to be completely deterministic in ordering with a few includes and enumerations for internal usage changing order with the regeneration. However these do not affect the external API.

We ran the reports in a Docker container for reproducibility. The contents of the repository are here: GitHub - ros-infrastructure/pyside_abi_checking The shiboken branch will generate reports for the shiboken2 packages.

We have also run manual testing of systems overlaying the new package builds and observed no regressions. Our next step that is in progress is to roll out the new packages for the building and testing repositories for the next 24 hours. And if there are no regressions observed the changes will be propagated to all repositories.

The packages are now in the building and testing repositories. If you see any issues please comment back here.

While trying to run the pyside_abi_checking docker scripts to see the results myself - I’m getting 404 errors from http://repos.ros.org in the following step:

RUN for p in $(cat Packages | grep shiboken2 | grep pool | awk '{print $2}'); do wget -q http://repos.ros.org/repos/ros_bootstrap/$p; done

It seems like the pyside packages listed in http://repositories.ros.org/ubuntu/building/dists/xenial/main/binary-amd64/Packages don’t exist in repos.ros.org/repos/ros_bootstrap - am I missing something?

Ahh, since we deployed it to testing the bootstrap repo was already updated, thus the broken urls. It only worked until we deployed. I’ve pushed a new commit that pulls consistently from the main repository while we’re in this intermediate state for both main and shiboken branches.

1 Like

Thanks to those who helped with the testing! The new packages have been deployed to the main repository as well.