diff options
| author | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-03-11 04:02:27 -0500 |
|---|---|---|
| committer | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-03-11 04:02:27 -0500 |
| commit | eb8c20695643923598d0516e86b1fcef144f65fa (patch) | |
| tree | d2a4df0c6084bc9f112bd01b3e7ec35e01731aa3 /docker/build-inner.sh | |
| parent | 983c9c04666bca79033766263094fe1d36588ec9 (diff) | |
Fix FUSE passthrough: use proper API, drop LD_LIBRARY_PATH, auto-apply cap
- Use fuse_passthrough_open/close API instead of raw fd assignment to
fi->backing_id, which caused EIO on every file open through the VFS
- Remove LD_LIBRARY_PATH from launcher script — DT_RPATH handles lib
resolution, and LD_LIBRARY_PATH triggers AT_SECURE which drops file
capabilities (cap_sys_admin) needed for passthrough
- Auto-detect missing cap_sys_admin at mount time and prompt via pkexec
to re-apply it (handles binary copy/update/extract losing the cap)
- Disable passthrough for session if fuse_passthrough_open fails, avoiding
"Operation not permitted" spam in terminal
- Fix Nix flake: tinyxml2 → tinyxml-2, xorg.lib* → top-level names
- CI: eliminate artifact zip round-trip for GitHub releases
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'docker/build-inner.sh')
| -rwxr-xr-x | docker/build-inner.sh | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/docker/build-inner.sh b/docker/build-inner.sh index d035e34..e9add61 100755 --- a/docker/build-inner.sh +++ b/docker/build-inner.sh @@ -349,7 +349,10 @@ RUN="${BIN_DST}" PYTHON_DIR="${RUN}/python" export PATH="${RUN}:${PATH}" -export LD_LIBRARY_PATH="${RUN}/lib:${PYTHON_DIR}/lib:${LD_LIBRARY_PATH:-}" +# NOTE: Do NOT set LD_LIBRARY_PATH here. The binary uses DT_RPATH +# ($ORIGIN/lib:$ORIGIN/python/lib) to find its libraries. Setting +# LD_LIBRARY_PATH on a capability-bearing binary (cap_sys_admin for FUSE +# passthrough) triggers AT_SECURE mode, which drops all file capabilities. export MO2_BASE_DIR="${RUN}" export MO2_PLUGINS_DIR="${RUN}/plugins" export MO2_DLLS_DIR="${RUN}/dlls" |
