From c8eae7bd23441dd01d3adbe866ab756c152c2daf Mon Sep 17 00:00:00 2001
From: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
Date: Sun, 27 Sep 2026 22:00:13 -0300
Subject: xdg-desktop-portal-tde: fix TDE library runtime path
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The portal executable is installed under /usr/libexec but links against TDE libraries under /opt/trinity/lib64.

Unlike normal TDE executables, the package did not preserve an install RUNPATH, causing D-Bus activation to fail with unresolved libtdeio, libtdeui, libtdecore and libDCOP dependencies.

Keep the TDE library RUNPATH during install and add a narrowly scoped rpmlint filter for the intentional /opt/trinity/lib64 path.

Validated on openSUSE Tumbleweed:
- RUNPATH=/opt/trinity/lib64
- ldd resolves all TDE libraries
- D-Bus activation succeeds with LD_LIBRARY_PATH unset
- Firefox FileChooser reaches the TDE KFileDialog

Signed-off-by: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
---
 .../xdg-desktop-portal-tde/trinity-xdg-desktop-portal-tde-rpmlintrc   | 2 ++
 .../system/xdg-desktop-portal-tde/xdg-desktop-portal-tde.spec         | 4 ++++
 2 files changed, 6 insertions(+)
 create mode 100644 redhat/applications/system/xdg-desktop-portal-tde/trinity-xdg-desktop-portal-tde-rpmlintrc

diff --git a/redhat/applications/system/xdg-desktop-portal-tde/trinity-xdg-desktop-portal-tde-rpmlintrc b/redhat/applications/system/xdg-desktop-portal-tde/trinity-xdg-desktop-portal-tde-rpmlintrc
new file mode 100644
index 000000000..2f37c6e70
--- /dev/null
+++ b/redhat/applications/system/xdg-desktop-portal-tde/trinity-xdg-desktop-portal-tde-rpmlintrc
@@ -0,0 +1,2 @@
+# TDE's library directory is intentional for this portal executable.
+addFilter("binary-or-shlib-defines-rpath /usr/libexec/xdg-desktop-portal-tde [(]RUNPATH: /opt/trinity/lib64[)]$")
diff --git a/redhat/applications/system/xdg-desktop-portal-tde/xdg-desktop-portal-tde.spec b/redhat/applications/system/xdg-desktop-portal-tde/xdg-desktop-portal-tde.spec
index 90e758d75..d256cc905 100644
--- a/redhat/applications/system/xdg-desktop-portal-tde/xdg-desktop-portal-tde.spec
+++ b/redhat/applications/system/xdg-desktop-portal-tde/xdg-desktop-portal-tde.spec
@@ -20,6 +20,7 @@ Group:          System/GUI/TDE
 URL:            https://www.trinitydesktop.org/
 License:        GPL-3.0-only
 Source0:        trinity-%{tde_pkg}-%{tde_version}%{?preversion:~%{preversion}}.tar.gz
+Source1:        %{name}-rpmlintrc
 
 BuildRequires:  trinity-tde-cmake >= %{tde_version}
 BuildRequires:  trinity-tdelibs-devel >= %{tde_version}
@@ -52,6 +53,9 @@ fi
   -DCMAKE_BUILD_TYPE="RelWithDebInfo" \
   -DCMAKE_C_FLAGS="${RPM_OPT_FLAGS}" \
   -DCMAKE_CXX_FLAGS="${RPM_OPT_FLAGS}" \
+  -DCMAKE_SKIP_RPATH=OFF \
+  -DCMAKE_SKIP_INSTALL_RPATH=OFF \
+  -DCMAKE_INSTALL_RPATH="%{tde_libdir}" \
   -DCMAKE_INSTALL_PREFIX="%{_prefix}" \
   -DLIBEXEC_INSTALL_DIR="%{_libexecdir}" \
   -DXDG_APPS_INSTALL_DIR="%{_datadir}/applications" \
-- 
cgit v1.2.3

