Skip to content

Commit a5b099d

Browse files
authored
Merge pull request #199 from bedroge/client_container_rocky8
Build client container with Rocky 8 as base image
2 parents 86053f0 + 9022203 commit a5b099d

8 files changed

+45
-23
lines changed

Diff for: .github/workflows/build-publish-containers.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ jobs:
3232
contents: read
3333
strategy:
3434
matrix:
35-
tag: ['client:centos7', 'build-node:debian11', 'build-node:debian-sid']
35+
tag: ['client:rocky8', 'build-node:debian11', 'build-node:debian-sid']
3636
platform: [amd64, arm64, riscv64]
3737
exclude:
3838
# exclude images that don't support RISC-V
39-
- tag: client:centos7
39+
- tag: client:rocky8
4040
platform: riscv64
4141
- tag: build-node:debian11
4242
platform: riscv64
@@ -97,7 +97,7 @@ jobs:
9797
contents: read
9898
strategy:
9999
matrix:
100-
tag: ['client:centos7', 'build-node:debian11', 'build-node:debian-sid']
100+
tag: ['client:rocky8', 'build-node:debian11', 'build-node:debian-sid']
101101
steps:
102102
- name: Login to GitHub Container Registry
103103
if: github.event_name != 'pull_request'

Diff for: .github/workflows/build-test-release-client-packages.yml

+6-5
Original file line numberDiff line numberDiff line change
@@ -162,15 +162,16 @@ jobs:
162162
needs: build-linux-packages
163163
runs-on: ubuntu-latest
164164
container:
165-
image: centos:centos7
165+
image: rockylinux:8
166166
options: --device /dev/fuse --privileged
167167

168168
steps:
169169
- name: Download and install CVMFS client
170-
run: yum install -y https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest.noarch.rpm && yum-config-manager --enable cernvm-config
171-
172-
- name: Install CVMFS client
173-
run: yum install -y cvmfs cvmfs-config-none
170+
run: |
171+
dnf install -y https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest.noarch.rpm
172+
dnf install -y 'dnf-command(config-manager)'
173+
dnf config-manager --enable cernvm-config
174+
dnf install -y cvmfs cvmfs-config-none
174175
175176
- name: Download cvmfs-config-eessi package
176177
uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7 # v3.0.1

Diff for: .github/workflows/test-containers.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ jobs:
1111
steps:
1212
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0
1313
- name: Build the Docker image
14-
run: docker build . --file containers/Dockerfile.EESSI-client-centos7
14+
run: docker build . --file containers/Dockerfile.EESSI-client-rocky8

Diff for: containers/Dockerfile.EESSI-build-node-debian-sid

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
ARG cvmfsversion=2.11.2
1+
ARG cvmfsversion=2.11.5
22
ARG archspecversion=0.2.2
33
ARG awscliversion=1.32.22
44
ARG fuseoverlayfsversion=1.10

Diff for: containers/Dockerfile.EESSI-build-node-debian11

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
ARG cvmfsversion=2.11.2
1+
ARG cvmfsversion=2.11.5
22
ARG awscliversion=1.32.22
33
ARG fuseoverlayfsversion=1.10
44

Diff for: containers/Dockerfile.EESSI-client-centos7 renamed to containers/Dockerfile.EESSI-client-rocky8

+9-8
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
ARG cvmfsversion=2.11.2
1+
ARG cvmfsversion=2.11.5
22
# Stick to old version of fuse-overlayfs due to issues with newer versions
33
# (cfr. https://github.com/containers/fuse-overlayfs/issues/232)
44
ARG fuseoverlayfsversion=1.10
55

6-
FROM centos:7 AS prepare-rpm
6+
FROM rockylinux:8 AS prepare-rpm
77
ARG cvmfsversion
88
COPY ./containers/build-or-download-cvmfs-rpms.sh /build-or-download-cvmfs-rpms.sh
99
RUN sh /build-or-download-cvmfs-rpms.sh ${cvmfsversion}
1010

1111

12-
FROM centos:7 AS build-fuse-overlayfs
12+
FROM rockylinux:8 AS build-fuse-overlayfs
1313
ARG fuseoverlayfsversion
1414
RUN yum install -y wget fuse3-devel autoconf automake gcc make tar
1515
RUN wget https://github.com/containers/fuse-overlayfs/archive/refs/tags/v${fuseoverlayfsversion}.tar.gz \
@@ -18,17 +18,18 @@ RUN wget https://github.com/containers/fuse-overlayfs/archive/refs/tags/v${fuseo
1818
&& ./autogen.sh && ./configure && make && make install
1919

2020

21-
FROM centos:7
21+
FROM rockylinux:8
2222
ARG cvmfsversion
2323

2424
COPY --from=prepare-rpm /root/rpmbuild/RPMS /root/rpmbuild/RPMS
2525
COPY --from=build-fuse-overlayfs /usr/local/bin/fuse-overlayfs /usr/local/bin/fuse-overlayfs
2626

2727
RUN yum install -y sudo vim openssh-clients lsof strace
28-
RUN yum install -y /root/rpmbuild/RPMS/$(uname -m)/cvmfs-${cvmfsversion}-1.el7.$(uname -m).rpm \
29-
/root/rpmbuild/RPMS/$(uname -m)/cvmfs-fuse3-${cvmfsversion}-1.el7.$(uname -m).rpm \
30-
/root/rpmbuild/RPMS/$(uname -m)/cvmfs-libs-${cvmfsversion}-1.el7.$(uname -m).rpm \
31-
http://ecsft.cern.ch/dist/cvmfs/cvmfs-config/cvmfs-config-default-latest.noarch.rpm
28+
RUN elversion="$(rpm -q --queryformat '%{RELEASE}' rpm | cut -d '.' -f 2)" \
29+
&& yum install -y /root/rpmbuild/RPMS/$(uname -m)/cvmfs-${cvmfsversion}-1.${elversion}.$(uname -m).rpm \
30+
/root/rpmbuild/RPMS/$(uname -m)/cvmfs-fuse3-${cvmfsversion}-1.${elversion}.$(uname -m).rpm \
31+
/root/rpmbuild/RPMS/$(uname -m)/cvmfs-libs-${cvmfsversion}-1.${elversion}.$(uname -m).rpm \
32+
http://ecsft.cern.ch/dist/cvmfs/cvmfs-config/cvmfs-config-default-latest.noarch.rpm
3233
RUN yum install -y https://github.com/EESSI/filesystem-layer/releases/download/latest/cvmfs-config-eessi-latest.noarch.rpm
3334

3435
# download binary for specific version of fuse-overlayfs

Diff for: containers/build-or-download-cvmfs-debs.sh

+19
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,25 @@ then
4444
else
4545
apt-get install -y valgrind
4646
fi
47+
48+
# gcc 14 fix for CVMFS's dependency pacparser, see
49+
# https://github.com/manugarg/pacparser/issues/194
50+
if gcc --version | grep -q "^gcc.*14"; then
51+
cat << EOF > externals/pacparser/src/fix_gcc14.patch
52+
--- src/spidermonkey/js/src/jsapi.c
53+
+++ src/spidermonkey/js/src/jsapi.c
54+
@@ -93,7 +93,7 @@
55+
#ifdef HAVE_VA_LIST_AS_ARRAY
56+
#define JS_ADDRESSOF_VA_LIST(ap) ((va_list *)(ap))
57+
#else
58+
-#define JS_ADDRESSOF_VA_LIST(ap) (&(ap))
59+
+#define JS_ADDRESSOF_VA_LIST(ap) ((va_list *)(&(ap)))
60+
#endif
61+
62+
#if defined(JS_PARANOID_REQUEST) && defined(JS_THREADSAFE)
63+
EOF
64+
fi
65+
4766
cd ci/cvmfs
4867
# make sure the cvmfs package also uses debian 13 for debian sid
4968
[ $release = "13" ] && sed -i "s@\$(lsb_release -sr)@13@" ./deb.sh && sed -i "s/focal/trixie/" ./deb.sh

Diff for: containers/build-or-download-cvmfs-rpms.sh

+5-4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ cvmfsversion=$1
22
arch=$(uname -m)
33

44
yum install -y wget
5+
elversion="$(rpm -q --queryformat '%{RELEASE}' rpm | cut -d '.' -f 2)"
56
if [ "$arch" = "riscv64" ]
67
then
78
yum install -y epel-release
@@ -10,11 +11,11 @@ then
1011
update-alternatives --install /usr/bin/python python /usr/bin/python3 1
1112
update-alternatives --install /usr/bin/python python /usr/bin/python2 2
1213
update-alternatives --set python /usr/bin/python2
13-
wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-${cvmfsversion}/cvmfs-${cvmfsversion}-1.el7.src.rpm && rpmbuild --rebuild cvmfs-${cvmfsversion}-1.el7.src.rpm
14+
wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-${cvmfsversion}/cvmfs-${cvmfsversion}-1.${elversion}.src.rpm && rpmbuild --rebuild cvmfs-${cvmfsversion}-1.${elversion}.src.rpm
1415
else
1516
mkdir -p /root/rpmbuild/RPMS/${arch}
1617
cd /root/rpmbuild/RPMS/${arch}
17-
wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-${cvmfsversion}/cvmfs-${cvmfsversion}-1.el7.${arch}.rpm
18-
wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-${cvmfsversion}/cvmfs-fuse3-${cvmfsversion}-1.el7.${arch}.rpm
19-
wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-${cvmfsversion}/cvmfs-libs-${cvmfsversion}-1.el7.${arch}.rpm
18+
wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-${cvmfsversion}/cvmfs-${cvmfsversion}-1.${elversion}.${arch}.rpm
19+
wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-${cvmfsversion}/cvmfs-fuse3-${cvmfsversion}-1.${elversion}.${arch}.rpm
20+
wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-${cvmfsversion}/cvmfs-libs-${cvmfsversion}-1.${elversion}.${arch}.rpm
2021
fi

0 commit comments

Comments
 (0)