aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
Diffstat (limited to 'docker')
-rw-r--r--docker/Dockerfile2
-rwxr-xr-xdocker/build-inner.sh9
2 files changed, 10 insertions, 1 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 7f319e4..68c7570 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -17,7 +17,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
libtinyxml2-dev \
libfontconfig1-dev \
libspdlog-dev \
- libfuse3-dev fuse3 \
+ libfuse3-dev fuse3 libcap-dev \
liblz4-dev zlib1g-dev libzstd-dev libbz2-dev liblzma-dev \
libssl-dev libcurl4-openssl-dev \
libtomlplusplus-dev \
diff --git a/docker/build-inner.sh b/docker/build-inner.sh
index 93ee6ba..c62285b 100755
--- a/docker/build-inner.sh
+++ b/docker/build-inner.sh
@@ -371,6 +371,15 @@ exec env PYTHONHOME="${MO2_PYTHONHOME}" "${RUN}/ModOrganizer-core" "$@"
LAUNCH
chmod +x "${OUT_DIR}/fluorine-manager"
+# ── qt.conf — tells Qt where to find plugins without QT_PLUGIN_PATH env ──
+# This is required when the binary has file capabilities (cap_sys_admin for
+# FUSE passthrough), because glibc strips environment variables in AT_SECURE
+# mode. qt.conf is read by Qt at startup regardless of env.
+cat > "${OUT_DIR}/qt.conf" <<'QTCONF'
+[Paths]
+Plugins = qt6plugins
+QTCONF
+
# ── Desktop integration files ──
cp -f /src/data/com.fluorine.manager.desktop "${OUT_DIR}/"
cp -f /src/data/com.fluorine.manager.png "${OUT_DIR}/"