From 58040965047f8cc37eedbaa4d3180c6313b88440 Mon Sep 17 00:00:00 2001 From: Joseph Ferguson Date: Wed, 22 May 2024 16:10:53 -0700 Subject: [PATCH] Update to Alpine 3.20 remove EOL 2.0 --- 2.0/Dockerfile | 114 -------------------------------- 2.0/alpine/Dockerfile | 106 ----------------------------- 2.0/alpine/docker-entrypoint.sh | 17 ----- 2.0/docker-entrypoint.sh | 17 ----- 2.2/alpine/Dockerfile | 106 ----------------------------- 2.2/alpine/docker-entrypoint.sh | 17 ----- 2.4/alpine/Dockerfile | 2 +- 2.6/alpine/Dockerfile | 2 +- 2.8/alpine/Dockerfile | 2 +- 2.9/alpine/Dockerfile | 2 +- 3.0/alpine/Dockerfile | 2 +- Dockerfile.template | 20 +++--- apply-templates.sh | 6 ++ generate-stackbrew-library.sh | 4 ++ versions.json | 18 ++--- versions.sh | 10 ++- 16 files changed, 34 insertions(+), 411 deletions(-) delete mode 100644 2.0/Dockerfile delete mode 100644 2.0/alpine/Dockerfile delete mode 100755 2.0/alpine/docker-entrypoint.sh delete mode 100755 2.0/docker-entrypoint.sh delete mode 100644 2.2/alpine/Dockerfile delete mode 100755 2.2/alpine/docker-entrypoint.sh diff --git a/2.0/Dockerfile b/2.0/Dockerfile deleted file mode 100644 index cfdbe9e8..00000000 --- a/2.0/Dockerfile +++ /dev/null @@ -1,114 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:buster-slim - -# runtime dependencies -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ -# @system-ca: https://github.com/docker-library/haproxy/pull/216 - ca-certificates \ - ; \ - rm -rf /var/lib/apt/lists/* - -# roughly, https://salsa.debian.org/haproxy-team/haproxy/-/blob/732b97ae286906dea19ab5744cf9cf97c364ac1d/debian/haproxy.postinst#L5-6 -RUN set -eux; \ - groupadd --gid 99 --system haproxy; \ - useradd \ - --gid haproxy \ - --home-dir /var/lib/haproxy \ - --no-create-home \ - --system \ - --uid 99 \ - haproxy \ - ; \ - mkdir /var/lib/haproxy; \ - chown haproxy:haproxy /var/lib/haproxy - -ENV HAPROXY_VERSION 2.0.35 -ENV HAPROXY_URL https://www.haproxy.org/download/2.0/src/haproxy-2.0.35.tar.gz -ENV HAPROXY_SHA256 95334c52ace9ae139e66d60240633be8bb4eed1babedfcc6cb947092e00c447c - -# see https://sources.debian.net/src/haproxy/jessie/debian/rules/ for some helpful navigation of the possible "make" arguments -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update && apt-get install -y --no-install-recommends \ - gcc \ - libc6-dev \ - liblua5.3-dev \ - libpcre2-dev \ - libssl-dev \ - make \ - wget \ - zlib1g-dev \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O haproxy.tar.gz "$HAPROXY_URL"; \ - echo "$HAPROXY_SHA256 *haproxy.tar.gz" | sha256sum -c; \ - mkdir -p /usr/src/haproxy; \ - tar -xzf haproxy.tar.gz -C /usr/src/haproxy --strip-components=1; \ - rm haproxy.tar.gz; \ - \ - makeOpts=' \ - TARGET=linux-glibc \ - USE_GETADDRINFO=1 \ - USE_LUA=1 LUA_INC=/usr/include/lua5.3 \ - USE_OPENSSL=1 \ - USE_PCRE2=1 USE_PCRE2_JIT=1 \ - USE_ZLIB=1 \ - \ - EXTRA_OBJS=" \ -# see https://github.com/docker-library/haproxy/issues/94#issuecomment-505673353 for more details about prometheus support - contrib/prometheus-exporter/service-prometheus.o \ - " \ - '; \ -# https://salsa.debian.org/haproxy-team/haproxy/-/commit/53988af3d006ebcbf2c941e34121859fd6379c70 - dpkgArch="$(dpkg --print-architecture)"; \ - case "$dpkgArch" in \ - armel) makeOpts="$makeOpts ADDLIB=-latomic" ;; \ - esac; \ - \ - nproc="$(nproc)"; \ - eval "make -C /usr/src/haproxy -j '$nproc' all $makeOpts"; \ - eval "make -C /usr/src/haproxy install-bin $makeOpts"; \ - \ - mkdir -p /usr/local/etc/haproxy; \ - cp -R /usr/src/haproxy/examples/errorfiles /usr/local/etc/haproxy/errors; \ - rm -rf /usr/src/haproxy; \ - \ - apt-mark auto '.*' > /dev/null; \ - [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; \ - find /usr/local -type f -executable -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ -# smoke test - haproxy -v - -# https://www.haproxy.org/download/1.8/doc/management.txt -# "4. Stopping and restarting HAProxy" -# "when the SIGTERM signal is sent to the haproxy process, it immediately quits and all established connections are closed" -# "graceful stop is triggered when the SIGUSR1 signal is sent to the haproxy process" -STOPSIGNAL SIGUSR1 - -COPY docker-entrypoint.sh /usr/local/bin/ -RUN ln -s usr/local/bin/docker-entrypoint.sh / # backwards compat -ENTRYPOINT ["docker-entrypoint.sh"] - -# no USER for backwards compatibility (to try to avoid breaking existing users) - -# no WORKDIR for backwards compatibility (to try to avoid breaking existing users) - -CMD ["haproxy", "-f", "/usr/local/etc/haproxy/haproxy.cfg"] diff --git a/2.0/alpine/Dockerfile b/2.0/alpine/Dockerfile deleted file mode 100644 index 2b487fcc..00000000 --- a/2.0/alpine/Dockerfile +++ /dev/null @@ -1,106 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.16 - -# runtime dependencies -RUN set -eux; \ - apk add --no-cache \ -# @system-ca: https://github.com/docker-library/haproxy/pull/216 - ca-certificates \ - ; - -# roughly, https://git.alpinelinux.org/aports/tree/main/haproxy/haproxy.pre-install?h=3.12-stable -RUN set -eux; \ - addgroup --gid 99 --system haproxy; \ - adduser \ - --disabled-password \ - --home /var/lib/haproxy \ - --ingroup haproxy \ - --no-create-home \ - --system \ - --uid 99 \ - haproxy \ - ; \ - mkdir /var/lib/haproxy; \ - chown haproxy:haproxy /var/lib/haproxy - -ENV HAPROXY_VERSION 2.0.35 -ENV HAPROXY_URL https://www.haproxy.org/download/2.0/src/haproxy-2.0.35.tar.gz -ENV HAPROXY_SHA256 95334c52ace9ae139e66d60240633be8bb4eed1babedfcc6cb947092e00c447c - -# see https://sources.debian.net/src/haproxy/jessie/debian/rules/ for some helpful navigation of the possible "make" arguments -RUN set -eux; \ - \ - apk add --no-cache --virtual .build-deps \ - gcc \ - libc-dev \ - linux-headers \ - lua5.3-dev \ - make \ - openssl \ - openssl-dev \ - pcre2-dev \ - readline-dev \ - tar \ - zlib-dev \ - ; \ - \ - wget -O haproxy.tar.gz "$HAPROXY_URL"; \ - echo "$HAPROXY_SHA256 *haproxy.tar.gz" | sha256sum -c; \ - mkdir -p /usr/src/haproxy; \ - tar -xzf haproxy.tar.gz -C /usr/src/haproxy --strip-components=1; \ - rm haproxy.tar.gz; \ - \ - makeOpts=' \ - TARGET=linux-glibc \ - USE_GETADDRINFO=1 \ - USE_LUA=1 LUA_INC=/usr/include/lua5.3 LUA_LIB=/usr/lib/lua5.3 \ - USE_OPENSSL=1 \ - USE_PCRE2=1 USE_PCRE2_JIT=1 \ - USE_ZLIB=1 \ - \ - EXTRA_OBJS=" \ -# see https://github.com/docker-library/haproxy/issues/94#issuecomment-505673353 for more details about prometheus support - contrib/prometheus-exporter/service-prometheus.o \ - " \ - '; \ - \ - nproc="$(getconf _NPROCESSORS_ONLN)"; \ - eval "make -C /usr/src/haproxy -j '$nproc' all $makeOpts"; \ - eval "make -C /usr/src/haproxy install-bin $makeOpts"; \ - \ - mkdir -p /usr/local/etc/haproxy; \ - cp -R /usr/src/haproxy/examples/errorfiles /usr/local/etc/haproxy/errors; \ - rm -rf /usr/src/haproxy; \ - \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .haproxy-rundeps $runDeps; \ - apk del --no-network .build-deps; \ - \ -# smoke test - haproxy -v - -# https://www.haproxy.org/download/1.8/doc/management.txt -# "4. Stopping and restarting HAProxy" -# "when the SIGTERM signal is sent to the haproxy process, it immediately quits and all established connections are closed" -# "graceful stop is triggered when the SIGUSR1 signal is sent to the haproxy process" -STOPSIGNAL SIGUSR1 - -COPY docker-entrypoint.sh /usr/local/bin/ -RUN ln -s usr/local/bin/docker-entrypoint.sh / # backwards compat -ENTRYPOINT ["docker-entrypoint.sh"] - -# no USER for backwards compatibility (to try to avoid breaking existing users) - -# no WORKDIR for backwards compatibility (to try to avoid breaking existing users) - -CMD ["haproxy", "-f", "/usr/local/etc/haproxy/haproxy.cfg"] diff --git a/2.0/alpine/docker-entrypoint.sh b/2.0/alpine/docker-entrypoint.sh deleted file mode 100755 index 8b2093b0..00000000 --- a/2.0/alpine/docker-entrypoint.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -set -e - -# first arg is `-f` or `--some-option` -if [ "${1#-}" != "$1" ]; then - set -- haproxy "$@" -fi - -if [ "$1" = 'haproxy' ]; then - shift # "haproxy" - # if the user wants "haproxy", let's add a couple useful flags - # -W -- "master-worker mode" (similar to the old "haproxy-systemd-wrapper"; allows for reload via "SIGUSR2") - # -db -- disables background mode - set -- haproxy -W -db "$@" -fi - -exec "$@" diff --git a/2.0/docker-entrypoint.sh b/2.0/docker-entrypoint.sh deleted file mode 100755 index 8b2093b0..00000000 --- a/2.0/docker-entrypoint.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -set -e - -# first arg is `-f` or `--some-option` -if [ "${1#-}" != "$1" ]; then - set -- haproxy "$@" -fi - -if [ "$1" = 'haproxy' ]; then - shift # "haproxy" - # if the user wants "haproxy", let's add a couple useful flags - # -W -- "master-worker mode" (similar to the old "haproxy-systemd-wrapper"; allows for reload via "SIGUSR2") - # -db -- disables background mode - set -- haproxy -W -db "$@" -fi - -exec "$@" diff --git a/2.2/alpine/Dockerfile b/2.2/alpine/Dockerfile deleted file mode 100644 index 889a172f..00000000 --- a/2.2/alpine/Dockerfile +++ /dev/null @@ -1,106 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.16 - -# runtime dependencies -RUN set -eux; \ - apk add --no-cache \ -# @system-ca: https://github.com/docker-library/haproxy/pull/216 - ca-certificates \ - ; - -# roughly, https://git.alpinelinux.org/aports/tree/main/haproxy/haproxy.pre-install?h=3.12-stable -RUN set -eux; \ - addgroup --gid 99 --system haproxy; \ - adduser \ - --disabled-password \ - --home /var/lib/haproxy \ - --ingroup haproxy \ - --no-create-home \ - --system \ - --uid 99 \ - haproxy \ - ; \ - mkdir /var/lib/haproxy; \ - chown haproxy:haproxy /var/lib/haproxy - -ENV HAPROXY_VERSION 2.2.33 -ENV HAPROXY_URL https://www.haproxy.org/download/2.2/src/haproxy-2.2.33.tar.gz -ENV HAPROXY_SHA256 24f9eec04ee8d9e3652370be3db9852dec8aa650b3c8eeae969300c86b6fda5b - -# see https://sources.debian.net/src/haproxy/jessie/debian/rules/ for some helpful navigation of the possible "make" arguments -RUN set -eux; \ - \ - apk add --no-cache --virtual .build-deps \ - gcc \ - libc-dev \ - linux-headers \ - lua5.3-dev \ - make \ - openssl \ - openssl-dev \ - pcre2-dev \ - readline-dev \ - tar \ - zlib-dev \ - ; \ - \ - wget -O haproxy.tar.gz "$HAPROXY_URL"; \ - echo "$HAPROXY_SHA256 *haproxy.tar.gz" | sha256sum -c; \ - mkdir -p /usr/src/haproxy; \ - tar -xzf haproxy.tar.gz -C /usr/src/haproxy --strip-components=1; \ - rm haproxy.tar.gz; \ - \ - makeOpts=' \ - TARGET=linux-musl \ - USE_GETADDRINFO=1 \ - USE_LUA=1 LUA_INC=/usr/include/lua5.3 LUA_LIB=/usr/lib/lua5.3 \ - USE_OPENSSL=1 \ - USE_PCRE2=1 USE_PCRE2_JIT=1 \ - USE_ZLIB=1 \ - \ - EXTRA_OBJS=" \ -# see https://github.com/docker-library/haproxy/issues/94#issuecomment-505673353 for more details about prometheus support - contrib/prometheus-exporter/service-prometheus.o \ - " \ - '; \ - \ - nproc="$(getconf _NPROCESSORS_ONLN)"; \ - eval "make -C /usr/src/haproxy -j '$nproc' all $makeOpts"; \ - eval "make -C /usr/src/haproxy install-bin $makeOpts"; \ - \ - mkdir -p /usr/local/etc/haproxy; \ - cp -R /usr/src/haproxy/examples/errorfiles /usr/local/etc/haproxy/errors; \ - rm -rf /usr/src/haproxy; \ - \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .haproxy-rundeps $runDeps; \ - apk del --no-network .build-deps; \ - \ -# smoke test - haproxy -v - -# https://www.haproxy.org/download/1.8/doc/management.txt -# "4. Stopping and restarting HAProxy" -# "when the SIGTERM signal is sent to the haproxy process, it immediately quits and all established connections are closed" -# "graceful stop is triggered when the SIGUSR1 signal is sent to the haproxy process" -STOPSIGNAL SIGUSR1 - -COPY docker-entrypoint.sh /usr/local/bin/ -RUN ln -s usr/local/bin/docker-entrypoint.sh / # backwards compat -ENTRYPOINT ["docker-entrypoint.sh"] - -# no USER for backwards compatibility (to try to avoid breaking existing users) - -# no WORKDIR for backwards compatibility (to try to avoid breaking existing users) - -CMD ["haproxy", "-f", "/usr/local/etc/haproxy/haproxy.cfg"] diff --git a/2.2/alpine/docker-entrypoint.sh b/2.2/alpine/docker-entrypoint.sh deleted file mode 100755 index 8b2093b0..00000000 --- a/2.2/alpine/docker-entrypoint.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -set -e - -# first arg is `-f` or `--some-option` -if [ "${1#-}" != "$1" ]; then - set -- haproxy "$@" -fi - -if [ "$1" = 'haproxy' ]; then - shift # "haproxy" - # if the user wants "haproxy", let's add a couple useful flags - # -W -- "master-worker mode" (similar to the old "haproxy-systemd-wrapper"; allows for reload via "SIGUSR2") - # -db -- disables background mode - set -- haproxy -W -db "$@" -fi - -exec "$@" diff --git a/2.4/alpine/Dockerfile b/2.4/alpine/Dockerfile index a10a614f..a5dd0be4 100644 --- a/2.4/alpine/Dockerfile +++ b/2.4/alpine/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.19 +FROM alpine:3.20 # runtime dependencies RUN set -eux; \ diff --git a/2.6/alpine/Dockerfile b/2.6/alpine/Dockerfile index c6ca86b1..66f416ac 100644 --- a/2.6/alpine/Dockerfile +++ b/2.6/alpine/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.19 +FROM alpine:3.20 # runtime dependencies RUN set -eux; \ diff --git a/2.8/alpine/Dockerfile b/2.8/alpine/Dockerfile index 94459184..fb9b2e06 100644 --- a/2.8/alpine/Dockerfile +++ b/2.8/alpine/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.19 +FROM alpine:3.20 # runtime dependencies RUN set -eux; \ diff --git a/2.9/alpine/Dockerfile b/2.9/alpine/Dockerfile index b2c52f7f..fa69e995 100644 --- a/2.9/alpine/Dockerfile +++ b/2.9/alpine/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.19 +FROM alpine:3.20 # runtime dependencies RUN set -eux; \ diff --git a/3.0/alpine/Dockerfile b/3.0/alpine/Dockerfile index f58f0c8a..963f7e4c 100644 --- a/3.0/alpine/Dockerfile +++ b/3.0/alpine/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.19 +FROM alpine:3.20 # runtime dependencies RUN set -eux; \ diff --git a/Dockerfile.template b/Dockerfile.template index 90939b3e..9715ae94 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -59,7 +59,7 @@ ENV HAPROXY_SHA256 {{ .sha256 }} # Since 5.4 is supported on haproxy, better use it now, but only for # newer versions since there could be some minor incompatibilities # for existing scripts: https://www.lua.org/manual/5.4/manual.html#8 - if ([ "2.0", "2.2", "2.4", "2.6", "2.8" ] | index(env.version)) then + if ([ "2.2", "2.4", "2.6", "2.8" ] | index(env.version)) then "5.3" else "5.4" @@ -81,7 +81,7 @@ RUN set -eux; \ pcre2-dev \ readline-dev \ tar \ -{{ if ([ "2.0", "2.2" ] | index(env.version)) then ( -}} +{{ if ([ "2.2" ] | index(env.version)) then ( -}} zlib-dev \ {{ ) else "" end -}} ; \ @@ -95,7 +95,7 @@ RUN set -eux; \ libssl-dev \ make \ wget \ -{{ if ([ "2.0", "2.2" ] | index(env.version)) then ( -}} +{{ if ([ "2.2" ] | index(env.version)) then ( -}} zlib1g-dev \ {{ ) else "" end -}} ; \ @@ -110,7 +110,7 @@ RUN set -eux; \ \ {{ def haproxy_target: - if env.variant == "alpine" and env.version != "2.0" then + if env.variant == "alpine" then "linux-musl" else "linux-glibc" @@ -122,15 +122,15 @@ RUN set -eux; \ USE_LUA=1 LUA_INC=/usr/include/lua{{ lua }}{{ if env.variant == "alpine" then (" LUA_LIB=/usr/lib/lua" + lua) else "" end }} \ USE_OPENSSL=1 \ USE_PCRE2=1 USE_PCRE2_JIT=1 \ -{{ if ([ "2.0", "2.2" ] | index(env.version)) then ( -}} +{{ if ([ "2.2" ] | index(env.version)) then ( -}} USE_ZLIB=1 \ {{ ) else "" end -}} -{{ if ([ "2.0", "2.2" ] | index(env.version) | not) then ( -}} +{{ if ([ "2.2" ] | index(env.version) | not) then ( -}} USE_PROMEX=1 \ {{ ) else "" end -}} \ EXTRA_OBJS=" \ -{{ if [ "2.0", "2.2" ] | index(env.version) then ( -}} +{{ if [ "2.2" ] | index(env.version) then ( -}} # see https://github.com/docker-library/haproxy/issues/94#issuecomment-505673353 for more details about prometheus support contrib/prometheus-exporter/service-prometheus.o \ {{ ) else "" end -}} @@ -188,18 +188,18 @@ RUN set -eux; \ STOPSIGNAL SIGUSR1 COPY docker-entrypoint.sh /usr/local/bin/ -{{ if [ "2.0", "2.2" ] | index(env.version) then ( -}} +{{ if [ "2.2" ] | index(env.version) then ( -}} RUN ln -s usr/local/bin/docker-entrypoint.sh / # backwards compat {{ ) else "" end -}} ENTRYPOINT ["docker-entrypoint.sh"] -{{ if [ "2.0", "2.2" ] | index(env.version) then ( -}} +{{ if [ "2.2" ] | index(env.version) then ( -}} # no USER for backwards compatibility (to try to avoid breaking existing users) {{ ) else ( -}} USER haproxy {{ ) end -}} -{{ if [ "2.0", "2.2", "2.4", "2.6" ] | index(env.version) then ( -}} +{{ if [ "2.2", "2.4", "2.6" ] | index(env.version) then ( -}} # no WORKDIR for backwards compatibility (to try to avoid breaking existing users) {{ ) else ( -}} # https://github.com/docker-library/haproxy/issues/200 diff --git a/apply-templates.sh b/apply-templates.sh index 0a70cb9e..35febb70 100755 --- a/apply-templates.sh +++ b/apply-templates.sh @@ -29,6 +29,12 @@ generated_warning() { for version; do for variant in '' alpine; do + # 2.2 can't be built on Alpine greater than 3.16 + # OpenSSL 3 incompatibilities (https://github.com/haproxy/haproxy/issues/1276) + # but Alpine 3.16 is end of life + if [ "$version" = '2.2' ] && [ "$variant" = 'alpine' ]; then + continue + fi export version variant dir="$version${variant:+/$variant}" diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index 39b3c67d..646cd5bf 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -91,6 +91,10 @@ for version; do for variant in '' alpine; do export variant dir="$version${variant:+/$variant}" + if [ ! -d "$dir" ]; then + # 2.2 can't be built on supported Alpine release, so it has no Alpine + continue + fi commit="$(dirCommit "$dir")" diff --git a/versions.json b/versions.json index 728e0fe3..5d6c7fb2 100644 --- a/versions.json +++ b/versions.json @@ -1,48 +1,40 @@ { - "2.0": { - "alpine": "3.16", - "debian": "buster-slim", - "sha256": "95334c52ace9ae139e66d60240633be8bb4eed1babedfcc6cb947092e00c447c", - "url": "https://www.haproxy.org/download/2.0/src/haproxy-2.0.35.tar.gz", - "version": "2.0.35" - }, "2.2": { - "alpine": "3.16", "debian": "bullseye-slim", "sha256": "24f9eec04ee8d9e3652370be3db9852dec8aa650b3c8eeae969300c86b6fda5b", "url": "https://www.haproxy.org/download/2.2/src/haproxy-2.2.33.tar.gz", "version": "2.2.33" }, "2.4": { - "alpine": "3.19", + "alpine": "3.20", "debian": "bookworm-slim", "sha256": "1cdcfbb3caff8864259e2981039f46f616ff15b6283ca601508325367ab550f3", "url": "https://www.haproxy.org/download/2.4/src/haproxy-2.4.26.tar.gz", "version": "2.4.26" }, "2.6": { - "alpine": "3.19", + "alpine": "3.20", "debian": "bookworm-slim", "sha256": "be48ee8ff9127c402b4c6cf1445cef7052f2c540ed1eff2dd04af677b8cd9dd0", "url": "https://www.haproxy.org/download/2.6/src/haproxy-2.6.17.tar.gz", "version": "2.6.17" }, "2.8": { - "alpine": "3.19", + "alpine": "3.20", "debian": "bookworm-slim", "sha256": "7a821478f36f847607f51a51e80f4f890c37af4811d60438e7f63783f67592ff", "url": "https://www.haproxy.org/download/2.8/src/haproxy-2.8.9.tar.gz", "version": "2.8.9" }, "2.9": { - "alpine": "3.19", + "alpine": "3.20", "debian": "bookworm-slim", "sha256": "d1a0a56f008a8d2f007bc0c37df6b2952520d1f4dde33b8d3802710e5158c131", "url": "https://www.haproxy.org/download/2.9/src/haproxy-2.9.7.tar.gz", "version": "2.9.7" }, "3.0": { - "alpine": "3.19", + "alpine": "3.20", "debian": "bookworm-slim", "sha256": "de25e238ec6a0ca1be3d1407b80e96891bf8ef2d864562da68f565d8707ac128", "url": "https://www.haproxy.org/download/3.0/src/devel/haproxy-3.0-dev12.tar.gz", diff --git a/versions.sh b/versions.sh index ef4bf443..d5a462bb 100755 --- a/versions.sh +++ b/versions.sh @@ -15,16 +15,13 @@ versions=( "${versions[@]%/}" ) defaultDebianSuite='bookworm-slim' declare -A debianSuite=( [2.2]='bullseye-slim' - [2.0]='buster-slim' ) -defaultAlpineVersion='3.19' +defaultAlpineVersion='3.20' declare -A alpineVersion=( - # OpenSSL 3 incompatibilities (https://github.com/haproxy/haproxy/issues/1276) - [2.2]='3.16' - [2.0]='3.16' ) for version in "${versions[@]}"; do + export version export url="https://www.haproxy.org/download/$version/src" export debian="${debianSuite[$version]:-$defaultDebianSuite}" export alpine="${alpineVersion[$version]:-$defaultAlpineVersion}" @@ -39,10 +36,11 @@ for version in "${versions[@]}"; do debian: env.debian, alpine: env.alpine, } + # remove Alpine from 2.2 since it cannot be built on any active Alpine release + | if env.version == "2.2" then del(.alpine) else . end ' )" - export version jq <<<"$doc" -r 'env.version + ": " + .version' json="$(jq <<<"$json" -c --argjson doc "$doc" '.[env.version] = $doc')" done