Skip to content

Commit 6345996

Browse files
ci: add ubuntu 24.04
Add Ubuntu 24.04 support. Signed-off-by: Andrii Holovchenko <[email protected]>
1 parent 22bb87e commit 6345996

8 files changed

+98
-13
lines changed

.ci/Dockerfile.openeuler.22.03

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ RUN dnf install -y \
4343
RUN set -eux; \
4444
echo -e "[mlnx_ofed]\n\
4545
name=Mellanox Technologies \$basearch mlnx_ofed\n\
46-
baseurl=http://webrepo.mtr.labs.mlnx/mswg/release/MLNX_OFED/MLNX_OFED_LINUX-${MOFED_VER}/MLNX_OFED_LINUX-${MOFED_VER}-openeuler22.03-\$basearch/RPMS/\n\
46+
baseurl=http://webrepo.mtr.labs.mlnx/mswg/release/MLNX_OFED/MLNX_OFED_LINUX-${MOFED_VER}/MLNX_OFED_LINUX-${MOFED_VER}-openeuler22.03sp4-\$basearch/RPMS/\n\
4747
enabled=1\n\
4848
gpgcheck=0" > /etc/yum.repos.d/mellanox_mlnx_ofed.repo; \
4949
dnf install -y mlnx-ofed-basic-user-only

.ci/Dockerfile.ubuntu20.04

+3-1
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,10 @@ RUN apt-get update && \
3232
patchelf \
3333
python3-pyelftools \
3434
python3-requests \
35+
python3-pip \
3536
linux-headers-generic \
36-
pkg-config nasm
37+
pkg-config nasm \
38+
lsb-release
3739

3840
RUN echo "deb [trusted=yes] https://urm.nvidia.com/artifactory/sw-nbu-swx-ci-debian-local focal liburing1" > /etc/apt/sources.list.d/liburing.list && \
3941
apt update && apt install -y liburing-dev

.ci/Dockerfile.ubuntu22.04

+3-1
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,11 @@ RUN apt-get update && \
3232
patchelf \
3333
python3-pyelftools \
3434
python3-requests \
35+
python3-pip \
3536
liburing-dev \
3637
linux-headers-generic \
37-
pkg-config nasm
38+
pkg-config nasm \
39+
lsb-release
3840

3941
RUN wget -qO - https://www.mellanox.com/downloads/ofed/RPM-GPG-KEY-Mellanox | \
4042
sudo apt-key add - && \

.ci/Dockerfile.ubuntu24.04

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
FROM ubuntu:24.04
2+
ARG _UID=6213
3+
ARG _GID=11429
4+
ARG _LOGIN=swx-jenkins
5+
ARG _HOME=/var/home/$_LOGIN
6+
ARG DEBIAN_FRONTEND=noninteractive
7+
ARG MOFED_VER
8+
ENV TZ=Etc/UTC
9+
USER root
10+
11+
RUN apt-get update && \
12+
apt-get install -y \
13+
git \
14+
vim \
15+
wget \
16+
curl \
17+
python3 \
18+
dpkg-dev \
19+
sudo \
20+
debhelper \
21+
debsigs \
22+
autotools-dev \
23+
dh-python \
24+
libiscsi-dev \
25+
meson \
26+
uuid-dev \
27+
libssl-dev \
28+
libaio-dev \
29+
libncurses-dev \
30+
libcunit1-dev \
31+
patchelf \
32+
python3-pyelftools \
33+
python3-requests \
34+
python3-pip \
35+
liburing-dev \
36+
linux-headers-generic \
37+
pkg-config nasm \
38+
libnuma-dev \
39+
libfuse3-dev \
40+
lsb-release
41+
42+
RUN wget -qO - https://www.mellanox.com/downloads/ofed/RPM-GPG-KEY-Mellanox | \
43+
sudo apt-key add - && \
44+
echo "deb [trusted=yes] http://nbu-nfs.gtm.nvidia.com/auto/mswg/release/MLNX_OFED/MLNX_OFED_LINUX-${MOFED_VER}/MLNX_OFED_LINUX-${MOFED_VER}-ubuntu24.04-$(dpkg-architecture -qDEB_HOST_GNU_CPU)/DEBS/ ./" > /etc/apt/sources.list.d/ofed.list && \
45+
apt update && KVERSION=$(ls /lib/modules) apt install -y mlnx-ofed-basic-user-only && \
46+
apt-get download libxlio-dev && dpkg --force-all -i libxlio-dev*
47+
48+
RUN echo "${_LOGIN} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
49+
RUN mkdir -p $_HOME
50+
RUN groupadd -f -g "$_GID" "$_LOGIN"
51+
RUN useradd -u "$_UID" -g "$_GID" -s /bin/bash -m -d ${_HOME} "$_LOGIN"
52+
RUN chown $_LOGIN $_HOME
53+
54+
SHELL ["/bin/bash"]
55+
56+
USER "${_LOGIN}"
57+
ENTRYPOINT [ "/bin/bash", "--login", "--rcfile", "/etc/bashrc", "-c" ]

.ci/build_deb.sh

+7-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@ if [ -z "$VER" ] ; then
1212
export VER=$(echo $branch | grep -o '[0-9]\+\(\.[0-9]\+\)*')
1313
fi
1414

15+
if test -n "$ghprbPullId" ; then
16+
REV="pr${ghprbPullId}"
17+
else
18+
REV="${BUILD_NUMBER:-1}"
19+
fi
20+
1521
function pack_dist()
1622
{
1723
git submodule init
@@ -35,7 +41,7 @@ function pack_dist()
3541
function generate_changelog()
3642
{
3743
today=$(date +"%a, %d %b %Y %T %z")
38-
sed -e "s/@PACKAGE_VERSION@/$VER/" -e "s/@PACKAGE_REVISION@/${BUILD_NUMBER:-1}/" \
44+
sed -e "s/@PACKAGE_VERSION@/$VER/" -e "s/@PACKAGE_REVISION@/${REV}/" \
3945
-e 's/@PACKAGE_BUGREPORT@/[email protected]/' -e "s/@BUILD_DATE_CHANGELOG@/$today/" \
4046
debian/changelog.in > debian/changelog
4147
}

.ci/job_matrix.yaml

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
job: spdk
22

3-
registry_host: harbor.mellanox.com
3+
registry_host: nbu-harbor.gtm.nvidia.com
44
registry_path: /swx-storage/spdk
55

66
credentials:
@@ -15,7 +15,7 @@ kubernetes:
1515
privileged: true
1616

1717
env:
18-
MOFED_VER: 23.07-0.5.0.0
18+
MOFED_VER: 25.04-0.6.1.0
1919
REGISTRY_AUTH_FILE: '/mnt/secret_podman/config_podman.json'
2020
GIT_SSH_COMMAND: 'ssh -o StrictHostKeyChecking=no'
2121

@@ -27,7 +27,8 @@ secret_volumes:
2727
runs_on_dockers:
2828
- {file: '.ci/Dockerfile.ubuntu20.04', name: 'ubuntu20_04', arch: 'aarch64', build_args: '--build-arg MOFED_VER=$MOFED_VER', tag: '$MOFED_VER'}
2929
- {file: '.ci/Dockerfile.ubuntu22.04', name: 'ubuntu22_04', arch: 'aarch64', build_args: '--build-arg MOFED_VER=$MOFED_VER', tag: '$MOFED_VER'}
30-
- {file: '.ci/Dockerfile.centos7.9.2009', name: 'centos7_9', arch: 'aarch64', build_args: '--build-arg MOFED_VER=$MOFED_VER', tag: '$MOFED_VER'}
30+
- {file: '.ci/Dockerfile.ubuntu24.04', name: 'ubuntu24_04', arch: 'aarch64', build_args: '--build-arg MOFED_VER=$MOFED_VER', tag: '$MOFED_VER'}
31+
# - {file: '.ci/Dockerfile.centos7.9.2009', name: 'centos7_9', arch: 'aarch64', build_args: '--build-arg MOFED_VER=$MOFED_VER', tag: '$MOFED_VER'}
3132
- {file: '.ci/Dockerfile.centos8', name: 'centos8_stream', arch: 'aarch64', build_args: '--build-arg MOFED_VER=$MOFED_VER', tag: '$MOFED_VER'}
3233
- {file: '.ci/Dockerfile.openeuler.20.03', name: 'openeuler20_03', arch: 'aarch64', build_args: '--build-arg MOFED_VER=$MOFED_VER', tag: '$MOFED_VER'}
3334
- {file: '.ci/Dockerfile.openeuler.22.03', name: 'openeuler22_03', arch: 'aarch64', build_args: '--build-arg MOFED_VER=$MOFED_VER', tag: '$MOFED_VER'}
@@ -58,7 +59,7 @@ steps:
5859
containerSelector:
5960
- "{name: 'ubuntu20_04', variant:1}"
6061
- "{name: 'ubuntu22_04', variant:1}"
61-
- "{name: 'centos7_9', variant:1}"
62+
- "{name: 'ubuntu24_04', variant:1}"
6263
- "{name: 'centos8_stream', variant:1}"
6364
- "{name: 'openeuler20_03', variant:1}"
6465
- "{name: 'openeuler22_03', variant:1}"

.ci/upload.sh

+15-4
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,12 @@ get_releasever() {
2525
echo $releasever
2626
}
2727

28+
get_os_name() {
29+
. /etc/os-release
30+
echo "${ID}_${VERSION_ID}"
31+
}
32+
33+
2834
upload_deb_urm() {
2935
# Import gpg key
3036
gpg --import ${GPG_KEY_PATH}
@@ -35,10 +41,15 @@ upload_deb_urm() {
3541
for deb_pkg in ${deb_pkgs[@]}; do
3642
test -e $deb_pkg
3743
echo "INFO: Signing package ${deb_pkg##*/}"
38-
sign_deb=$(dpkg-sig -k ${gpg_key_name} -c ${deb_pkg}|tail -n1)
39-
if [ $sign_deb == "NOSIG" ]; then
40-
dpkg-sig -k ${gpg_key_name} -s builder ${deb_pkg}
41-
fi
44+
# Debian 12 doesn't have dpkg-sig, so use debsigs
45+
case "$(get_os_name)" in
46+
debian_12|ubuntu_24.04)
47+
debsigs --sign=origin -k ${gpg_key_name} ${deb_pkg}
48+
;;
49+
*)
50+
dpkg-sig -k ${gpg_key_name} -s builder ${deb_pkg}
51+
;;
52+
esac
4253
MD5=$(md5sum $deb_pkg | awk '{print $1}')
4354
SHA1=$(shasum -a 1 $deb_pkg | awk '{ print $1 }')
4455
SHA256=$(shasum -a 256 $deb_pkg | awk '{ print $1 }')

debian/rules

+7-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ override_dh_auto_install:
7878
install -p -m 644 isa-l-crypto/.libs/libisal_crypto.a debian/tmp$(pkg_prefix)/lib
7979
#make -C dpdk install prefix=../debian/tmp$(pkg_prefix)
8080
#chrpath -r $(pkg_prefix)/lib debian/tmp$(pkg_prefix)/lib/lib*so.*
81-
patchelf --set-rpath $(pkg_prefix)/lib --force-rpath debian/tmp$(pkg_prefix)/lib/lib*so.*
8281
rm -rf debian/tmp$(pkg_prefix)/share/dpdk/examples
8382
dh_auto_install -- prefix=$(pkg_prefix)
8483
(cd scripts ; python3 setup.py install --install-layout=deb --root=../debian/tmp )
@@ -91,6 +90,13 @@ override_dh_installdeb:
9190
dh_installdeb
9291
rm debian/*/DEBIAN/conffiles
9392

93+
# Run patchelf after strip to avoid corruption with patchelf > 0.14 (RM 4406077)
94+
override_dh_strip:
95+
dh_strip
96+
for so in debian/*/$(pkg_prefix)/lib/lib*so.*; do \
97+
patchelf --set-rpath $(pkg_prefix)/lib --force-rpath $$so || true; \
98+
done
99+
94100
override_dh_shlibdeps:
95101
dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info -l$(shell pwd)/debian/tmp$(pkg_prefix)/lib
96102

0 commit comments

Comments
 (0)