From 5d1da9650fda34fb12f4644ca6060fe560f116bc Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 16 Oct 2026 17:30:57 -0700 Subject: [PATCH 1/2] Add gdb and glibc debuginfo to the -plus Docker images Fjalar's CI runs Valgrind's regression tests in the daikon-ubuntu-jdk11-plus and daikon-rockylinux-jdk25-plus images. Its gdbserver tests fail without gdb and glibc's debugging information. Ubuntu's -plus images already have libc6-dbg; add gdb. Rocky Linux's -plus images get gdb and "dnf debuginfo-install glibc". The non-plus images do not run those tests, so they are unchanged. --- scripts/Dockerfile-rockylinux-jdk21-plus | 6 ++++++ scripts/Dockerfile-rockylinux-jdk25-plus | 6 ++++++ scripts/Dockerfile-rockylinux-jdk27-plus | 6 ++++++ scripts/Dockerfile-rockylinux.m4 | 6 ++++++ scripts/Dockerfile-ubuntu-jdk11-plus | 1 + scripts/Dockerfile-ubuntu-jdk17-plus | 1 + scripts/Dockerfile-ubuntu-jdk21-plus | 1 + scripts/Dockerfile-ubuntu-jdk25-plus | 1 + scripts/Dockerfile-ubuntu-jdk27-plus | 1 + scripts/Dockerfile-ubuntu.m4 | 1 + 10 files changed, 30 insertions(+) diff --git a/scripts/Dockerfile-rockylinux-jdk21-plus b/scripts/Dockerfile-rockylinux-jdk21-plus index 56734b0be..c67e47eeb 100644 --- a/scripts/Dockerfile-rockylinux-jdk21-plus +++ b/scripts/Dockerfile-rockylinux-jdk21-plus @@ -53,6 +53,7 @@ RUN dnf -q -y upgrade && dnf -q -y install \ ctags \ devscripts-checkbashisms \ gcc-c++ \ + gdb \ python3 \ python3-distutils-extra \ ShellCheck \ @@ -61,6 +62,11 @@ RUN dnf -q -y upgrade && dnf -q -y install \ texlive \ yamllint +# Valgrind's gdbserver regression tests, run by Fjalar's CI, need gdb (above) +# and glibc's debugging information. (On Ubuntu, that is package libc6-dbg.) +# `dnf debuginfo-install` is in dnf-plugins-core. +RUN dnf -q -y upgrade && dnf -q -y debuginfo-install glibc + ## Other ways to install gradle: ## * The `dnf` package repository has a very old version of gradle. ## * Need zip to install SDKMAN, need SDKMAN to install gradle. diff --git a/scripts/Dockerfile-rockylinux-jdk25-plus b/scripts/Dockerfile-rockylinux-jdk25-plus index e6d38f466..a189c1663 100644 --- a/scripts/Dockerfile-rockylinux-jdk25-plus +++ b/scripts/Dockerfile-rockylinux-jdk25-plus @@ -54,6 +54,7 @@ RUN dnf -q -y upgrade && dnf -q -y install \ ctags \ devscripts-checkbashisms \ gcc-c++ \ + gdb \ python3 \ python3-distutils-extra \ ShellCheck \ @@ -62,6 +63,11 @@ RUN dnf -q -y upgrade && dnf -q -y install \ texlive \ yamllint +# Valgrind's gdbserver regression tests, run by Fjalar's CI, need gdb (above) +# and glibc's debugging information. (On Ubuntu, that is package libc6-dbg.) +# `dnf debuginfo-install` is in dnf-plugins-core. +RUN dnf -q -y upgrade && dnf -q -y debuginfo-install glibc + ## Other ways to install gradle: ## * The `dnf` package repository has a very old version of gradle. ## * Need zip to install SDKMAN, need SDKMAN to install gradle. diff --git a/scripts/Dockerfile-rockylinux-jdk27-plus b/scripts/Dockerfile-rockylinux-jdk27-plus index b2987a34f..f72c3a89f 100644 --- a/scripts/Dockerfile-rockylinux-jdk27-plus +++ b/scripts/Dockerfile-rockylinux-jdk27-plus @@ -58,6 +58,7 @@ RUN dnf -q -y upgrade && dnf -q -y install \ ctags \ devscripts-checkbashisms \ gcc-c++ \ + gdb \ python3 \ python3-distutils-extra \ ShellCheck \ @@ -66,6 +67,11 @@ RUN dnf -q -y upgrade && dnf -q -y install \ texlive \ yamllint +# Valgrind's gdbserver regression tests, run by Fjalar's CI, need gdb (above) +# and glibc's debugging information. (On Ubuntu, that is package libc6-dbg.) +# `dnf debuginfo-install` is in dnf-plugins-core. +RUN dnf -q -y upgrade && dnf -q -y debuginfo-install glibc + ## Other ways to install gradle: ## * The `dnf` package repository has a very old version of gradle. ## * Need zip to install SDKMAN, need SDKMAN to install gradle. diff --git a/scripts/Dockerfile-rockylinux.m4 b/scripts/Dockerfile-rockylinux.m4 index 82efb31cc..08b96cacc 100644 --- a/scripts/Dockerfile-rockylinux.m4 +++ b/scripts/Dockerfile-rockylinux.m4 @@ -58,6 +58,7 @@ RUN dnf -q -y upgrade && dnf -q -y install \ ctags \ devscripts-checkbashisms \ gcc-c++ \ + gdb \ python3 \ python3-distutils-extra \ ShellCheck \ @@ -66,6 +67,11 @@ RUN dnf -q -y upgrade && dnf -q -y install \ texlive \ yamllint +# Valgrind's gdbserver regression tests, run by Fjalar's CI, need gdb (above) +# and glibc's debugging information. (On Ubuntu, that is package libc6-dbg.) +# `dnf debuginfo-install` is in dnf-plugins-core. +RUN dnf -q -y upgrade && dnf -q -y debuginfo-install glibc + ## Other ways to install gradle: ## * The `dnf` package repository has a very old version of gradle. ## * Need zip to install SDKMAN, need SDKMAN to install gradle. diff --git a/scripts/Dockerfile-ubuntu-jdk11-plus b/scripts/Dockerfile-ubuntu-jdk11-plus index 648a5e9d5..f40bb7009 100644 --- a/scripts/Dockerfile-ubuntu-jdk11-plus +++ b/scripts/Dockerfile-ubuntu-jdk11-plus @@ -68,6 +68,7 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && apt-get -qqy install \ devscripts \ g++ \ + gdb \ libc6-dbg \ python3-setuptools \ shellcheck \ diff --git a/scripts/Dockerfile-ubuntu-jdk17-plus b/scripts/Dockerfile-ubuntu-jdk17-plus index 2c1d65c63..a371c343c 100644 --- a/scripts/Dockerfile-ubuntu-jdk17-plus +++ b/scripts/Dockerfile-ubuntu-jdk17-plus @@ -68,6 +68,7 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && apt-get -qqy install \ devscripts \ g++ \ + gdb \ libc6-dbg \ python3-setuptools \ shellcheck \ diff --git a/scripts/Dockerfile-ubuntu-jdk21-plus b/scripts/Dockerfile-ubuntu-jdk21-plus index a99746655..53beb12fa 100644 --- a/scripts/Dockerfile-ubuntu-jdk21-plus +++ b/scripts/Dockerfile-ubuntu-jdk21-plus @@ -68,6 +68,7 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && apt-get -qqy install \ devscripts \ g++ \ + gdb \ libc6-dbg \ python3-setuptools \ shellcheck \ diff --git a/scripts/Dockerfile-ubuntu-jdk25-plus b/scripts/Dockerfile-ubuntu-jdk25-plus index 6254e5e04..6bda93dae 100644 --- a/scripts/Dockerfile-ubuntu-jdk25-plus +++ b/scripts/Dockerfile-ubuntu-jdk25-plus @@ -69,6 +69,7 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && apt-get -qqy install \ devscripts \ g++ \ + gdb \ libc6-dbg \ python3-setuptools \ shellcheck \ diff --git a/scripts/Dockerfile-ubuntu-jdk27-plus b/scripts/Dockerfile-ubuntu-jdk27-plus index e9d7ec91d..13775ae48 100644 --- a/scripts/Dockerfile-ubuntu-jdk27-plus +++ b/scripts/Dockerfile-ubuntu-jdk27-plus @@ -69,6 +69,7 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && apt-get -qqy install \ devscripts \ g++ \ + gdb \ libc6-dbg \ python3-setuptools \ shellcheck \ diff --git a/scripts/Dockerfile-ubuntu.m4 b/scripts/Dockerfile-ubuntu.m4 index b0e0b2d2b..e3c872e50 100644 --- a/scripts/Dockerfile-ubuntu.m4 +++ b/scripts/Dockerfile-ubuntu.m4 @@ -71,6 +71,7 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && apt-get -qqy install \ devscripts \ g++ \ + gdb \ libc6-dbg \ python3-setuptools \ shellcheck \ From 651665db824bee4219214c0e7bd0f7d8090c1568 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 16 Oct 2026 17:42:33 -0700 Subject: [PATCH 2/2] Rocky -plus images: enable baseos-debuginfo; fail if glibc-debuginfo is missing dnf debuginfo-install can exit successfully without installing anything. Addresses a CodeRabbit review comment. --- scripts/Dockerfile-rockylinux-jdk21-plus | 7 +++++-- scripts/Dockerfile-rockylinux-jdk25-plus | 7 +++++-- scripts/Dockerfile-rockylinux-jdk27-plus | 7 +++++-- scripts/Dockerfile-rockylinux.m4 | 7 +++++-- 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/scripts/Dockerfile-rockylinux-jdk21-plus b/scripts/Dockerfile-rockylinux-jdk21-plus index c67e47eeb..d7fae9c57 100644 --- a/scripts/Dockerfile-rockylinux-jdk21-plus +++ b/scripts/Dockerfile-rockylinux-jdk21-plus @@ -64,8 +64,11 @@ RUN dnf -q -y upgrade && dnf -q -y install \ # Valgrind's gdbserver regression tests, run by Fjalar's CI, need gdb (above) # and glibc's debugging information. (On Ubuntu, that is package libc6-dbg.) -# `dnf debuginfo-install` is in dnf-plugins-core. -RUN dnf -q -y upgrade && dnf -q -y debuginfo-install glibc +# `dnf debuginfo-install` is in dnf-plugins-core. It can succeed without +# installing anything, so check that glibc-debuginfo got installed. +RUN dnf -q -y config-manager --set-enabled baseos-debuginfo \ +&& dnf -q -y upgrade && dnf -q -y debuginfo-install glibc \ +&& rpm -q glibc-debuginfo ## Other ways to install gradle: ## * The `dnf` package repository has a very old version of gradle. diff --git a/scripts/Dockerfile-rockylinux-jdk25-plus b/scripts/Dockerfile-rockylinux-jdk25-plus index a189c1663..f5d576b49 100644 --- a/scripts/Dockerfile-rockylinux-jdk25-plus +++ b/scripts/Dockerfile-rockylinux-jdk25-plus @@ -65,8 +65,11 @@ RUN dnf -q -y upgrade && dnf -q -y install \ # Valgrind's gdbserver regression tests, run by Fjalar's CI, need gdb (above) # and glibc's debugging information. (On Ubuntu, that is package libc6-dbg.) -# `dnf debuginfo-install` is in dnf-plugins-core. -RUN dnf -q -y upgrade && dnf -q -y debuginfo-install glibc +# `dnf debuginfo-install` is in dnf-plugins-core. It can succeed without +# installing anything, so check that glibc-debuginfo got installed. +RUN dnf -q -y config-manager --set-enabled baseos-debuginfo \ +&& dnf -q -y upgrade && dnf -q -y debuginfo-install glibc \ +&& rpm -q glibc-debuginfo ## Other ways to install gradle: ## * The `dnf` package repository has a very old version of gradle. diff --git a/scripts/Dockerfile-rockylinux-jdk27-plus b/scripts/Dockerfile-rockylinux-jdk27-plus index f72c3a89f..1ccc4f718 100644 --- a/scripts/Dockerfile-rockylinux-jdk27-plus +++ b/scripts/Dockerfile-rockylinux-jdk27-plus @@ -69,8 +69,11 @@ RUN dnf -q -y upgrade && dnf -q -y install \ # Valgrind's gdbserver regression tests, run by Fjalar's CI, need gdb (above) # and glibc's debugging information. (On Ubuntu, that is package libc6-dbg.) -# `dnf debuginfo-install` is in dnf-plugins-core. -RUN dnf -q -y upgrade && dnf -q -y debuginfo-install glibc +# `dnf debuginfo-install` is in dnf-plugins-core. It can succeed without +# installing anything, so check that glibc-debuginfo got installed. +RUN dnf -q -y config-manager --set-enabled baseos-debuginfo \ +&& dnf -q -y upgrade && dnf -q -y debuginfo-install glibc \ +&& rpm -q glibc-debuginfo ## Other ways to install gradle: ## * The `dnf` package repository has a very old version of gradle. diff --git a/scripts/Dockerfile-rockylinux.m4 b/scripts/Dockerfile-rockylinux.m4 index 08b96cacc..b0d510e98 100644 --- a/scripts/Dockerfile-rockylinux.m4 +++ b/scripts/Dockerfile-rockylinux.m4 @@ -69,8 +69,11 @@ RUN dnf -q -y upgrade && dnf -q -y install \ # Valgrind's gdbserver regression tests, run by Fjalar's CI, need gdb (above) # and glibc's debugging information. (On Ubuntu, that is package libc6-dbg.) -# `dnf debuginfo-install` is in dnf-plugins-core. -RUN dnf -q -y upgrade && dnf -q -y debuginfo-install glibc +# `dnf debuginfo-install` is in dnf-plugins-core. It can succeed without +# installing anything, so check that glibc-debuginfo got installed. +RUN dnf -q -y config-manager --set-enabled baseos-debuginfo \ +&& dnf -q -y upgrade && dnf -q -y debuginfo-install glibc \ +&& rpm -q glibc-debuginfo ## Other ways to install gradle: ## * The `dnf` package repository has a very old version of gradle.