- Nov 20, 2020
-
-
Ludovico de Nittis authored
Using the new "--remap-link-prefix" option we can now avoid breaking symlinks because not available under `/run/host`. Fixes: #29 Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Nov 18, 2020
-
-
Ludovico de Nittis authored
When we use the provider graphics stack we also try to collect the available Vulkan layers, similarly to what we already do for ICDs. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Nov 17, 2020
-
-
Simon McVittie authored
Apparently NixOS puts it somewhere else, although it does at least concede that a path other than /usr/bin for env is doomed to failure. 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
Any service that has a similar protocol for signalling when it is ready to receive requests is going to need something quite similar to this. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Any portal-like service is going to need some common setup and teardown code, so let's move it into this object. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
If we can't delete a file because it doesn't exist, then ... job done? In practice this happens because the runtime copy is merged-/usr, so /lib and /usr/lib are in fact the same place. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
If we want to deal with strange operating systems that use a non-standard filename for ld.so.cache, we'll have to special-case it. There's little extra cost to doing this because we already need to understand how ld.so.cache works, to be able to generate our own with different search paths. In situations where we just want a quick container to be able to inspect the runtime, we can deal with this by mounting all of /etc read-only. For the final container, we already iterate over all the files in the runtime's /etc, which will "naturally" include ld.so.cache and alternatives. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This is a step towards searching all the necessary places for unusual distributions like Exherbo (see https://github.com/ValveSoftware/steam-runtime/issues/230 ), and gives us an obvious extension point for adding more multilib directories. 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>
-
- Nov 16, 2020
-
-
Ludovico de Nittis authored
The latest upstream version of flatpak-context.c has a fix for clang 11 that fixes a warning (treated as error in pressure-vessel) about the cast of a pointer to an int. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Nov 11, 2020
-
-
Ludovico de Nittis authored
This supports the new environment variable "PRESSURE_VESSEL_APP_LD_LIBRARY_PATH" that "_v2-entry-point" will set. The new variable has the advantage to support the eventual custom "LD_LIBRARY_PATH" from game launch options. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Oct 29, 2020
-
-
Simon McVittie authored
I added this to GLib at the beginning of the 2.68 cycle. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Oct 26, 2020
-
-
Ludovico de Nittis authored
At this stage we expect to have `LD_LIBRARY_PATH` set to the `SYSTEM_LD_LIBRARY_PATH` of `steam.sh`. This means that we should treat the `LD_LIBRARY_PATH` entries as OS-level search path too. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
If necessary, in runtime.c we should access the original environment instead of the global one, because it might have been edited. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Oct 22, 2020
-
-
Simon McVittie authored
Now that GIO_MODULE_DIR has been backported into scout's GLib, we can disable GIO modules completely, instead of loading them but then not using them. This avoids some misleading warnings (#32). This will not be completely effective on non-Debian systems until we also patch scout's GLib to make GIO_MODULE_DIR take precedence over the hard-coded legacy search path /usr/lib/gio/modules. The unit test for this is still in tests/pressure-vessel/utils.c for now. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Oct 19, 2020
-
-
Ludovico de Nittis authored
The list of locked environment variables should include all the vars that we decided to want, or avoid. Also use `extra_locked_vars_to_unset` everywhere instead of directly unsetting a variable. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Oct 08, 2020
-
-
Ludovico de Nittis authored
Fixes #5 Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Oct 06, 2020
-
-
Simon McVittie authored
We can use this to run other helpers, such as ldconfig. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This means we can modify our own environment without affecting child processes. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
We want to reinstate the old signal mask unconditionally, but we only want to throw an error for it if we weren't already about to throw an error. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This lets us work around flatpak-spawn not closing file descriptors (https://github.com/flatpak/flatpak-xdg-utils/pull/37 ) by bypassing it, if we want to. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
For LD_PRELOAD we want to use the value `-launcher` might be receiving from `-launch`, so we don't want to lock it's value in `wrap`. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Oct 05, 2020
-
-
Ludovico de Nittis authored
g_unix_fd_list_append() duplicates the given FD, so we need to close our copy, otherwise it might be left indefinitely open. Also, as soon as we send them over D-Bus, we need to unref the FD list to avoid keeping them open. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Oct 01, 2020
-
-
Simon McVittie authored
pressure-vessel-wrap unsets PWD, but we don't want the command to inherit a value of PWD from the launcher. In particular, when running in session mode, the launcher's $PWD is the Steam installation, typically ~/.local/share/Steam, and the setup commands are also run with that working directory, but the actual game is run with the current working directory set to its own game directory (which we didn't necessarily even know at the time that the launcher was started). Consumers of $PWD should really check that it is equivalent to the actual current working directory and ignore it if it does not, like GNU get_current_dir_name(3) and our pv_get_current_dirs() do, but blindly believing $PWD is a common shell-scripting mistake, and I wouldn't be surprised if there are some games whose launcher scripts will believe $PWD even when it doesn't coincide with the real working directory. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
If we want to pass all the possible variables that a user might have set in its environment, we need a mechanism to lock the variables that pressure-vessel is editing (e.g. LIBGL_DRIVERS_PATH), variables that we want to keep unset because will be wrong in the new container (e.g. FLATPAK_ID) and variables that should inherit their value from the host system (e.g. DISPLAY). Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Sep 30, 2020
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
Instead of using `env -u VAR` to unset a variable now the variables can be passed using the DBUS interface. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
If we use the `original_environ` for all the long-running childs, they'll not be affected even if later on we edit the environ with `g_setenv()`. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
In the future this option might be used to leverage some of the 'pressure-vessel-launcher' features, like locking specific environment variables. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Sep 29, 2020
-
-
Simon McVittie authored
While I'm there, add the ability to pass in a pre-opened file descriptor. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
The GLib convention is that "out" parameters are untouched on error, and PV_RESOLVE_FLAGS_READABLE makes it an error for the file to be unreadable. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Sep 28, 2020
-
-
Simon McVittie authored
This avoids duplicating it in the command-line tools. The test is still in tests/pressure-vessel/ for now, because it needs testutils.py, which uses its own location to find G_TEST_SRCDIR. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Sep 25, 2020
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-