Skip to content

Commit 7ddacb0

Browse files
committed
fix: install filesystem and bash before using noscripts
The filesystem package needs scriptlets to run to create base directory structure (/bin, /usr, etc). Installing with noscripts breaks this. Solution: Two-stage installation: 1. Install filesystem + bash first (with scriptlets) - Creates directory structure - Provides /bin/sh for subsequent operations 2. Install python + ca-certificates + procps-ng (with noscripts) - Avoids ca-certificates scriptlet failures under ARM64 QEMU emulation - Safe because filesystem is already set up Fixes: - AMD64: filesystem package installation failure - ARM64: ca-certificates scriptlet failure under QEMU Addresses PR #1166 Signed-off-by: Manav Gupta <manavg@gmail.com>
1 parent c7336e7 commit 7ddacb0

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

Containerfile.lite

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,12 @@ RUN python3 -OO -m compileall -q /app/.venv /app/mcpgateway /app/plugins \
113113
RUN set -euo pipefail \
114114
&& mkdir -p "${ROOTFS_PATH:?}" \
115115
&& dnf --installroot="${ROOTFS_PATH:?}" --releasever=10 upgrade -y \
116+
&& dnf --installroot="${ROOTFS_PATH:?}" --releasever=10 install -y \
117+
--setopt=install_weak_deps=0 \
118+
--setopt=tsflags=nodocs \
119+
--setopt=skip_if_unavailable=1 \
120+
filesystem \
121+
bash \
116122
&& dnf --installroot="${ROOTFS_PATH:?}" --releasever=10 install -y \
117123
--setopt=install_weak_deps=0 \
118124
--setopt=tsflags=nodocs,noscripts \

0 commit comments

Comments
 (0)