Skip to content

Commit c63013f

Browse files
KingPinKingPin
authored andcommitted
fix(v2): add libssl3 t64 equivs and robustly mark runtime libs manual
- install libssl3t64 (trixie) / libssl3 (bookworm) and build dummy libssl3 equivs package to satisfy t64 transition - replace bulk apt-mark with a dpkg-query loop to mark only installed runtime libraries (including libssl3 variants) as manual before purging dev packages
1 parent f4a9084 commit c63013f

File tree

1 file changed

+28
-25
lines changed

1 file changed

+28
-25
lines changed

Dockerfile.v2

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
4747
libsnmp-dev libsnmp40t64 \
4848
librabbitmq-dev librabbitmq4 \
4949
libpq-dev libpq5 \
50-
libssl-dev \
50+
libssl-dev libssl3t64 \
5151
libzip-dev libzip5 \
5252
libbz2-dev \
5353
libicu-dev libicu76 \
@@ -70,7 +70,17 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
7070
echo 'Provides: libmemcachedutil2' >> /tmp/libmemcachedutil2.control && \
7171
equivs-build /tmp/libmemcachedutil2.control && \
7272
dpkg -i libmemcachedutil2_999.0_all.deb && \
73-
rm /tmp/libmemcachedutil2.control libmemcachedutil2_999.0_all.deb; \
73+
rm /tmp/libmemcachedutil2.control libmemcachedutil2_999.0_all.deb && \
74+
echo 'Package: libssl3' > /tmp/libssl3.control && \
75+
echo 'Version: 999.0' >> /tmp/libssl3.control && \
76+
echo 'Architecture: all' >> /tmp/libssl3.control && \
77+
echo 'Maintainer: nobody' >> /tmp/libssl3.control && \
78+
echo 'Description: Dummy package for t64 transition - provides libssl3' >> /tmp/libssl3.control && \
79+
echo 'Depends: libssl3t64' >> /tmp/libssl3.control && \
80+
echo 'Provides: libssl3' >> /tmp/libssl3.control && \
81+
equivs-build /tmp/libssl3.control && \
82+
dpkg -i libssl3_999.0_all.deb && \
83+
rm /tmp/libssl3.control libssl3_999.0_all.deb; \
7484
else \
7585
apt-get install -y --no-install-recommends \
7686
libmemcached-dev libmemcachedutil2 libmemcached11 \
@@ -81,7 +91,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
8191
libsnmp-dev libsnmp40 \
8292
librabbitmq-dev librabbitmq4 \
8393
libpq-dev libpq5 \
84-
libssl-dev \
94+
libssl-dev libssl3 \
8595
libzip-dev libzip4 \
8696
libbz2-dev \
8797
libicu-dev \
@@ -155,31 +165,24 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
155165
# Clean up build-only packages to reduce image size
156166
if [ "$BASEOS" = "trixie" ] || [ "$BASEOS" = "bookworm" ]; then \
157167
# Mark runtime libraries to keep before purging dev packages
158-
apt-mark manual \
159-
libmemcached11t64 libmemcached11 \
168+
# Use dpkg-query (more reliable in cross-compilation than dpkg -l | grep)
169+
for pkg in libmemcached11t64 libmemcached11 \
160170
libmagickcore-7.q16-10 libmagickwand-7.q16-10 libmagickcore-6.q16-6 libmagickwand-6.q16-6 \
161-
libvips42t64 \
162-
libvips42 \
163-
libpng16-16t64 \
164-
libpng16-16 \
165-
libavif16 \
166-
libavif15 \
167-
libsnmp40t64 \
168-
libsnmp40 \
169-
librabbitmq4 \
170-
libpq5 \
171+
libvips42t64 libvips42 \
172+
libpng16-16t64 libpng16-16 \
173+
libavif16 libavif15 \
174+
libsnmp40t64 libsnmp40 \
175+
librabbitmq4 libpq5 \
176+
libssl3t64 libssl3 \
171177
libzip5 libzip4 \
172178
libicu76 \
173-
libldap2 \
174-
libldap-2.5-0 \
175-
libtidy58 \
176-
libtidy5deb1 \
177-
libxslt1.1 \
178-
libyaml-0-2 \
179-
libuuid1 \
180-
libsnappy1v5 \
181-
libwebp7 \
182-
libxpm4 2>/dev/null || true && \
179+
libldap2 libldap-2.5-0 \
180+
libtidy58 libtidy5deb1 \
181+
libxslt1.1 libyaml-0-2 libuuid1 \
182+
libsnappy1v5 libwebp7 libxpm4; do \
183+
dpkg-query -W -f='${Status}' "$pkg" 2>/dev/null | grep -q "install ok installed" && \
184+
apt-mark manual "$pkg" 2>/dev/null || true; \
185+
done && \
183186
apt-get purge -y --auto-remove \
184187
build-essential \
185188
libmemcached-dev \

0 commit comments

Comments
 (0)