- Jul 29, 2020
-
-
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>
- Jul 08, 2020
-
-
Simon McVittie authored
Pass --library-knowledge to capsule-capture-libs See merge request steam/pressure-vessel!56
-
Simon McVittie authored
For runtimes that support it, this gives us a way to override library comparisons. In particular, we can make sure libgcc_s.so.1 is compared by its version-definitions and symbols. (T16561, T16562) Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This doesn't currently include the --dest because that varies - it's usually arch->libdir_on_host, but not always. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
runtime: Add arguments to the right bwrap invocation See merge request steam/pressure-vessel!57
-
Simon McVittie authored
Mount Steam "compat tool" directories See merge request steam/pressure-vessel!55
-
Simon McVittie authored
When we're entering the container to generate locales, we need to bind-mount the staging area for /overrides in *that* bwrap invocation, not add it as a bind-mount to the bwrap invocation that will actually run the game. Fixes: 5e2f9f25 "runtime: Bind-mount /overrides to run locale-gen" Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Otherwise, any test that refers to the username or home directory will fail with a warning. Prior to GLib 2.35.9 (in particular, in GLib 2.32) this happens in g_get_any_init_do(), which is also called to get the TMPDIR, so any test that wants to create a temporary directory will fail like this. Signed-off-by:
Simon McVittie <smcv@collabora.com>
- Jul 02, 2020
-
-
Simon McVittie authored
This is necessary for Steam "compat tools" such as Proton. STEAM_COMPAT_DATA_PATH points to data associated with the current (compat tool, game) pair, for example the ${WINEPREFIX}. STEAM_COMPAT_TOOL_PATH doesn't exist yet, but I'm assuming that it will be set by some later version of the Steam client to point to Proton itself. STEAM_COMPAT_CLIENT_INSTALL_PATH points to the Steam installation. This is hopefully in the home directory, so hopefully we bind-mount it anyway; but if we don't, we should. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This is desirable if we are running something other than the main game, for example steam-runtime-system-info or various preparatory steps involved in running Proton. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jun 24, 2020
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
- Jun 23, 2020
-
-
Simon McVittie authored
Follow-ups for !26 See merge request steam/pressure-vessel!54
-
Simon McVittie authored
runtime: handle merged-/usr host OS with non merged-/usr container See merge request steam/pressure-vessel!53
-
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
Because we do a "cheap copy" with hard-links where possible, .ref is a hard-link to its counterpart in the original (non-copied) runtime, so a lock on one is a lock on the other. We hold a lock on the original runtime while we do setup, so we would never actually delete the temporary runtimes unless we break the hard-link by re-creating the lock file. Resolves: T22035 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-