- May 20, 2021
-
-
Ludovico de Nittis authored
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
The entries `pinned_libs_*` and `overrides` are gathered using `find -ls`. However this has the downside to include a lot of information that we usually don't care about like the edit date, the permissions etc... In an attempt to reduce the steam-runtime-system-info report size, without reducing the about of potentially useful info, this commit replaces the `find -ls` output with just a recursive list of directories, files and symlinks. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- May 12, 2021
-
-
Simon McVittie authored
"foo/bar/" is meant to be exactly equivalent to "foo/bar/.", and almost equivalent to "foo/bar" (with the important difference that it fails if bar is a non-directory). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This function was originally written for pressure-vessel and subsequently added to Flatpak. If we use Flatpak's version, we can stay closer to being in sync with Flatpak's flatpak-utils.c. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- May 11, 2021
-
-
Simon McVittie authored
By including this in libsteam-runtime-tools-0-helpers, we reduce the number of modules we need to manage and keep in sync. The rest of libcapsule isn't actively used yet, so this is a significant simplification. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Apr 30, 2021
-
-
Simon McVittie authored
At the moment we deploy the runtime from a giant tarball to avoid Steam downloader limitations, but that leads to a noticeable delay the first time we launch a game after a new runtime version has been downloaded. Now that the Steam download mechanism can deal better with larger numbers of smaller files, we're considering returning to the original design where the runtime depot contains unpacked files. However, the Steam download mechanism doesn't preserve permissions, modification times, or filenames that differ only by case, and has not always preserved empty directories, so we need a way to deal with all of those things. By reading a manifest written in a subset of the BSD mtree(5) format, we can create directories and symlinks, and set permissions modification times on regular files. As a bonus, it's actually slightly faster to duplicate a runtime with hard-links (--copy-runtime mode) by reading the manifest than by reading the actual directory tree, because the manifest is more likely to be contiguous on disk. In principle the mtree(5) manifest could also be used to validate that the runtime content has not become corrupted by checking files against their sha256sums. This isn't implemented here (and it would have to be done only on demand rather than routinely, because it would be slow), but the parser does at least read the sha256. In the tests, we now need to remove the mtree manifest when copying and editing a runtime. When we edit a runtime in-place, it no longer conforms to the manifest, so this can't necesarily be expected to work. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This can be used to create directories, symlinks and zero-byte files, create files as a clone (hard-link or copy) of files in a reference directory, assert that files exist, set executable/non-executable permissions, and set files' modification times. When cloning files from a reference directory, the default is to use the same filename as the destination, but that can be overridden (for example to deal with inconvenient/non-Windows-friendly filenames). This is also actually slightly faster than pv_cheap_tree_copy(), presumably because the manifest is contiguous on-disk and the directories are not necessarily. Setting directories' modification times is implemented, but probably won't work in practice, because any files we create in the directory will alter its mtime. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Apr 27, 2021
-
-
Ludovico de Nittis authored
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Apr 22, 2021
-
-
Simon McVittie authored
This is no longer used. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
When loading VDPAU modules we rely on $PLATFORM, trying to support all its known possible expansions. However there is always the possibility that we are currently missing some of them or that new ones will be added in the future. For this reason we try to detect the expansion of $PLATFORM, and $LIB, and print its value in the report. In this way it will be easier to notice unusual and/or new expansions. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Apr 21, 2021
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Apr 15, 2021
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Mar 23, 2021
-
-
Simon McVittie authored
This means we can cope with filenames in their filesystem encoding, which are arbitrary bytestrings (not necessarily UTF-8). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Mar 16, 2021
-
-
Ludovico de Nittis authored
Features without tests can easily regress. For this reason we added a check about the directories that we expect to have inside the container when we don't share the home directory. And we also compare the "steam-installation" issues of the container srsi with the one on the host. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Mar 04, 2021
-
-
Ludovico de Nittis authored
When we build a debian package of steam-runtime-tools, due to the debian source format 3.0 (native), all our `.so` test files are stripped down. To avoid losing them we generate the `fake-icds` and `fake-icds-flatpak` sysroots from the python script `generate-sysroots.py`. Addresses T26709 Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Feb 25, 2021
-
-
Ludovico de Nittis authored
This is similar to the behavior that we have for Vulkan Layers. The only difference is that for ICDs we still have the ability to set a custom "multiarch_tuples" parameter, without the need to set the multiarch for the whole #SrtSystemInfo object. Fixes: #58 Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
This allows us to reduce the code duplication in pv_bwrap_run_sync(). Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Feb 23, 2021
-
-
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 used 'var' to mean both the path to the ./var directory, and an object representing an environment variable. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Feb 22, 2021
-
-
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>
-
Ludovico de Nittis authored
If we don't have duplicated ICDs/Layers in the host system, we want to be sure that this holds true also inside a container. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
With the additional "issues" entry in the s-r-s-i report we can now flag the ICDs/layers as being duplicated or also unsupported. This makes it easier to spot misconfigured systems or also regressions about how we import ICDs/layers inside the container. Fixes: T26156 Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Feb 19, 2021
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
Instead of just having a single primary multiarch, now we are able to list multiple multiarch tuples. The first will be considered the primary and all the others will be assumed to be "foreign" architectures. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Feb 04, 2021
-
-
Simon McVittie authored
Previously, if we were using a Flatpak-style runtime, the argument to --runtime= had to be its ./files subdirectory. Now we accept the top-level directory as an alternative. This will make it more straightforward for pressure-vessel-wrap to take responsibility for unpacking and deploying runtimes that are shipped as a tarball, which is currently done in the SteamLinuxRuntime shell scripts, resulting in error handling and locking being less robust. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jan 28, 2021
-
-
Ludovico de Nittis authored
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
This helps us to avoid leaking variables. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
Ludovico de Nittis authored
Now that check-vulkan prints detailed information about every physical and virtual Vulkan GPU, we can start to provide this info in s-r-s-i too. Signed-off-by:
Ludovico de Nittis <ludovico.denittis@collabora.com>
-
- Jan 27, 2021
-
-
Simon McVittie authored
If one of the variables we are interested in happens to be set already, and doesn't get overridden, then the test will fail. For example, `DRI_PRIME=1 meson test -C _build` would fail. This will become a lot more likely to happen when I start logging ubiquitous environment variables like `DISPLAY`. We can't just set envp = NULL initially, because g_environ_setenv() in Ubuntu 12.04 won't accept NULL as a valid environment block (although newer versions do). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jan 25, 2021
-
-
Simon McVittie authored
A single line with escaped newlines is unnecessarily hard to read. This repurposes code that we already had for printing a udev uevent pseudo-file in this way. We retain the ability to parse old s-r-s-i output in which the diagnostic messages were a string: the intended meaning is fairly obvious. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-