ros-infrastructure / buildfarm_deployment

Apache License 2.0
30 stars 39 forks source link

current reprepro version doesn't support .buildinfo files #145

Closed dirk-thomas closed 6 years ago

dirk-thomas commented 7 years ago

On Debian Stretch dpkg generates .buildinfo files. The currently used version of reprepro on the building_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

mikaelarguedas commented 7 years ago

@tfoote Is the solution to simply use reprepro 5.x or do we have to do something more tricky to solve this ?

tfoote commented 7 years ago

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

dirk-thomas commented 7 years ago

As mentioned above it only needs to be updated on a single machine, the building_repository node.

mikaelarguedas commented 7 years ago

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

mikaelarguedas commented 7 years ago

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.

dirk-thomas commented 7 years ago

I would suggest not to use a non-LTS Ubuntu distro on any of the buildfarm machines.

mikaelarguedas commented 7 years ago

Agreed, given the low overhead of installing these 2 debs I like this option better too

dirk-thomas commented 7 years ago

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.

nuclearsandwich commented 7 years ago

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?

tfoote commented 7 years ago

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.

nuclearsandwich commented 7 years ago

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.

nuclearsandwich commented 6 years ago

Resolved now that Xenial is the default.