- Nov 17, 2023
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This will make it easy to verify that `SteamLinuxRuntime_sniper` and `SteamLinuxRuntime_soldier` are intact: .../SteamLinuxRuntime_sniper/pressure-vessel/bin/pv-verify and only slightly more difficult to do the same for SLR 1.0: .../SteamLinuxRuntime_soldier/pressure-vessel/bin/pv-verify \ .../SteamLinuxRuntime A more explicit version of the first command is: .../SteamLinuxRuntime_sniper/pressure-vessel/bin/pv-verify \ --mtree=.../SteamLinuxRuntime_sniper/mtree.txt.gz \ -- \ .../SteamLinuxRuntime_sniper/pressure-vessel but the defaults are sensible. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This will allow a similar code path that verifies instead of applying. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This provides a convenient way to check whether the depot has the contents we believe it should. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This matches the output of bsdtar (libarchive), for example: bsdtar -cf- --format=mtree -C ~/tmp . and NetBSD mtree(8) (the mtree-netbsd package in Debian), for example: mtree -c -p ~/tmp | mtree -C Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
There are too many false positives if we do. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
pv-adverb: Show contents of ld.so.cache if debug output is enabled See merge request !630
-
Ludovico de Nittis authored
subprocess: Add a SrtCompletedSubprocess object to represent the result See merge request !625
-
Ludovico de Nittis authored
Add an object encapsulating the execution environment for helper subprocesses See merge request !629
-
- Nov 16, 2023
-
-
Simon McVittie authored
This is loosely based on the API of Python's `subprocess.CompletedProcess`. It intentionally isn't exposed to code outside its translation unit until it has finished running. This takes over the functionality of _srt_process_timeout_wait_status(), which is used automatically when needed for timeout(1), and can also be requested explicitly with SRT_HELPER_FLAGS_SHELL_EXIT_STATUS if using a wrapper that encodes exit status in the same way such as sh(1) or env(1). No functional change intended. The formatting of debug messages will be a little different, because I've used SRT_SUBPROCESS_OUTPUT_CAPTURE_DEBUG instead of open-coding its equivalent. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
During refactoring I noticed that this function was capturing stdout and stderr, but didn't actually do anything with them. Let's have these in a debug log. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This ensures that if our log output has been redirected to the systemd Journal, the helper's diagnostic output will follow. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
During refactoring I noticed that these would previously have inherited the parent process's stdout and stderr file descriptors, potentially interfering with machine-readable output on stdout. Clean that up. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
The `display` and `graphics-drivers` checks historically didn't, but that seems more like accident than design. We can add a way to avoid this filtering if we find that we need it in future. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Now that SrtSubprocessRunner knows both the SrtTestFlags and SrtHelperFlags, it can always set the timeout appropriately. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This encapsulates `g_spawn_sync()` with a useful set of flags and behaviours, and will let us move the responsibility for handling features like timeouts between `get_helper()` and `spawn_sync()`. To make that work, try harder to pass the same flags to both `get_helper()` and `spawn_sync()`. For `architecture`, `display`, `graphics-drivers` and `libdl`, no behaviour change is intended. `display` and `graphics-drivers` should probably not be using `KEEP_GAMEOVERLAYRENDERER` (there's no real reason to do so) but for now, preserve existing behaviour. For `library`, we were previously passing `G_SPAWN_SEARCH_PATH` to `g_spawn_sync()`, but it would have had no practical effect, because we're using the absolute path to a helper executable. Drop that flag. For `graphics`, we were previously searching the `PATH` for everything except `check-gl`. Consistently search the `PATH` in all cases. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
If we make _srt_inspect_library responsible for filtering out the gameoverlayrenderer.so from LD_PRELOAD itself, then we can give it the unmodified execution environment as its argument. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Previously we ignored the parameter and used default values here. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
my_environ had the same content as custom_environ, so we can use our new const-correct wrapper _srt_environ_getenv without any casts or copying. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This will let us bundle together more of the subprocess handling for running helpers. For now, it is just a container for the environment, helpers path and test flags. This is an immutable value-object which does not change after it has been constructed, meaning that we can share it between threads if that becomes useful in future. No functional change intended. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This makes us somewhat more const-correct, reducing the scope for accidents. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
environ can in principle be NULL. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Previously, only --verbose or PRESSURE_VESSEL_VERBOSE would have activated this. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Helps: steamrt/tasks#357, steam-runtime#630 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
In principle we could be invoked with --regenerate-ld.so.cache but without --set-ld-library-path (although pv-wrap never actually does this). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 15, 2023
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 07, 2023
-
-
Simon McVittie authored
Minor fixes prompted by !604 See merge request !627
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 06, 2023
-
-
Simon McVittie authored
No functional change, just reducing the size of wrap.c a bit. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Trivial refactoring, no functional change other than saving some g_strdup() (and the resulting strings were never freed). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 02, 2023
-
-
Simon McVittie authored
In practice we never call path_mutable_in_container_namespace() for paths below /usr, because its only caller is pv_runtime_make_symlink_in_container() which has a special case for /usr. /usr is certainly not directly modifiable, other than by having a mutable sysroot that is special-cased to be modified in-place. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Historically we completely ignored errors here, so it's possible that there are valid scenarios where this fails; just log a warning instead of stopping the whole runtime setup. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
No changes that need to be listed here. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
glib-backports: Provide G_SOURCE_FUNC See merge request !624
-
Ludovico de Nittis authored
utils: Don't reset SIGBUS, SIGFPE, SIGSEGV handlers under AddressSanitizer See merge request !622
-