- Aug 04, 2020
-
-
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>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Aug 03, 2020
-
-
Simon McVittie authored
This gives us a way to report failure in a signal handler, or between fork() and exec(), both of which are contexts where only a restricted set of async-signal-safe functions are allowed. See signal-safety(7), signal(7) and fork(2) for details. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This was added in GLib 2.36, so GLib 2.32 doesn't have it. We need this to be able to integrate arbitrary pipes and signalfds with the GLib main loop. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jul 31, 2020
-
-
Simon McVittie authored
This is like `flatpak run --filesystem`, but for now much, much simpler; callers are responsible for not giving us paths that will be a problem. However, it's enough to bind-mount subdirectories of /tmp, which is what we need if we want to use them as IPC rendezvous points. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jul 30, 2020
-
-
Ludovico de Nittis authored
Preparation for running multiple commands in one container See merge request steam/pressure-vessel!64
-
- Jul 29, 2020
-
-
Simon McVittie authored
pv_avoid_gvfs() can print GLib debug messages, which would corrupt a structured stdout. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Fix locale generation regression See merge request steam/pressure-vessel!63
-
Simon McVittie authored
When using a scout sysroot with a newer-than-scout host, we were not overwriting locale(1) and localedef(1) with the host copy, causing mismatches. Resolves: T22877 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Originally written by me, with trivial syntactic edits to the doc-comment by Matthias Clasen and Philip Withnall. We'll need this if we want to do D-Bus IPC on a socket given as a path. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
If the wrapped command prints structured data to stdout, we don't want to corrupt its output stream. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
As noted in Flatpak and in GNOME/glib!490, there is a bug in GLib < 2.60 where g_spawn_* can sometimes deadlock while closing fds in a multi-threaded application. Work around this by making the affected fds close-on-execute ourselves, much like Flatpak does. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This will make it easier to debug things going wrong in the adverb, by inheriting --verbose or PRESSURE_VESSEL_VERBOSE from the wrapper. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This breaks the build with -Werror on Debian testing/unstable. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
wrap: Bind-mount /run/host/os-release if available See merge request steam/pressure-vessel!66
-
Simon McVittie authored
Recent versions of Flatpak and systemd-nspawn can mount the host's os-release at /run/host/os-release, even if the rest of the host's /etc and /usr are not exposed to the container. For feature parity we should try to do the same. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jul 23, 2020
-
-
Simon McVittie authored
Move locale generation to pressure-vessel-adverb See merge request steam/pressure-vessel!62
-
Ludovico de Nittis authored
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Jul 21, 2020
-
-
Ludovico de Nittis authored
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
pressure-vessel-with-lock has been renamed to pressure-vessel-adverb because now it has more capabilities than just taking a lock. This change should help the environments that are not able to normally run `bwrap`, like if we are in a Docker container or in a Flatpak app. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Jul 20, 2020
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
gitlab-ci: Re-enable artifacts upload See merge request steam/pressure-vessel!61
-
- Jul 16, 2020
-
-
Ludovico de Nittis authored
By increasing the CI upload limit we should be able to store the pressure-vessel artifacts. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Jul 09, 2020
-
-
Simon McVittie authored
tests: Add support for basic testing on a soldier container See merge request steam/pressure-vessel!58
-
Simon McVittie authored
runtime: Remove hwcaps subdirectories when looking for gconv modules See merge request steam/pressure-vessel!59
-
Simon McVittie authored
This is included in prerelease versions of SteamRT 2 'soldier', but because it uses the post-gcc-5 C++ ABI of libLLVM-7.so.1, it's incompatible with versions of libLLVM-7.so.1 that were compiled to be compatible with the gcc 4 C++ ABI, and in particular the one in SteamOS 2 'brewmaster'. This and the previous commit are sufficient to make tests/containers.py pass on SteamOS 2 'brewmaster', if we also configure libxcb.so.1 to be chosen by counting symbols (T22538) and libgcc_s.so.1 to be chosen by counting verdefs (T16561). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
If we allow lazy binding, we can succeed in loading a GIO module from the host (which depends on a newer GObject than the one bundled with pressure-vessel), then find that a symbol reference fails at the time that we try to actually use it. Make it fail early, instead. In particular, this is helpful on SteamOS 2 'brewmaster'. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
For the moment, this is basically scout with fewer guarantees: we can't assume whether the host glibc is newer (like Arch Linux or Ubuntu 20.04) or older (like SteamOS 2 'brewmaster'). Only tested successfully on Debian testing/unstable, for now. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
tests/containers.py was failing on SteamOS 2 'brewmaster' with the libc6-i686 package installed, because that package contains an optimized i686 glibc in /lib/i386-linux-gnu/i686/cmov/libc.so.6, which is used in preference to the baseline i586 glibc in /lib/i386-linux-gnu/libc.so.6. There are no corresponding optimized gconv modules, only /usr/lib/i386-linux-gnu/gconv/*. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
I only intended to bump the version on the libcapsule dependency, not the steam-runtime-tools dependency. Signed-off-by:
Simon McVittie <smcv@collabora.com>