From a682d7e1aaa650c42a8505538118c6ae250e2b08 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Fri, 26 Dec 2025 16:46:51 +0100 Subject: [PATCH] package/flutter-engine: don't write into $HOME MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gclient.py tries to not only read from $HOME/.config, but actually create some directories/files in there. As $HOME can be inaccessible, let's override XDG_CONFIG_HOME to tell the depot-tools code to write its stuff into $(@D)/dl-tmp instead (which we already use as a scratch directory in this package). Fixes: >>> flutter-engine 3.29.2 Downloading /home/thomas/buildroot/br/output-all/host/share/depot_tools/gclient.py:3367: SyntaxWarning: invalid escape sequence '\s' dot_git_pattern = re.compile('^(\s*)url(\s*)=.*\.git$') /home/thomas/buildroot/br/output-all/host/share/depot_tools/gclient_scm.py:436: SyntaxWarning: invalid escape sequence '\.' tokens = re.search('//(.+).googlesource.com/(.+?)(?:\.git)?$', Traceback (most recent call last): File "/home/thomas/buildroot/br/output-all/host/lib/python3.13/pathlib/_local.py", line 722, in mkdir os.mkdir(self, mode) ~~~~~~~~^^^^^^^^^^^^ FileNotFoundError: [Errno 2] No such file or directory: '/home/br-user/.config/depot_tools' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/thomas/buildroot/br/output-all/host/share/depot_tools/gclient.py", line 108, in import gclient_scm File "/home/thomas/buildroot/br/output-all/host/share/depot_tools/gclient_scm.py", line 23, in import gerrit_util File "/home/thomas/buildroot/br/output-all/host/share/depot_tools/gerrit_util.py", line 42, in import metrics File "/home/thomas/buildroot/br/output-all/host/share/depot_tools/metrics.py", line 23, in CONFIG_FILE = utils.depot_tools_config_path('metrics.cfg') File "/home/thomas/buildroot/br/output-all/host/share/depot_tools/utils.py", line 48, in depot_tools_config_path pathlib.Path(config_dir).mkdir(parents=True, exist_ok=True) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/thomas/buildroot/br/output-all/host/lib/python3.13/pathlib/_local.py", line 726, in mkdir self.parent.mkdir(parents=True, exist_ok=True) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/thomas/buildroot/br/output-all/host/lib/python3.13/pathlib/_local.py", line 722, in mkdir os.mkdir(self, mode) ~~~~~~~~^^^^^^^^^^^^ PermissionError: [Errno 13] Permission denied: '/home/br-user/.config' make[1]: *** [package/pkg-generic.mk:181: /home/thomas/buildroot/br/output-all/build/flutter-engine-3.29.2/.stamp_downloaded] Error 1 Signed-off-by: Thomas Petazzoni Signed-off-by: Peter Korsgaard (cherry picked from commit 2a69b8c7eda80157d7e794ba64ebfbc86b20c48b) Signed-off-by: Raphaël Mélotte --- package/flutter-engine/flutter-engine.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/flutter-engine/flutter-engine.mk b/package/flutter-engine/flutter-engine.mk index 1fa59a3863..e1c56ee62b 100644 --- a/package/flutter-engine/flutter-engine.mk +++ b/package/flutter-engine/flutter-engine.mk @@ -181,6 +181,7 @@ define FLUTTER_ENGINE_GENERATE_TARBALL PATH=$(HOST_DIR)/share/depot_tools:$(BR_PATH) \ PYTHONPATH=$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR) \ PUB_CACHE=$(FLUTTER_SDK_BIN_PUB_CACHE) \ + XDG_CONFIG_HOME=$(@D)/dl-tmp \ $(FLUTTER_ENGINE_PKGDIR)/gen-tarball \ --dot-gclient $(TOPDIR)/$(FLUTTER_ENGINE_PKGDIR)/dot-gclient \ --jobs $(PARALLEL_JOBS) \