- Aug 18, 2020
-
-
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 can be used when launching Proton games, which consist of zero or more setup commands, which may launch background processes, followed by launching the game itself. A caller can wrap the game with pressure-vessel-adverb --subreaper to wait for all main-game processes (launchers, bug reporting systems, etc.) to exit before terminating the setup commands. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
While we control /run, we might as well be consistent. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This will let us have the following logic when sharing a container between multiple commands using -launcher and -launch: * For setup commands, don't wrap the launched command in the adverb. If the setup command starts background processes, they'll continue to run. This matches how installscript commands have historically worked for Windows (and Wine/Proton) games in Steam: the setup command is launched with system(), and can leak background processes like wineserver. * For the main game, wait for all processes to exit, by wrapping the launched command in the adverb, with --subreaper only. This matches how native Linux games, and the main command of Windows/Wine/Proton games, have historically worked in Steam. * When all processes belonging to the main game have exited, the -launcher can exit, at which point the subreaper that wraps it can clean up any background processes from the setup commands. --terminate-idle-timeout can be used to wait a few seconds before sending SIGTERM, if desired. Because the adverb now blocks SIGCHLD, we need to unblock it before running the child process; otherwise the child process will inherit the blocked signal, breaking things like g_spawn_async(). 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
This makes the emulation closer, avoids GIOChannel getting in the way, and allows us to use the Unix fd source from non-default threads and main-contexts. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
signal_source and forward_signals_id were redundant. We only need one. 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
We no longer have any runners willing to run untagged jobs. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We need up-to-date packages for the relocatable install to be able to get its corresponding source code; stale packages are not enough. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Aug 17, 2020
-
-
Simon McVittie authored
Gitlab-CI variables can be set at the project level to override these Docker images with their equivalents from the internal Docker registry where desired. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Aug 12, 2020
-
-
Simon McVittie authored
wrap: Don't set up X11, etc. until after --filesystem See merge request steam/pressure-vessel!69
-
- Aug 11, 2020
-
-
Simon McVittie authored
If we want to be able to use --filesystem=/tmp, then we can't set up the X11 socket until after we're finished with that. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Aug 05, 2020
-
-
Simon McVittie authored
allow running multiple commands in one container See merge request steam/pressure-vessel!65
-
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
To avoid needing special support for this on the launcher side, we implement this by wrapping the command in `env -u VAR`. Signed-off-by:
Simon McVittie <smcv@collabora.com>
- Aug 04, 2020
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This allows a controlling process to terminate the launcher, even if it is wrapped in an "adverb" command like pressure-vessel-wrap that makes it non-straightforward to send signals to the launcher. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This terminates the server instead of running a command. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This allows IPC clients to terminate the launcher. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
See the new pressure-vessel-launcher(1) man page for details. We need this for Proton games, where running a game takes several steps. At the moment each step is its own container, which means they can't share locks, IPC sockets and other state. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This will be used to generate securely-unique socket names that are not an opportunity for denial of service. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We can use this to run tests that involve third-party modules like gi, while continuing to run most tests with python3.5 preferentially. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This lets us use the D-Bus session bus without interfering with user processes, even on CI systems that weren't already running one. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We want this to be as similar as possible to exec'ing the child process directly. Close the original stdout, so that if the child's stdout is a pipe from which a caller reads until EOF, we do not prevent EOF from occurring. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We want this to be as similar as possible to exec'ing the child process directly, so give it our stdin as its stdin. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This is helpful when tracking down leaks. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-