From b377cafbba3211606236745c304a750700cdc580 Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@collabora.com>
Date: Thu, 11 Mar 2021 19:54:07 +0000
Subject: [PATCH] pv-wrap: Only bind-mount systemd-resolved socket if using a
 runtime

If we're not using a runtime, then all of /run/systemd is shared between
host and container anyway. Mounting a socket over the top of an existing
socket fails with "No such device or address" due to a bubblewrap bug
(fixed in <https://github.com/containers/bubblewrap/pull/409>).

Signed-off-by: Simon McVittie <smcv@collabora.com>
---
 pressure-vessel/wrap-setup.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/pressure-vessel/wrap-setup.c b/pressure-vessel/wrap-setup.c
index 081b43d0e..ff4ac4d74 100644
--- a/pressure-vessel/wrap-setup.c
+++ b/pressure-vessel/wrap-setup.c
@@ -57,8 +57,6 @@ pv_wrap_share_sockets (FlatpakBwrap *bwrap,
   pv_environ_lock_env (container_env, "PULSE_SERVER", NULL);
   pv_environ_lock_env (container_env, "XAUTHORITY", NULL);
 
-  flatpak_run_add_resolved_args (sharing_bwrap);
-
   flatpak_run_add_font_path_args (sharing_bwrap);
 
   /* We need to set up IPC rendezvous points relatively late, so that
@@ -87,6 +85,7 @@ pv_wrap_share_sockets (FlatpakBwrap *bwrap,
       flatpak_run_add_pulseaudio_args (sharing_bwrap);
       flatpak_run_add_session_dbus_args (sharing_bwrap);
       flatpak_run_add_system_dbus_args (sharing_bwrap);
+      flatpak_run_add_resolved_args (sharing_bwrap);
     }
 
   envp = pv_bwrap_steal_envp (sharing_bwrap);
-- 
GitLab