- May 28, 2024
-
-
Simon McVittie authored
This is more general than "can rename files": it also determines whether we can delete files that we will be able to reconstitute fully from the mtree manifest. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
When we're minimizing the Platform runtime, we want to delete any file that is fully represented by its entry in the mtree, but when we're generating the top-level mtree, we can't do that: if there was an empty file or symlink that's functionally necessary to run pressure-vessel, we have to preserve it, so that we can run pressure-vessel and reconstitute the Platform from the mtree manifest. This was particularly bad for the non-default option that adds a SDK sysroot to the container runtime, which we don't do in production but we do use during CI. steamrt/tasks#448 Fixes: d78e1bbe "populate-depot: Rename files with multiple links or problematic names" Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
At this point we haven't populated the list yet, so this stanza has no practical effect. Fixes: d78e1bbe "populate-depot: Rename files with multiple links or problematic names" Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This is a feature that we document for game developers: the ability to launch a game in a SDK sysroot that comes with debugging tools preinstalled, and can be altered by the developer to insert more debugging tools or patched libraries if they want to. steamrt/tasks#448 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- May 20, 2024
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
No functional changes for the way we use it in this project. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This makes the information from doc/Building-libcapsule.txt more discoverable, and adds more. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- May 16, 2024
-
-
Simon McVittie authored
Because libcapsule uses non-recursive make, G_TEST_SRCDIR and G_TEST_BUILDDIR are set to the top-level directory of the source/build tree. When running the test suite "as-installed", the equivalent for both is `${libexecdir}/installed-tests/libcapsule`. This matters because we locate the "version 1" and "version 2" libraries during testing as `${builddir}/tests/version{1,2}`, which is incorrect (a duplicate `tests/`) if the `${builddir}` is set to the `tests` subdirectory rather than the top-level directory. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Steam Runtime 1 'scout' only has 1.11 as its default version, and that's too old for AM_TESTS_ENVIRONMENT to be respected. It does have 1.15 available, so make sure we have at least that version one way or another. At the moment this is mitigated by the fact that scout only has GLib 2.32, which is too old, and we use --with-glib=auto to skip building and running the one test that uses GLib (utils.t) when building on scout - which happens to be the only test where correct handling of AM_TESTS_ENVIRONMENT was strictly required. However, if we backport a newer GLib into scout, we'll start running that test, and therefore we'll need it to work. steamrt/tasks#112 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- May 14, 2024
-
-
Simon McVittie authored
Fix some build failures and add some small enhancements to build-aux See merge request !712
-
- May 13, 2024
-
-
Ryan Gonzalez authored
This makes it possible to run builds on non-x64 hosts. Signed-off-by:
Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
This works around build failures on recent Clang versions. Signed-off-by:
Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
This lets meson/ninja access the TTY which makes the output look a little nicer. Signed-off-by:
Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
Signed-off-by:
Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
The build won't succeed anyway. Signed-off-by:
Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Simon McVittie authored
pressure-vessel: Update Flatpak-derived code to Flatpak 1.14.8 See merge request !710
-
Simon McVittie authored
pressure-vessel: Fix build regression with GLib 2.80.x See merge request !711
-
Simon McVittie authored
flatpak_bwrap_steal_fds() is private in Flatpak 1.14.8, but we make it extern because another part of pressure-vessel needs it. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
No functional changes: all the changes are `#if 0` in pressure-vessel. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
With older GLib, `libglnx.h` was enough to provide `g_fdwalk_set_cloexec()`, but with newer GLib, `glib-unix.h` is required. Origin: https://github.com/flatpak/flatpak/pull/5737 Fixes: 7fac9ccb "pv-wrap: Use g_fdwalk_set_cloexec() instead of flatpak_close_fds_workaround()" Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
pressure-vessel: Update Flatpak-derived code to Flatpak 1.14.6 See merge request !708
-
- May 08, 2024
-
-
Simon McVittie authored
populate-depot: Allow all SLR branches to show in the UI See merge request !705
-
Simon McVittie authored
pv-wrap: Don't enable snapd workarounds by default See merge request !707
-
- Apr 25, 2024
-
-
Simon McVittie authored
Since snapd 2.62, we do not need any special workarounds, and since https://github.com/canonical/steam-snap/pull/367 Canonical's Steam snap app has required snapd 2.62. This change is in the stable channel as of 2024-04-25, which means that the Steam snap app will refuse to install onto systems with an older snapd until the snapd has been upgraded. For now, disable the workarounds by default but keep them implemented. After we have a beta -> stable cycle without incident, we can delete their implementations. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Many of the changes are `#if 0`. Main changes that have a practical effect on steam-runtime-tools: * flatpak_exports_add_path_expose(), etc. return a GError, which we convert into a warning- or info-level message in the same way that flatpak_context_export() would. To facilitate this, add helper functions in pressure-vessel/exports.c. * flatpak-context.c is no longer included here, and all of the declarations in its header are now `#if 0`. The only parts that we use are the enums in the header, which are still present; the array `dont_mount_in_root`, which has been moved into wrap-setup.c; and the new `log_cannot_export_error` function, which has been moved into exports.c. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Apr 24, 2024
-
-
Simon McVittie authored
No functional change, but the order in which things were freed is slightly different in the version I upstreamed to Flatpak. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Apr 22, 2024
-
-
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
-
Ludovico de Nittis authored
pv-wrap: Improve handling of paths that cannot be exported See merge request !706
-
- Apr 20, 2024
-
-
Simon McVittie authored
build: Fix function detection when using -Werror=return-type Closes #4 See merge request GNOME/libglnx!57
-
- Apr 19, 2024
-
-
Simon McVittie authored
This avoids a failure mode seen on ClearLinux where including /var/cache in XDG_DATA_DIRS would prevent pressure-vessel startup. It also preemptively avoids the same situation potentially happening for /run/host, /run/parent and similar paths. steamrt/tasks#434 Resolves: https://github.com/ValveSoftware/steam-for-linux/issues/10789 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Some of our reserved paths, notably /run/pressure-vessel and /var/pressure-vessel, are not at the top level. We must avoid allowing the parents of these directories to be exported, because if we allowed that, it would break our ability to write to the child: for example, if we bind-mount /run from the host, we will not be able to create /run/pressure-vessel in the root-owned /run. This is very similar to https://github.com/flatpak/flatpak/commit/e3507918c0e496b0d111653e0e15e74108dbce16 in the Flatpak 1.15.x development branch, also written by me. steamrt/tasks#434 Helps: https://github.com/ValveSoftware/steam-for-linux/issues/10789 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
pressure-vessel reserves more paths than Flatpak does, and we need to avoid all of them. For most of the code paths that set up exports, we will avoid the paths anyway (in order to log warnings), but as a fallback, it would be good to be sure that every possible reason for paths to be exported is covered. steamrt/tasks#434 Helps: https://github.com/ValveSoftware/steam-for-linux/issues/10789 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This matches the behaviour of FlatpakExports, except that instead of silently ignoring these paths like FlatpakExports would, we want to log a warning if necessary. steamrt/tasks#434 Helps: https://github.com/ValveSoftware/steam-for-linux/issues/10789 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
ClearLinux adds /var/cache to the XDG_DATA_DIRS, and in a subsequent commit we will want to ignore that with only an informational message, rather than logging warnings about a situation that is considered correct. Similarly, we don't want to log warnings about /etc/xdg being in XDG_CONFIG_DIRS, and an OS might conceivably put generated files in /run on the same basis that ClearLinux uses /var/cache. I haven't added /bin, /lib* or /sbin here, on the basis that they are unlikely to appear in these search paths in practice. steamrt/tasks#434 Helps: https://github.com/ValveSoftware/steam-for-linux/issues/10789 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Make this a method on the PvWrapContext, so that it can use a hash table (lazily allocated) to store the set of paths for which we already logged a warning. No functional change intended, except for some slightly different warning messages. steamrt/tasks#434 Helps: https://github.com/ValveSoftware/steam-for-linux/issues/10789 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-