diff --git a/debian/changelog b/debian/changelog index b578a5200f597c2839531784974c7d53835224d6..7353f41c45dd9fb661de8179f2c3d3e9270ff842 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,20 @@ -steam-runtime-tools (0.20200909.0) UNRELEASED; urgency=medium +steam-runtime-tools (0.20200909.1) UNRELEASED; urgency=medium * Combine steam-runtime-tools with pressure-vessel (T22909) -- Simon McVittie <smcv@collabora.com> Wed, 09 Sep 2020 15:08:21 +0100 +pressure-vessel (0.20200909.0) scout; urgency=medium + + * Revert "runtime: Set STEAM_RUNTIME=/ if running in scout". + Setting STEAM_RUNTIME=/ causes configuration changes in libraries like + Pango and GTK, which break module loading when not in the + LD_LIBRARY_PATH Steam Runtime. We will need to update those libraries' + search paths before we can do this. + (Reopens: pressure-vessel#8, steam-runtime#202, steam-runtime#249) + + -- Simon McVittie <smcv@collabora.com> Wed, 09 Sep 2020 18:51:19 +0100 + pressure-vessel (0.20200908.0) scout; urgency=medium [ Ludovico de Nittis ] diff --git a/debian/gitlab-ci.yml b/debian/gitlab-ci.yml index 64fa4929f894a31274ee5bd97149321acf0c6f09..73297ea98d8cfe74e7a387f0a0f7ef84a6885a96 100644 --- a/debian/gitlab-ci.yml +++ b/debian/gitlab-ci.yml @@ -288,18 +288,23 @@ test:ubuntu-20.04: test:archlinux: extends: .test_template image: archlinux:latest - # TODO this test does not work yet - when: manual # Do not use the global before_script because it is only for Debian based # distros before_script: - | set -eux + # Enable multilib repository + echo -e "\n[multilib]\nInclude = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf + pacman -Syu --needed --noconfirm --noprogressbar \ base-devel \ git \ + lib32-glibc \ + lib32-mesa \ python \ + python-chardet \ + python-six \ python-tappy \ sudo \ ${NULL+} diff --git a/pressure-vessel/runtime.c b/pressure-vessel/runtime.c index 679b5b1b98a77aa8f9a766a0be80d505b39a4757..41ea410c3fdfdc83699b6bdb4d1161857a3a3a3d 100644 --- a/pressure-vessel/runtime.c +++ b/pressure-vessel/runtime.c @@ -3225,16 +3225,6 @@ pv_runtime_bind (PvRuntime *self, self->adverb_in_container = "/run/pressure-vessel/pv-from-host/bin/pressure-vessel-adverb"; } - /* Some games detect that they have been run outside the Steam Runtime - * and try to re-run themselves via Steam. Trick them into thinking - * they are in the LD_LIBRARY_PATH Steam Runtime. - * - * We do not do this for games developed against soldier, because - * backwards compatibility is not a concern for game developers who - * have specifically opted-in to using the newer runtime. */ - if (self->is_scout) - flatpak_bwrap_set_env (bwrap, "STEAM_RUNTIME", "/", TRUE); - pv_runtime_set_search_paths (self, bwrap); return TRUE; diff --git a/tests/pressure-vessel/containers.py b/tests/pressure-vessel/containers.py index 681108352e75942d56c140dcd881bdcf4443b8e5..f8a2607a5039646df8741ba935732dd38d17634d 100755 --- a/tests/pressure-vessel/containers.py +++ b/tests/pressure-vessel/containers.py @@ -924,12 +924,14 @@ class TestContainers(BaseTest): if os.path.isfile('/usr/bin/locale'): link = os.path.join(tree, 'usr', 'bin', 'locale') target = os.readlink(link) - self.assertEqual(target, '/run/host/usr/bin/locale') + # Might be either /usr/bin/locale or /usr/sbin/locale + self.assertRegex(target, r'^/run/host/usr/') if os.path.isfile('/usr/bin/localedef'): link = os.path.join(tree, 'usr', 'bin', 'localedef') target = os.readlink(link) - self.assertEqual(target, '/run/host/usr/bin/localedef') + # Might be either /usr/bin/localedef or /usr/sbin/localedef + self.assertRegex(target, r'^/run/host/usr/') for ldso, scout_impl in ( ( diff --git a/tests/pressure-vessel/inside-runtime.py b/tests/pressure-vessel/inside-runtime.py index 97ee4292c718ea8117fc1c1e36f164f662fffeb0..cb83c29d2f6078341fef762a529f584acb0ec09f 100755 --- a/tests/pressure-vessel/inside-runtime.py +++ b/tests/pressure-vessel/inside-runtime.py @@ -153,11 +153,7 @@ class TestInsideRuntime(BaseTest): logger.info( 'LD_LIBRARY_PATH: %r', os.environ.get('LD_LIBRARY_PATH') ) - - if os.environ.get('TEST_INSIDE_RUNTIME_IS_SCOUT'): - self.assertEqual(os.environ.get('STEAM_RUNTIME'), '/') - elif os.environ.get('TEST_INSIDE_RUNTIME_IS_SOLDIER'): - self.assertEqual(os.environ.get('STEAM_RUNTIME'), None) + # No actual *tests* here just yet - we just log what's there. def test_overrides(self) -> None: if os.getenv('TEST_INSIDE_RUNTIME_IS_COPY'):