@@ -61,7 +61,6 @@ RUN curl -LO http://github.com/openssl/openssl/releases/download/openssl-3.6.0/o
6161 sha256sum --check sha256sums-openssl.txt
6262RUN tar -xzf openssl-3.6.0.tar.gz
6363WORKDIR /build-ssl/openssl-3.6.0
64- RUN ./config --prefix=/openssl --openssldir=/dev/null no-shared no-apps no-autoload-config no-capieng no-dso no-dynamic-engine no-engine no-loadereng no-module -Os
6564RUN make -j`nproc` && make install_sw && rm -rf /build-ssl
6665
6766# ###########
@@ -73,7 +72,7 @@ ARG release
7372# Note: {foo:+bar} here is a syntax of the Dockerfile, not the shell!
7473ENV IPO_ARG=${release:+-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON}
7574RUN echo IPO_ARG ${IPO_ARG}
76- RUN BUILDQT_CMAKE_ARGS=${IPO_ARG} PKG_CONFIG_PATH=/openssl/lib64/pkgconfig ./build-qt.sh && mv qt /qt && rm -rf /build-qt
75+ RUN BUILDQT_CMAKE_ARGS=" ${IPO_ARG} -DCMAKE_POSITION_INDEPENDENT_CODE=OFF -DFEATURE_reduce_relocations=OFF" CXXFLAGS= '-fno-pic -no-pie' CFLAGS= '-fno-pic -no-pie' PKG_CONFIG_PATH=/openssl/lib64/pkgconfig ./build-qt.sh && mv qt /qt && rm -rf /build-qt
7776
7877# ##############
7978# Build aria2 #
@@ -83,16 +82,15 @@ COPY .git/modules/aria2 /updater/.git/modules/aria2
8382COPY build-aria.sh /updater/
8483WORKDIR /updater/aria2
8584RUN OPENSSL_LIBS='-L/openssl/lib64 -lssl -lcrypto -lpthread -ldl' OPENSSL_CFLAGS='-I /openssl/include' \
86- CFLAGS=-Os CXXFLAGS=-Os ../build-aria.sh --with-openssl
85+ CFLAGS=' -Os -fno-pic -no-pie' CXXFLAGS=' -Os -fno-pic -no-pie' ../build-aria.sh --with-openssl
8786
8887# ################
8988# Build updater #
9089# ################
9190COPY . /updater
9291RUN set -e; for D in . quazip fluid; do cd /updater/$D && git clean -dXff; done
9392WORKDIR /build
94- # TODO no-pie?
95- RUN PKG_CONFIG_PATH=/openssl/lib64/pkgconfig cmake -G Ninja -DCMAKE_FIND_ROOT_PATH=/qt -DCMAKE_BUILD_TYPE=MinSizeRel ${IPO_ARG} /updater && ninja
93+ RUN PKG_CONFIG_PATH=/openssl/lib64/pkgconfig CXXFLAGS='-no-pie -fno-pic' CFLAGS='-no-pie -fno-pic' cmake -G Ninja -DCMAKE_POSITION_INDEPENDENT_CODE=OFF -DCMAKE_FIND_ROOT_PATH=/qt -DCMAKE_BUILD_TYPE=MinSizeRel ${IPO_ARG} /updater && ninja
9694RUN mv updater updater-nonstripped && strip updater-nonstripped -o updater
9795# Version check: do not depend on glibc > 2.31
9896RUN echo GLIBC_2.31 > target_version && \
0 commit comments