From 54fd1b76c978a8aa2bb0b4b3694c4ef0dc418bdb Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@collabora.com>
Date: Wed, 17 Jun 2020 15:55:31 +0100
Subject: [PATCH] README: Document how to replace libraries in a temporary
 sysroot

Signed-off-by: Simon McVittie <smcv@collabora.com>
---
 README.md | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/README.md b/README.md
index 5ad22fcad..14670054f 100644
--- a/README.md
+++ b/README.md
@@ -446,6 +446,32 @@ configured.
     The interactive shell's current working directory matches the game's.
     As with the xterm, run `"$@"` in the interactive shell to run the game.
 
+* To get a modifiable copy of the runtime, use something like:
+
+        mkdir -p $HOME/.steam/steam/steamapps/common/SteamLinuxRuntime/var
+        /opt/pressure-vessel/bin/pressure-vessel-unruntime \
+            --runtime=$HOME/.steam/steam/steamapps/common/SteamLinuxRuntime/scout/files \
+            --copy-runtime-into=$HOME/.steam/steam/steamapps/common/SteamLinuxRuntime/var \
+            -- %command%
+
+    You will find a temporary copy of the runtime in the directory you
+    chose, in this example something like
+    `.../SteamLinuxRuntime/var/tmp-1234567`. You can modify it in-place.
+    For example, if you want to replace `libdbus-1.so.3` with an
+    instrumented version, you can do something like this:
+
+        cd .../SteamLinuxRuntime/var/tmp-1234567
+        rm -f overrides/lib/x86_64-linux-gnu/libdbus-1.so.3*
+        rm -f usr/lib/x86_64-linux-gnu/libdbus-1.so.3*
+        cp --dereference ~/dbus/dbus/.libs/libdbus-1.so.3 \
+            overrides/lib/x86_64-linux-gnu/libdbus-1.so.3
+
+    To avoid temporary copies building up forever, they will be deleted
+    *next* time you run a game in a container (assuming there is no longer
+    anything running in the previous container), unless you create a file
+    like `.../var/tmp-1234567/keep` to flag this root directory to be kept
+    for future reference.
+
 ### More options
 
 Use `pressure-vessel-unruntime` or `pressure-vessel-unruntime-test-ui`
-- 
GitLab