Closed dirk-thomas closed 6 years ago
@tfoote Is the solution to simply use reprepro 5.x or do we have to do something more tricky to solve this ?
I'm not sure. From the bug report it looks like 5.x will be enough. We will also need to determine how to get 5.0 installed appropriately onto the machines. 5.x is not in debian packages until Zesty: http://packages.ubuntu.com/zesty/reprepro
As mentioned above it only needs to be updated on a single machine, the building_repository
node.
looking at the new version of reprepro and what the building_repository
is doing I think it would make sense to try to use the deb rather than backporting. Only blocker so far: there is one dependency that is not satisfied on trusty, libgpg-error0
. reprepro5.1.1
requires libgpg-error0 (>= 1.14)
but trusty ships 1.12-0.2ubuntu1
.
Edit: we should be able to install the xenial version of libgpg-error0
(1.21) on trusty. All dependencies are satisfied
Installed reprepro5.1.1 and libgpg-error0 1.21 on the building_repositories
machine.
It successfully built debs for xenial (http://build.ros.org/view/Lbin_uX64/job/Lbin_uX64__angles__ubuntu_xenial_amd64__binary/5/) and stretch (http://build.ros.org/view/Lbin_ds_dS64/job/Lbin_ds_dS64__catkin__debian_stretch_amd64__binary/8/).
We should update the puppet instructions to use these debs rather than the ones provided by trusty. Or move the build_repository
machine to Zesty once it's stable.
I would suggest not to use a non-LTS Ubuntu distro on any of the buildfarm machines.
Agreed, given the low overhead of installing these 2 debs I like this option better too
Since this has been applied to the building_repository
machine the remaining task of this ticket is to update the deployment to do the same.
We will also need to determine how to get 5.0 installed appropriately onto the machines.
In BSD or Arch, I would build the package from source in order to get it on an older machine. Can I grab a Debian source package meant for Zesty and try to backport it or is the a better method?
That's usually the easiest approach. If the dependencies haven't changed much often it can just be installed from the newer distro. But otherwise we can rebuild it using the zesty sourcedebs.
A script to build reprepro 5.1.1 based on Zesty's dsc is now part of the puppet config https://github.com/nuclearsandwich/buildfarm_deployment/blob/xenialize/dependencies/deb/build-reprepro.sh as is the generated .deb.
This can be closed when the xenial work is merged.
Resolved now that Xenial is the default.
On Debian Stretch
dpkg
generates.buildinfo
files. The currently used version ofreprepro
on thebuilding_repository
node doesn't support the option yet. See Debian ticket: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=843402 It likely needs to be updated to a newer version.Currently this fails all imports of Debian Stretch binary packages: e.g. http://build.ros.org/view/Lsrc_dS/job/Lbin_ds_dS64__catkin__debian_stretch_amd64__binary/
@mikaelarguedas FYI