Skip to content

scdaq: Install offline dependencies, bump to Python3.9

Giovanna Lazzari Miotto requested to merge scdaq/python39 into main

The `scdaq-image-builder` depends on packages downloaded from the internet (URLs from https://dl.fedoraproject.org and https://repo.almalinux.org).

These are namely EPEL and TBB:

RUN wget https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/e/epel-release-8-20.el8.noarch.rpm
RUN dnf install -y epel-release-8-20.el8.noarch.rpm
RUN wget https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/tbb-2018.2-9.el8.x86_64.rpm
RUN dnf install -y tbb-2018.2-9.el8.x86_64.rpm
RUN wget https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/tbb-devel-2018.2-9.el8.x86_64.rpm
RUN dnf install -y tbb-devel-2018.2-9.el8.x86_64.rpm

Unfortunately, in the EPEL case, only the most recent collection of repositories is kept online. As of today, this most recent version is epel-release-8-21.el8.noarch.rpm. You can see where this is going: the URL for EPEL releases is frequently broken and the same can happen at any moment with the TBB packages.

For a long-term solution, I propose to establish a root-level directory of downloaded dependencies, /packages.

In this MR, I introduce the /packages directory containing:

epel-release-8-21.el8.noarch.rpm
tbb-2018.2-9.el8.x86_64.rpm
tbb-devel-2018.2-9.el8.x86_64.rpm

The Dockerfile dockerfile-scdaq-builder predictably copies the /packages directory and installs the dependencies. In .gitlab-ci.yml, I had to change Kaniko's context to encompass the root directory so the directory could be seen.

I am taking the opportunity to bump us to Python3.9, which is required for a Python dependency back in SCDAQ's new test suite ( json5 ).

Edited by Giovanna Lazzari Miotto

Merge request reports

Loading