@@ -61,7 +61,7 @@ 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
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 no-pic -fno-pic
6565RUN make -j`nproc` && make install_sw && rm -rf /build-ssl
6666
6767# ###########
@@ -73,7 +73,7 @@ ARG release
7373# Note: {foo:+bar} here is a syntax of the Dockerfile, not the shell!
7474ENV IPO_ARG=${release:+-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON}
7575RUN 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
76+ 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
7777
7878# ##############
7979# Build aria2 #
@@ -83,16 +83,15 @@ COPY .git/modules/aria2 /updater/.git/modules/aria2
8383COPY build-aria.sh /updater/
8484WORKDIR /updater/aria2
8585RUN OPENSSL_LIBS='-L/openssl/lib64 -lssl -lcrypto -lpthread -ldl' OPENSSL_CFLAGS='-I /openssl/include' \
86- CFLAGS=-Os CXXFLAGS=-Os ../build-aria.sh --with-openssl
86+ CFLAGS=' -Os -fno-pic -no-pie' CXXFLAGS=' -Os -fno-pic -no-pie' ../build-aria.sh --with-openssl
8787
8888# ################
8989# Build updater #
9090# ################
9191COPY . /updater
9292RUN set -e; for D in . quazip fluid; do cd /updater/$D && git clean -dXff; done
9393WORKDIR /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
94+ 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
9695RUN mv updater updater-nonstripped && strip updater-nonstripped -o updater
9796# Version check: do not depend on glibc > 2.31
9897RUN echo GLIBC_2.31 > target_version && \
0 commit comments