Commits on Source (62)
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Downloading dependencies is much slower and needs to be done less often. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Otherwise, changes to default_options for subprojects will not be taken into account. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Now that SLR - sniper is a mandatory dependency for steamwebhelper, we want to be able to test for a working bwrap as part of steam-runtime-check-requirements. Because this change alters the default_options for a subproject, it requires build directories to be reconfigured with `meson setup --wipe`. For users of `build-aux/many-builds.py` it should be sufficient to run: build-aux/many-builds.py setup Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This will let us use it from steam-runtime-check-requirements. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
steamrt/tasks#406 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Now that Steam hard-requires the Steam Linux Runtime container environment, we cannot have the Steam installation in /usr/local/games or similar, because the whole point of the container environment is that it replaces /usr with one that is under our control. steamrt/tasks#406 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Now that the steamwebhelper requires the container runtime framework, this is no longer possible. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Trivial build system fixes See merge request !682
-
Simon McVittie authored
check-requirements: Check some common reasons for pressure-vessel not to work See merge request !683
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
No functional change intended. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
According to recent steamwebhelper issue reports, it's somewhat common for ~/.config to be a symbolic link to some other filesystem, in which case users will expect the target of the symlink to make it into the container. This commit only handles the case where an XDG environment variable is unset, resulting in us using its default. In fact we share the default directories unconditionally, because it's somewhat common for applications to ignore the environment variable and hard-code its default - so if we have XDG_CONFIG_HOME=$HOME/Config, it's safest for us to assume that both ~/Config and ~/.config are potentially needed. A separate commit will handle the case where the variable is set, which needs to happen in a different part of the codebase. steamrt/tasks#411 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
steamrt/tasks#411 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
No functional change intended. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This will allow us to unit-test it. There is a very slight behaviour change here when running under FEX-Emu: previously we would test the existence of directories from the environment with g_file_test() (which looks in FEX-Emu's emulated root filesystem), but now we test for their existence in /proc/self/root. In practice we do not expect this to matter for any of the environment variables that are mentioned in pv_bind_and_propagate_from_environ(). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
No functional change intended. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
According to recent steamwebhelper issue reports, it's somewhat common for ~/.config to be a symbolic link to some other filesystem, in which case users will expect the target of the symlink to make it into the container. This commit only handles the case where an XDG environment variable is explicitly set. The case where it is unset (defaulting to ~/.config, etc.) was already handled in a previous commit. It is normal for $XDG_DATA_DIRS to contain /usr/local/share:/usr/share, and $XDG_CONFIG_DIRS might legitimately contain /usr paths too, so downgrade the usual warning about paths below /usr to a debug message for these particular variables. steamrt/tasks#411 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
steamrt/tasks#411 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
pressure-vessel: Improve handling of ~/.config, etc. being symbolic links See merge request !684
-
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
steamrt/tasks#406 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
In zlib 1.3 (2023), the version is exactly libz.so.1.3, with no third version component. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
The ld_libs data structure is pre-allocated at maximum size instead of using dynamic memory allocation, in an effort to avoid use of malloc() during critical-path interactions with basic shared library infrastructure. This makes it about 1 MiB, so if users have reduced RLIMIT_STACK from its post-1995 default of 8 MiB for whatever reason, it doesn't take many levels of recursion to exceed that limit. The symptom for a stack overflow is particularly un-diagnosable (instead of exiting unsuccessfully with an error message, the program will just segfault), so allocate this data structure on the heap instead, which gives us the opportunity to log "libcapsule: out of memory". The equivalent data structures within libcapsule itself are still allocated on the stack, to avoid introducing new memory allocation inside a critical section. Resolves: https://github.com/ValveSoftware/steam-runtime/issues/653 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This avoids failure to start SLR with an unusually small stack size limit. Resolves: https://github.com/ValveSoftware/steam-runtime/issues/653 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
steamrt/tasks#408 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
pv-bwrap: Work around more AppArmor profile issues in snapd See merge request !685
-
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 function is specifically about the LD_LIBRARY_PATH runtime (scout, or in theory heavy) and does not make sense for container runtimes. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This is a reasonably large chunk of code that we don't need to call into from check-requirements. 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 can use this to locate steam-runtime-launch-client, to detect whether Flatpak sandboxes have a working flatpak-portal. steamrt/tasks#406 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This gives us some ability to diagnose what, if anything, is wrong with them. Obviously if the Steam UI doesn't start, we will not be able to put this information in Help -> Steam Runtime Diagnostics, but we can call into this from steam-runtime-check-requirements, or direct users to run steam-runtime-system-info via `flatpak run --command=bash`. steamrt/tasks#406 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
steamrt/tasks#406 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This will allow us to use this bwrap detection from steam-runtime-system-info. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This is not yet wired up to SrtSystemInfo, but should be in future. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
steamrt/tasks#406 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This lets us use various amenities of SrtSubprocessRunner, like applying a timeout and getting automatic debug output. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This lets us supply mock environment variables during unit testing. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This environment variable is not specific to pressure-vessel or to steam-runtime-tools, so it seems reasonable to prefer our known-good bundled copy. It can still be overridden with $PRESSURE_VESSEL_BWRAP. 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
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
check-requirements: Improve detection of non-functional bwrap, add detection of non-functional flatpak-portal See merge request !686
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This initially only contains a copy of the original environment, but other global state such as command-line options should move into it over time. This will allow command-line parsing and similar things to be unit-tested. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
No functional change intended, except that now, pass_fds and preload_modules are always non-NULL (but may be empty). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
pv-wrap: Create a PvWrapContext object to store global state See merge request !688
Showing
- bin/check-requirements.c 263 additions, 12 deletionsbin/check-requirements.c
- bin/check-requirements.md 9 additions, 3 deletionsbin/check-requirements.md
- bin/meson.build 13 additions, 0 deletionsbin/meson.build
- bin/system-info.c 49 additions, 6 deletionsbin/system-info.c
- bin/system-info.md 23 additions, 0 deletionsbin/system-info.md
- build-aux/many-builds.py 21 additions, 3 deletionsbuild-aux/many-builds.py
- build-aux/scout-builds.py 1 addition, 0 deletionsbuild-aux/scout-builds.py
- debian/changelog 61 additions, 2 deletionsdebian/changelog
- debian/libsteam-runtime-tools-0-helpers.install 3 additions, 1 deletiondebian/libsteam-runtime-tools-0-helpers.install
- debian/steam-runtime-tools-minimal.install 1 addition, 0 deletionsdebian/steam-runtime-tools-minimal.install
- docs/distro-assumptions.md 1 addition, 1 deletiondocs/distro-assumptions.md
- meson.build 3 additions, 3 deletionsmeson.build
- pressure-vessel/build-relocatable-install.py 7 additions, 4 deletionspressure-vessel/build-relocatable-install.py
- pressure-vessel/bwrap.c 28 additions, 2 deletionspressure-vessel/bwrap.c
- pressure-vessel/bwrap.h 2 additions, 9 deletionspressure-vessel/bwrap.h
- pressure-vessel/meson.build 2 additions, 12 deletionspressure-vessel/meson.build
- pressure-vessel/wrap-context.c 940 additions, 0 deletionspressure-vessel/wrap-context.c
- pressure-vessel/wrap-context.h 125 additions, 0 deletionspressure-vessel/wrap-context.h
- pressure-vessel/wrap-home.c 66 additions, 33 deletionspressure-vessel/wrap-home.c
- pressure-vessel/wrap-setup.c 54 additions, 199 deletionspressure-vessel/wrap-setup.c
pressure-vessel/wrap-context.c
0 → 100644
This diff is collapsed.
pressure-vessel/wrap-context.h
0 → 100644