scdaq: Install offline dependencies, bump to Python3.9
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
).