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.