- Feb 19, 2024
-
-
Simon McVittie authored
If waiting for child processes fails with ECHILD, that would signify that our main process was somehow reparented away, or was reaped by another thread. This shouldn't happen, but if it does, it makes sense to report it as equivalent to exiting with an unknown status, instead of the current EX_UNAVAILABLE. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
If we're doing `pv-adverb --assign-fd=9=1` (the equivalent of `9>&1` in the shell), then fd 1 needs to be a valid fd already, but fd 9 does not. This was not a problem in practice because pressure-vessel currently only assigns to fds 1 and 2 (stdout and stderr), which we ensure are always valid, even if that means opening /dev/null. Fixes: 4329cec7 "pv-adverb: Add --assign-fd" Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Mimicking env(1), return 127 if the executable was not found, or 126 if it could not be run for whatever reason. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This is the same way that bubblewrap reports an unknown wait-status, making our tools a little more consistent with each other. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Naming copied from C into Python. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Feb 15, 2024
-
-
Simon McVittie authored
This is much simpler and doesn't do any fd management. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This is essentially a backport of the change proposed in <https://github.com/flatpak/flatpak/pull/5687 >. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This is functionally equivalent to flatpak_close_fds_workaround(), but more clearly async-signal-safe. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Feb 13, 2024
-
-
Simon McVittie authored
This avoids a layering violation: we no longer need to borrow Flatpak code from pressure-vessel, making the build system easier to reason about. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
* Provide fallback syscall wrapper for close_range() * Backport g_closefrom() from GLib 2.79.2 * Backport g_fdwalk_set_cloexec() from Glib 2.79.2 * glnx_lsetxattrat(): Fix incorrect path argument * Fix running `meson test` without first running `meson compile` * Replace defunct mailing list with support forum Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
Move some pressure-vessel-specific code into common code See merge request !664
-
Ludovico de Nittis authored
scout-on-soldier: Remove workaround for mid 2021 configuration change See merge request !668
-
- Feb 12, 2024
-
-
Simon McVittie authored
Clean up references to zenity See merge request !670
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Feb 09, 2024
-
-
Colin Walters authored
Fixes for g_closefrom() backport See merge request GNOME/libglnx!54
-
Simon McVittie authored
If it's explicitly set to the empty string, this indicates that programs should not be using zenity; carry that through to the container runtime. Otherwise, set or unset it according to whether it exists inside the container runtime. In practice, all of our runtimes do have it. steamrt/tasks#397 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This is one more aspect of undoing what the LD_LIBRARY_PATH runtime did. steamrt/tasks#397 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
There are currently four possibilities for STEAM_ZENITY: * unset * explicitly set to empty (to disable its use, as on Steam Deck) * absolute path of host zenity, typically /usr/bin/zenity * literal string "zenity" which will be found in scout's PATH In all cases except the last, there is no need to unset STEAM_ZENITY when "escaping" from the LDLP runtime, because the value will be equally valid in a host-like execution environment; and when the value is empty, it can be actively harmful to unset it, since this will result in using zenity when not intended. For completeness, we also unset STEAM_ZENITY if it is the absolute path of the LDLP runtime's zenity (which is not a situation that Steam ever sets up right now, but in principle it could be). steamrt/tasks#397 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
steam.sh currently prefers to set STEAM_ZENITY to the absolute path of the host zenity, which might not run successfully with scout's libcurl override if it is a very recent version, due to the dependency chain zenity -> GTK4 -> libadwaita -> libappstream -> libcurl. steamrt/tasks#397 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Steam sets STEAM_ZENITY to the empty string if it wants to suppress use of zenity dialogs, for example on Steam Deck. If this is the case, just log to stderr and exit unsuccessfully. steamrt/tasks#397 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We can't necessarily count on zenity working everywhere. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
It's simpler if we avoid layering violations in the build system, and using flatpak_quote_argv() here doesn't buy us much. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This will let us call it (carefully) from library code. While we're changing its signature, also don't require the caller to pass a string that ends with a newline, making it more like g_error(). It turns out that we got this wrong in one place already. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This is not the same as systemd's, because systemd's disagrees with glibc on the signedness of the arguments (https://github.com/systemd/systemd/issues/31270 ). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Taken from systemd, but replacing assert_cc with G_STATIC_ASSERT. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This script was added in June 2021 (T28437) when we migrated app ID 1070560 from being a self-contained "pure scout" runtime (for which the entry point was ./_v2-entry-point) to being a layered scout-on-soldier runtime (for which the entry point is ./scout-on-soldier-entry-point-v2). At the time, the Steam client did not reliably pick up the configuration change until it was restarted. It seems safe to assume that all users have restarted Steam since 2021. Removing this workaround also incidentally removes one of our uses of zenity, which helps steamrt/tasks#397 and related tasks. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Colin Walters authored
backports: Add a backport of g_closefrom(), g_fdwalk_set_cloexec() See merge request GNOME/libglnx!53
-
Simon McVittie authored
This was implemented to interact correctly with the locking scheme used in bwrap(1) (which uses the non-OFD flavour of fnctl locks), but is otherwise unrelated to bwrap(1) or pressure-vessel. Moving this into common code will facilitate using it outside pressure-vessel, in particular when unpacking `ubuntu12_64/steam-runtime-sniper/`. While I'm changing the interface anyway, take the opportunity to rename the WRITE flag to EXCLUSIVE, which is clearer. Helps: steamrt/tasks#387 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-