From c153740fe581f5c43c6c5571acd00055e49e478d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= Date: Thu, 29 May 2025 13:26:38 +0200 Subject: [PATCH] Remove EOL 2.2 --- 2.2/Dockerfile | 114 ---------------------------------- 2.2/docker-entrypoint.sh | 17 ----- 2.4/Dockerfile | 3 - 2.4/alpine/Dockerfile | 3 - 2.6/Dockerfile | 3 - 2.6/alpine/Dockerfile | 3 - 2.8/Dockerfile | 3 - 2.8/alpine/Dockerfile | 3 - 3.0/Dockerfile | 3 - 3.0/alpine/Dockerfile | 3 - 3.1/Dockerfile | 3 - 3.1/alpine/Dockerfile | 3 - 3.2/Dockerfile | 3 - 3.2/alpine/Dockerfile | 3 - 3.3/Dockerfile | 3 - 3.3/alpine/Dockerfile | 3 - Dockerfile.template | 29 +-------- apply-templates.sh | 6 -- generate-stackbrew-library.sh | 1 - versions.json | 6 -- versions.sh | 3 - 21 files changed, 2 insertions(+), 216 deletions(-) delete mode 100644 2.2/Dockerfile delete mode 100755 2.2/docker-entrypoint.sh diff --git a/2.2/Dockerfile b/2.2/Dockerfile deleted file mode 100644 index 23cfe824..00000000 --- a/2.2/Dockerfile +++ /dev/null @@ -1,114 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:bullseye-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.2.34 -ENV HAPROXY_URL https://www.haproxy.org/download/2.2/src/haproxy-2.2.34.tar.gz -ENV HAPROXY_SHA256 0fb78d1f296c45c7546a9a3167d595fb1af9eaf9e9c16a9324f36c55fbf2f323 - -# 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.2/docker-entrypoint.sh b/2.2/docker-entrypoint.sh deleted file mode 100755 index 8b2093b0..00000000 --- a/2.2/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/Dockerfile b/2.4/Dockerfile index c321ff19..e862e015 100644 --- a/2.4/Dockerfile +++ b/2.4/Dockerfile @@ -61,9 +61,6 @@ RUN set -eux; \ USE_OPENSSL=1 \ USE_PCRE2=1 USE_PCRE2_JIT=1 \ USE_PROMEX=1 \ - \ - EXTRA_OBJS=" \ - " \ '; \ # https://salsa.debian.org/haproxy-team/haproxy/-/commit/53988af3d006ebcbf2c941e34121859fd6379c70 dpkgArch="$(dpkg --print-architecture)"; \ diff --git a/2.4/alpine/Dockerfile b/2.4/alpine/Dockerfile index eac1ca15..a164ca2d 100644 --- a/2.4/alpine/Dockerfile +++ b/2.4/alpine/Dockerfile @@ -61,9 +61,6 @@ RUN set -eux; \ USE_OPENSSL=1 \ USE_PCRE2=1 USE_PCRE2_JIT=1 \ USE_PROMEX=1 \ - \ - EXTRA_OBJS=" \ - " \ '; \ \ nproc="$(getconf _NPROCESSORS_ONLN)"; \ diff --git a/2.6/Dockerfile b/2.6/Dockerfile index 65a20982..deeca8e4 100644 --- a/2.6/Dockerfile +++ b/2.6/Dockerfile @@ -61,9 +61,6 @@ RUN set -eux; \ USE_OPENSSL=1 \ USE_PCRE2=1 USE_PCRE2_JIT=1 \ USE_PROMEX=1 \ - \ - EXTRA_OBJS=" \ - " \ '; \ # https://salsa.debian.org/haproxy-team/haproxy/-/commit/53988af3d006ebcbf2c941e34121859fd6379c70 dpkgArch="$(dpkg --print-architecture)"; \ diff --git a/2.6/alpine/Dockerfile b/2.6/alpine/Dockerfile index 003c6ebf..c09bd973 100644 --- a/2.6/alpine/Dockerfile +++ b/2.6/alpine/Dockerfile @@ -61,9 +61,6 @@ RUN set -eux; \ USE_OPENSSL=1 \ USE_PCRE2=1 USE_PCRE2_JIT=1 \ USE_PROMEX=1 \ - \ - EXTRA_OBJS=" \ - " \ '; \ \ nproc="$(getconf _NPROCESSORS_ONLN)"; \ diff --git a/2.8/Dockerfile b/2.8/Dockerfile index 6ab6b46c..fb609c57 100644 --- a/2.8/Dockerfile +++ b/2.8/Dockerfile @@ -61,9 +61,6 @@ RUN set -eux; \ USE_OPENSSL=1 \ USE_PCRE2=1 USE_PCRE2_JIT=1 \ USE_PROMEX=1 \ - \ - EXTRA_OBJS=" \ - " \ '; \ # https://salsa.debian.org/haproxy-team/haproxy/-/commit/53988af3d006ebcbf2c941e34121859fd6379c70 dpkgArch="$(dpkg --print-architecture)"; \ diff --git a/2.8/alpine/Dockerfile b/2.8/alpine/Dockerfile index 644a6dab..c77230df 100644 --- a/2.8/alpine/Dockerfile +++ b/2.8/alpine/Dockerfile @@ -61,9 +61,6 @@ RUN set -eux; \ USE_OPENSSL=1 \ USE_PCRE2=1 USE_PCRE2_JIT=1 \ USE_PROMEX=1 \ - \ - EXTRA_OBJS=" \ - " \ '; \ \ nproc="$(getconf _NPROCESSORS_ONLN)"; \ diff --git a/3.0/Dockerfile b/3.0/Dockerfile index acc9eda8..d38c75e4 100644 --- a/3.0/Dockerfile +++ b/3.0/Dockerfile @@ -61,9 +61,6 @@ RUN set -eux; \ USE_OPENSSL=1 \ USE_PCRE2=1 USE_PCRE2_JIT=1 \ USE_PROMEX=1 \ - \ - EXTRA_OBJS=" \ - " \ '; \ # https://salsa.debian.org/haproxy-team/haproxy/-/commit/53988af3d006ebcbf2c941e34121859fd6379c70 dpkgArch="$(dpkg --print-architecture)"; \ diff --git a/3.0/alpine/Dockerfile b/3.0/alpine/Dockerfile index 50b264fa..93c7bc29 100644 --- a/3.0/alpine/Dockerfile +++ b/3.0/alpine/Dockerfile @@ -61,9 +61,6 @@ RUN set -eux; \ USE_OPENSSL=1 \ USE_PCRE2=1 USE_PCRE2_JIT=1 \ USE_PROMEX=1 \ - \ - EXTRA_OBJS=" \ - " \ '; \ \ nproc="$(getconf _NPROCESSORS_ONLN)"; \ diff --git a/3.1/Dockerfile b/3.1/Dockerfile index fc894525..7d41d1cb 100644 --- a/3.1/Dockerfile +++ b/3.1/Dockerfile @@ -61,9 +61,6 @@ RUN set -eux; \ USE_OPENSSL=1 \ USE_PCRE2=1 USE_PCRE2_JIT=1 \ USE_PROMEX=1 \ - \ - EXTRA_OBJS=" \ - " \ '; \ # https://salsa.debian.org/haproxy-team/haproxy/-/commit/53988af3d006ebcbf2c941e34121859fd6379c70 dpkgArch="$(dpkg --print-architecture)"; \ diff --git a/3.1/alpine/Dockerfile b/3.1/alpine/Dockerfile index b8f88044..47c0aaf7 100644 --- a/3.1/alpine/Dockerfile +++ b/3.1/alpine/Dockerfile @@ -61,9 +61,6 @@ RUN set -eux; \ USE_OPENSSL=1 \ USE_PCRE2=1 USE_PCRE2_JIT=1 \ USE_PROMEX=1 \ - \ - EXTRA_OBJS=" \ - " \ '; \ \ nproc="$(getconf _NPROCESSORS_ONLN)"; \ diff --git a/3.2/Dockerfile b/3.2/Dockerfile index 41d842a9..b33ae665 100644 --- a/3.2/Dockerfile +++ b/3.2/Dockerfile @@ -61,9 +61,6 @@ RUN set -eux; \ USE_OPENSSL=1 \ USE_PCRE2=1 USE_PCRE2_JIT=1 \ USE_PROMEX=1 \ - \ - EXTRA_OBJS=" \ - " \ '; \ # https://salsa.debian.org/haproxy-team/haproxy/-/commit/53988af3d006ebcbf2c941e34121859fd6379c70 dpkgArch="$(dpkg --print-architecture)"; \ diff --git a/3.2/alpine/Dockerfile b/3.2/alpine/Dockerfile index 840f6d3e..22bbbb76 100644 --- a/3.2/alpine/Dockerfile +++ b/3.2/alpine/Dockerfile @@ -61,9 +61,6 @@ RUN set -eux; \ USE_OPENSSL=1 \ USE_PCRE2=1 USE_PCRE2_JIT=1 \ USE_PROMEX=1 \ - \ - EXTRA_OBJS=" \ - " \ '; \ \ nproc="$(getconf _NPROCESSORS_ONLN)"; \ diff --git a/3.3/Dockerfile b/3.3/Dockerfile index eb2e1b64..638d8c02 100644 --- a/3.3/Dockerfile +++ b/3.3/Dockerfile @@ -61,9 +61,6 @@ RUN set -eux; \ USE_OPENSSL=1 \ USE_PCRE2=1 USE_PCRE2_JIT=1 \ USE_PROMEX=1 \ - \ - EXTRA_OBJS=" \ - " \ '; \ # https://salsa.debian.org/haproxy-team/haproxy/-/commit/53988af3d006ebcbf2c941e34121859fd6379c70 dpkgArch="$(dpkg --print-architecture)"; \ diff --git a/3.3/alpine/Dockerfile b/3.3/alpine/Dockerfile index 58b2b961..36f2f9b6 100644 --- a/3.3/alpine/Dockerfile +++ b/3.3/alpine/Dockerfile @@ -61,9 +61,6 @@ RUN set -eux; \ USE_OPENSSL=1 \ USE_PCRE2=1 USE_PCRE2_JIT=1 \ USE_PROMEX=1 \ - \ - EXTRA_OBJS=" \ - " \ '; \ \ nproc="$(getconf _NPROCESSORS_ONLN)"; \ diff --git a/Dockerfile.template b/Dockerfile.template index 05d1f8a2..1d705cc3 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 env.version | IN("2.2", "2.4", "2.6", "2.8") then + if env.version | IN("2.4", "2.6", "2.8") then "5.3" else "5.4" @@ -81,9 +81,6 @@ RUN set -eux; \ pcre2-dev \ readline-dev \ tar \ -{{ if env.version == "2.2" then ( -}} - zlib-dev \ -{{ ) else "" end -}} ; \ {{ ) else ( -}} savedAptMark="$(apt-mark showmanual)"; \ @@ -95,9 +92,6 @@ RUN set -eux; \ libssl-dev \ make \ wget \ -{{ if env.version == "2.2" then ( -}} - zlib1g-dev \ -{{ ) else "" end -}} ; \ rm -rf /var/lib/apt/lists/*; \ {{ ) end -}} @@ -122,19 +116,7 @@ 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 env.version == "2.2" then ( -}} - USE_ZLIB=1 \ -{{ ) else "" end -}} -{{ if env.version == "2.2" then "" else ( -}} USE_PROMEX=1 \ -{{ ) end -}} - \ - EXTRA_OBJS=" \ -{{ if env.version == "2.2" 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 -}} - " \ '; \ {{ if env.variant == "alpine" then ( -}} \ @@ -188,18 +170,11 @@ RUN set -eux; \ STOPSIGNAL SIGUSR1 COPY docker-entrypoint.sh /usr/local/bin/ -{{ if env.version == "2.2" then ( -}} -RUN ln -s usr/local/bin/docker-entrypoint.sh / # backwards compat -{{ ) else "" end -}} ENTRYPOINT ["docker-entrypoint.sh"] -{{ if env.version == "2.2" then ( -}} -# no USER for backwards compatibility (to try to avoid breaking existing users) -{{ ) else ( -}} USER haproxy -{{ ) end -}} -{{ if [ "2.2", "2.4", "2.6" ] | index(env.version) then ( -}} +{{ if [ "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 f8cb99ca..c119bb5b 100755 --- a/apply-templates.sh +++ b/apply-templates.sh @@ -31,12 +31,6 @@ for version; do rm -rf "$version/" 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 7b123f14..b91a76aa 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -93,7 +93,6 @@ for version; do export variant dir="$version${variant:+/$variant}" if [ ! -d "$dir" ]; then - # 2.2 can't be built on a supported Alpine release continue fi diff --git a/versions.json b/versions.json index 85c9264a..87713533 100644 --- a/versions.json +++ b/versions.json @@ -1,10 +1,4 @@ { - "2.2": { - "debian": "bullseye-slim", - "sha256": "0fb78d1f296c45c7546a9a3167d595fb1af9eaf9e9c16a9324f36c55fbf2f323", - "url": "https://www.haproxy.org/download/2.2/src/haproxy-2.2.34.tar.gz", - "version": "2.2.34" - }, "2.4": { "alpine": "3.21", "debian": "bookworm-slim", diff --git a/versions.sh b/versions.sh index 3e24ca90..55af3e7c 100755 --- a/versions.sh +++ b/versions.sh @@ -14,7 +14,6 @@ versions=( "${versions[@]%/}" ) defaultDebianSuite='bookworm-slim' declare -A debianSuite=( - [2.2]='bullseye-slim' ) defaultAlpineVersion='3.21' declare -A alpineVersion=( @@ -36,8 +35,6 @@ for version in "${versions[@]}"; do debian: env.debian, alpine: env.alpine, } - # remove Alpine from versions where it cannot be built on any active Alpine release - | if env.version == "2.2" then del(.alpine) else . end ' )"