Skip to content

Commit bf2200a

Browse files
committed
Migrating from ubuntu to debian:bookworm
1 parent 0038efd commit bf2200a

22 files changed

Lines changed: 226 additions & 133 deletions

.github/workflows/chrony.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ jobs:
2222
chrony_ref: [ 'master', '4.3', '4.6.1' ]
2323
fail-fast: false
2424
runs-on: ${{ matrix.os }}
25+
container:
26+
image: debian:bookworm
2527

2628
steps:
2729
- name: Checkout gnutls-wolfssl repository
@@ -30,13 +32,13 @@ jobs:
3032
- name: Ensure make available (Ubuntu only)
3133
if: matrix.os == 'ubuntu-latest'
3234
run: |
33-
sudo apt-get update
34-
sudo apt-get install -y build-essential
35+
apt-get update
36+
apt-get install -y build-essential
3537
3638
- name: Install GnuTLS dependencies (Ubuntu only)
3739
if: matrix.os == 'ubuntu-latest'
3840
run: |
39-
sudo apt-get install -y gnulib autopoint gperf gtk-doc-tools nettle-dev clang libtasn1-bin libtasn1-6-dev libunistring-dev libp11-kit-dev libunbound-dev
41+
apt-get install -y gnulib autopoint gperf gtk-doc-tools nettle-dev clang libtasn1-bin libtasn1-6-dev libunistring-dev libp11-kit-dev libunbound-dev sudo wget git
4042
4143
- name: Install chrony dependencies (Ubuntu only)
4244
if: matrix.os == 'ubuntu-latest'

.github/workflows/clang-tidy.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ jobs:
1616
os: [ ubuntu-latest ]
1717
fail-fast: false
1818
runs-on: ${{ matrix.os }}
19+
container:
20+
image: debian:bookworm
1921

2022
steps:
2123
- name: Checkout repository
@@ -24,15 +26,15 @@ jobs:
2426
- name: Install clang + bear (Ubuntu)
2527
if: matrix.os == 'ubuntu-latest'
2628
run: |
27-
sudo apt-get update
28-
sudo apt-get install -y clang bear
29+
apt-get update
30+
apt-get install -y clang bear sudo wget git
2931
3032
- name: Install dependencies (Ubuntu only)
3133
if: matrix.os == 'ubuntu-latest'
3234
run: |
3335
sudo apt-get update
3436
sudo apt-get install -y gnulib autopoint gperf gtk-doc-tools nettle-dev clang \
35-
libtasn1-bin libtasn1-6-dev libunistring-dev libp11-kit-dev libunbound-dev
37+
libtasn1-bin libtasn1-6-dev libunistring-dev libp11-kit-dev libunbound-dev clang-tidy
3638
3739
# ─────────────── cache the wolfssl/gnutls tool-chain ────────────────
3840
- name: Restore cached gnutls-wolfssl
@@ -61,6 +63,7 @@ jobs:
6163
6264
- name: Run clang-tidy
6365
run: |
66+
git config --global --add safe.directory "$PWD"
6467
FILES=$(git -C wolfssl-gnutls-wrapper ls-files src/*.c tests/*.c | sed 's|^|wolfssl-gnutls-wrapper/|')
6568
clang-tidy -p wolfssl-gnutls-wrapper $FILES
6669

.github/workflows/curl.yml

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ jobs:
2222
curl_ref: [ 'master', 'curl-7_88_1', 'curl-8_4_0' ]
2323
fail-fast: false
2424
runs-on: ${{ matrix.os }}
25+
container:
26+
image: debian:bookworm
2527

2628
steps:
2729
- name: Checkout repository
@@ -30,19 +32,19 @@ jobs:
3032
- name: Ensure make available (Ubuntu only)
3133
if: matrix.os == 'ubuntu-latest'
3234
run: |
33-
sudo apt-get update
34-
sudo apt-get install -y build-essential
35+
apt-get update
36+
apt-get install -y build-essential
3537
3638
- name: Install GnuTLS dependencies (Ubuntu only)
3739
if: matrix.os == 'ubuntu-latest'
3840
run: |
39-
sudo apt-get update
40-
sudo apt-get install -y gnulib autopoint gperf gtk-doc-tools nettle-dev clang libtasn1-bin libtasn1-6-dev libunistring-dev libp11-kit-dev libunbound-dev
41+
apt-get update
42+
apt-get install -y gnulib autopoint gperf gtk-doc-tools nettle-dev clang libtasn1-bin libtasn1-6-dev libunistring-dev libp11-kit-dev libunbound-dev sudo wget git
4143
4244
- name: Install curl test dependencies
4345
run: |
4446
sudo apt-get update
45-
sudo apt-get install nghttp2 libpsl5 libpsl-dev python3-impacket
47+
sudo apt-get install -y nghttp2 libpsl5 libpsl-dev python3-impacket
4648
4749
- name: Restore cached gnutls-wolfssl
4850
id: cache-gnutls
@@ -96,4 +98,6 @@ jobs:
9698

9799
- name: Test curl
98100
working-directory: curl
99-
run: WGW_LOGGING=0 make -j $(nproc) test-ci
101+
run: |
102+
export USER=root
103+
WGW_LOGGING=0 make -j $(nproc) test-ci

.github/workflows/deb.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ concurrency:
1111
jobs:
1212
deb-testing:
1313
runs-on: ubuntu-latest
14+
container:
15+
image: debian:bookworm
1416
env:
1517
DEBIAN_FRONTEND: noninteractive
1618
steps:
@@ -19,12 +21,13 @@ jobs:
1921

2022
- name: Install build tooling
2123
run: |
22-
sudo apt-get update
23-
sudo apt-get install -y --no-install-recommends \
24+
apt-get update
25+
apt-get install -y --no-install-recommends \
2426
build-essential devscripts debhelper-compat fakeroot clang \
2527
autoconf automake libtool pkg-config gettext bison flex gperf \
2628
libgmp-dev libunistring-dev nettle-dev libtasn1-dev libp11-kit-dev \
27-
libev-dev gtk-doc-tools lintian libtasn1-bin git texinfo
29+
libev-dev gtk-doc-tools lintian libtasn1-bin git texinfo sudo git \
30+
wget
2831
2932
- name: Build & install wolfSSL (non-FIPS)
3033
run: |

.github/workflows/dirmngr.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ jobs:
1414
build_and_test:
1515
name: Build wolfSSL + GnuTLS, then GnuPG ${{ matrix.gnupg_ref }}
1616
runs-on: ubuntu-latest
17+
container:
18+
image: debian:bookworm
1719
timeout-minutes: 40
1820
strategy:
1921
matrix:
@@ -26,12 +28,12 @@ jobs:
2628

2729
- name: Install build prerequisites
2830
run: |
29-
sudo apt-get update
30-
sudo apt-get install -y build-essential autoconf automake libtool \
31+
apt-get update
32+
apt-get install -y build-essential autoconf automake libtool \
3133
gettext texinfo pkg-config wget gnulib \
3234
autopoint gperf gtk-doc-tools nettle-dev \
3335
clang libtasn1-bin libtasn1-6-dev \
34-
libunistring-dev libp11-kit-dev libunbound-dev
36+
libunistring-dev libp11-kit-dev libunbound-dev sudo wget git
3537
3638
- name: Restore cached wolfSSL/GnuTLS
3739
id: cache-gnutls

.github/workflows/fwupd.yml

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ jobs:
2222
fwupd_ref: [ 'main', '1.9.26', '2.0.12' ]
2323
fail-fast: false
2424
runs-on: ${{ matrix.os }}
25+
container:
26+
image: debian:bookworm
2527

2628
steps:
2729
- name: Checkout gnutls-wolfssl repository
@@ -30,8 +32,8 @@ jobs:
3032
- name: Ensure make available (Ubuntu only)
3133
if: matrix.os == 'ubuntu-latest'
3234
run: |
33-
sudo apt-get update
34-
sudo apt-get install -y build-essential
35+
apt-get update
36+
apt-get install -y build-essential sudo wget git
3537
3638
- name: Install GnuTLS dependencies (Ubuntu only)
3739
if: matrix.os == 'ubuntu-latest'
@@ -45,11 +47,16 @@ jobs:
4547
sudo apt install -y \
4648
meson ninja-build git libgusb-dev libglib2.0-dev libxmlb-dev \
4749
libsoup2.4-dev libarchive-dev libjson-glib-dev libpolkit-gobject-1-dev \
48-
libsystemd-dev valgrind gobject-introspection gtk-doc-tools python3-pip \
50+
libsystemd-dev valgrind gobject-introspection libgirepository1.0-dev gtk-doc-tools python3-pip \
4951
libgpgme-dev valac libcurl4-gnutls-dev libpango-1.0-0 libpangocairo-1.0-0 \
5052
libpango1.0-dev libcairo2 libcairo2-dev libcairo-gobject2 python3-cairo \
5153
python3-gi-cairo python3-gi gir1.2-pango-1.0 gir1.2-cairo-1.0 gir1.2-gtk-3.0 \
5254
gnu-efi flashrom libflashrom-dev mingw-w64-tools libumockdev-dev
55+
sudo apt-get install -y python3-pip
56+
sudo apt-get install -y policykit-1 libpolkit-agent-1-dev gettext itstool
57+
sudo apt-get install -y libzstd-dev zstd
58+
pip3 install --break-system-packages jinja2 packaging typogrify
59+
pip3 install --break-system-packages --upgrade meson
5360
5461
- name: Install build and test dependencies (Ubuntu only)
5562
if: matrix.os == 'ubuntu-latest'
@@ -90,6 +97,18 @@ jobs:
9097
cd fwupd
9198
git checkout ${{ matrix.fwupd_ref }}
9299
100+
- name: Patch fwupd tests for Debian Bookworm compatibility
101+
if: matrix.fwupd_ref != '1.9.26'
102+
working-directory: fwupd
103+
run: |
104+
# GLib in Debian Bookworm emits WARNING for invalid properties while
105+
# Ubuntu's GLib emits CRITICAL. Same behavior, different log level.
106+
# Adjust test expectations to match Debian's GLib.
107+
# This gets applied only for the latest version and the latest main branch,
108+
# target version remains untouched since it's using the correct older version
109+
# of glib that matches the one on debian:bookworm.
110+
sed -i 's/GLib-GObject-CRITICAL/GLib-GObject-WARNING/g' libfwupd/fwupd-self-test.c
111+
93112
- name: Configure fwupd
94113
working-directory: fwupd
95114
run: |

.github/workflows/glib-networking.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ jobs:
2222
glib-networking_ref: [ 'master', '2.74.0', '2.80.1' ]
2323
fail-fast: false
2424
runs-on: ${{ matrix.os }}
25+
container:
26+
image: debian:bookworm
2527

2628
steps:
2729
- name: Checkout gnutls-wolfssl repository
@@ -30,13 +32,13 @@ jobs:
3032
- name: Ensure make available (Ubuntu only)
3133
if: matrix.os == 'ubuntu-latest'
3234
run: |
33-
sudo apt-get update
34-
sudo apt-get install -y build-essential
35+
apt-get update
36+
apt-get install -y build-essential
3537
3638
- name: Install GnuTLS dependencies (Ubuntu only)
3739
if: matrix.os == 'ubuntu-latest'
3840
run: |
39-
sudo apt-get install -y gnulib autopoint gperf gtk-doc-tools nettle-dev clang libtasn1-bin libtasn1-6-dev libunistring-dev libp11-kit-dev libunbound-dev
41+
apt-get install -y gnulib autopoint gperf gtk-doc-tools nettle-dev clang libtasn1-bin libtasn1-6-dev libunistring-dev libp11-kit-dev libunbound-dev sudo wget git
4042
4143
- name: Install glib-networking dependencies (Ubuntu only)
4244
if: matrix.os == 'ubuntu-latest'

0 commit comments

Comments
 (0)