stages {
stage("Setup Build Environment") {
steps {
+ // Prefer backports for some packages
+ script {
+ preferBackports(env.IMAGE)
+ }
+
// Add the architecture
sh "dpkg --add-architecture ${env.ARCH}"
sh "apt-get update"
// Installs everything we need on Debian
def installBuildDepsDebian(distro, compiler) {
+ // Prefer backports?
+ preferBackports(distro)
+
sh "apt-get update"
sh """
apt-get install -y \
libzstd-dev \
uuid-dev
"""
+}
- // On bookworm, install cURL from backports for WebSocket support
+def preferBackports(distro) {
if (distro.contains("bookworm")) {
- sh "apt-get install -y libcurl4-openssl-dev/bookworm-backports"
+ sh """
+ (
+ echo "Package: curl libcurl*"
+ echo "Pin: release n=bookworm-backports"
+ echo "Pin-Priority: 900"
+ ) > /etc/apt/preferences.d/99debian-backports
+ """
}
}