Add libproxyprotocol to the Debian, Rocky, and Alpine build environments

Upstream ships only a Makefile with no install target, so each image
compiles src/proxy_protocol.c with -fPIC, archives it into
libproxyprotocol.a, and installs the header manually, matching this
project's static-PIC-library convention.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Xj6cCTEVsr5PM43uTsbq8
This commit is contained in:
GuofangandClaude Sonnet 5 committed 2026-09-14 15:15:52 +08:00
1 parent 874c6ead1b
commit 3c1f37e1d5
4 files changed
+35

No files matched your search

+1
View File
@@ -44,6 +44,7 @@
| libmaxminddb | `1.13.3` | | libmaxminddb | `1.13.3` |
| libyaml | `0.2.5` | | libyaml | `0.2.5` |
| libxml2 | `2.15.3` | | libxml2 | `2.15.3` |
| libproxyprotocol | `v1.3.3` |
The image includes position-independent static builds of these libraries. Protobuf and libxml2 enable zlib support, and LibDwarf enables compressed debug section support using zlib and Zstd. ZeroMQ enables CURVE security using static libsodium. CZMQ enables UUID support using static util-linux libuuid while disabling undeclared optional integrations. librdkafka includes SSL, zlib, Zstd, and bundled LZ4 support while disabling undeclared optional integrations. spdlog uses external fmt, glog uses gflags, and all Meta libraries share the same release tag. The image includes position-independent static builds of these libraries. Protobuf and libxml2 enable zlib support, and LibDwarf enables compressed debug section support using zlib and Zstd. ZeroMQ enables CURVE security using static libsodium. CZMQ enables UUID support using static util-linux libuuid while disabling undeclared optional integrations. librdkafka includes SSL, zlib, Zstd, and bundled LZ4 support while disabling undeclared optional integrations. spdlog uses external fmt, glog uses gflags, and all Meta libraries share the same release tag.
+10
View File
@@ -644,6 +644,16 @@ RUN curl --fail --location --output jemalloc.tar.gz \
&& cd .. \ && cd .. \
&& rm -rf src && rm -rf src
RUN curl --fail --location --output libproxyprotocol.tar.gz \
https://wangguofang.net/github.com/kosmas-valianos/libproxyprotocol/archive/v1.3.3.tar.gz \
&& mkdir src \
&& tar --extract --gzip --file=libproxyprotocol.tar.gz --directory=src --strip-components=1 \
&& rm libproxyprotocol.tar.gz \
&& gcc -fPIC -c -o src/src/proxy_protocol.o src/src/proxy_protocol.c \
&& ar rcs /usr/local/lib/libproxyprotocol.a src/src/proxy_protocol.o \
&& cp src/src/proxy_protocol.h /usr/local/include/ \
&& rm -rf src
RUN curl --fail --location --output makeself.tar.gz \ RUN curl --fail --location --output makeself.tar.gz \
https://wangguofang.net/github.com/megastep/makeself/archive/release-2.7.1.tar.gz \ https://wangguofang.net/github.com/megastep/makeself/archive/release-2.7.1.tar.gz \
&& mkdir src \ && mkdir src \
+12
View File
@@ -563,4 +563,16 @@ RUN git clone --branch=5.3.1 --depth=1 https://github.com/jemalloc/jemalloc.git
&& cd .. \ && cd .. \
&& rm -rf src && rm -rf src
RUN curl --fail --location --output libproxyprotocol.tar.gz \
https://gh-proxy.com/https://github.com/kosmas-valianos/libproxyprotocol/archive/v1.3.3.tar.gz \
&& echo "4f1cbd714e5b52a91a9a43228d55c8165b578b738f743d057ae321b69b8437f7 libproxyprotocol.tar.gz" \
| sha256sum --check - \
&& mkdir src \
&& tar --extract --gzip --file=libproxyprotocol.tar.gz --directory=src --strip-components=1 \
&& rm libproxyprotocol.tar.gz \
&& gcc -fPIC -c -o src/src/proxy_protocol.o src/src/proxy_protocol.c \
&& ar rcs /usr/local/lib/libproxyprotocol.a src/src/proxy_protocol.o \
&& cp src/src/proxy_protocol.h /usr/local/include/ \
&& rm -rf src
CMD ["/bin/bash"] CMD ["/bin/bash"]
+12
View File
@@ -573,6 +573,18 @@ RUN git clone --branch=5.3.1 --depth=1 https://github.com/jemalloc/jemalloc.git
&& cd .. \ && cd .. \
&& rm -rf src && rm -rf src
RUN curl --fail --location --output libproxyprotocol.tar.gz \
https://gh-proxy.com/https://github.com/kosmas-valianos/libproxyprotocol/archive/v1.3.3.tar.gz \
&& echo "4f1cbd714e5b52a91a9a43228d55c8165b578b738f743d057ae321b69b8437f7 libproxyprotocol.tar.gz" \
| sha256sum --check - \
&& mkdir src \
&& tar --extract --gzip --file=libproxyprotocol.tar.gz --directory=src --strip-components=1 \
&& rm libproxyprotocol.tar.gz \
&& gcc -fPIC -c -o src/src/proxy_protocol.o src/src/proxy_protocol.c \
&& ar rcs /usr/local/lib/libproxyprotocol.a src/src/proxy_protocol.o \
&& cp src/src/proxy_protocol.h /usr/local/include/ \
&& rm -rf src
RUN cp --archive /usr/local/lib/. /usr/local/lib64/ RUN cp --archive /usr/local/lib/. /usr/local/lib64/
RUN RUSTUP_VERSION=1.28.2 \ RUN RUSTUP_VERSION=1.28.2 \