From a220fba14dec02db22da4042391337e09fe73b98 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 30 Mar 2021 21:55:47 +0200 Subject: flatpak: Make things work without FLATPAK_ID (cherry picked from commit 3b1bbc709cad66639eb7bf2285a0db2b361281e5) --- qutebrowser/utils/standarddir.py | 3 ++- tests/unit/utils/test_standarddir.py | 10 ++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/qutebrowser/utils/standarddir.py b/qutebrowser/utils/standarddir.py index d62f0ffdb..a7a2969ff 100644 --- a/qutebrowser/utils/standarddir.py +++ b/qutebrowser/utils/standarddir.py @@ -236,7 +236,8 @@ def _init_runtime(args: Optional[argparse.Namespace]) -> None: if version.is_flatpak(): *parts, app_name = os.path.split(path) assert app_name == APPNAME, app_name - path = os.path.join(*parts, 'app', os.environ['FLATPAK_ID']) + flatpak_id = os.environ.get('FLATPAK_ID', 'org.qutebrowser.qutebrowser') + path = os.path.join(*parts, 'app', flatpak_id) _create(path) _locations[_Location.runtime] = path diff --git a/tests/unit/utils/test_standarddir.py b/tests/unit/utils/test_standarddir.py index a16cb3c04..733832c6b 100644 --- a/tests/unit/utils/test_standarddir.py +++ b/tests/unit/utils/test_standarddir.py @@ -209,7 +209,9 @@ class TestStandardDir: @pytest.mark.linux @pytest.mark.parametrize('args_basedir', [True, False]) - def test_flatpak_runtimedir(self, monkeypatch, tmp_path, args_basedir): + @pytest.mark.parametrize('has_flatpak_id', [True, False]) + def test_flatpak_runtimedir(self, monkeypatch, tmp_path, + args_basedir, has_flatpak_id): runtime_path = tmp_path / 'runtime' runtime_path.mkdir() runtime_path.chmod(0o0700) @@ -218,7 +220,11 @@ class TestStandardDir: monkeypatch.setattr(version, 'is_flatpak', lambda: True) monkeypatch.setenv('XDG_RUNTIME_DIR', str(runtime_path)) - monkeypatch.setenv('FLATPAK_ID', app_id) + + if has_flatpak_id: + monkeypatch.setenv('FLATPAK_ID', app_id) + else: + monkeypatch.delenv('FLATPAK_ID', raising=False) if args_basedir: init_args = types.SimpleNamespace(basedir=str(tmp_path)) -- cgit v1.2.3-54-g00ecf