mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-10 08:14:09 -09:00
package/qt5/qt5webengine-chromium: fix python 3.13 issue
Python was bumped from 3.12.x to 3.13.x since the commitd63e207eb8. The module pipes is no longer part of the Python standard library. It was removed in Python 3.13 after being deprecated in Python 3.11. The last version of Python that provided the pipes module was Python 3.12. See[1]. The chromium project in qt5webengine-chromium is very old (87-based[2]). This backports a change removing the use of pipes that was first introduced in 114.0.5696.0[3] to fix the error below: [174/23445] ACTION //components/resources:about_credits(/builds/buildroot.org/buildroot/output/build/qt5webengine-5.15.14/src/toolchain:target) FAILED: gen/components/resources/about_credits.html /builds/buildroot.org/buildroot/output/build/qt5webengine-5.15.14/host-bin/python ../../3rdparty/chromium/tools/licenses.py --target-os=linux --depfile gen/components/resources/about_credits.d credits gen/components/resources/about_credits.html /builds/buildroot.org/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/build/android/gyp/util/build_utils.py:628: SyntaxWarning: invalid escape sequence '\(' r = re.compile('@FileArg\((.*?)\)') Traceback (most recent call last): File "/builds/buildroot.org/buildroot/output/build/qt5webengine-5.15.14/src/core/release/../../3rdparty/chromium/tools/licenses.py", line 37, in <module> from util import build_utils File "/builds/buildroot.org/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/build/android/gyp/util/build_utils.py", line 15, in <module> import pipes ModuleNotFoundError: No module named 'pipes' [1]: https://docs.python.org/3/library/pipes.html [2]: https://github.com/qt/qtwebengine/blob/v5.15.14-lts-lgpl/CHROMIUM_VERSION [3]:4c6fc19849Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/9677167367 Signed-off-by: Gaël PORTAY <gael.portay+rtone@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
committed by
Thomas Petazzoni
parent
4f7e3f0bdd
commit
9e627c1628
@@ -0,0 +1,57 @@
|
||||
From 1a713c6e4861f0672252425a1ccbfa9f45834d5d Mon Sep 17 00:00:00 2001
|
||||
From: Mohamed Heikal <mheikal@chromium.org>
|
||||
Date: Tue, 4 Apr 2023 17:04:04 +0000
|
||||
Subject: [PATCH] Shorted printed cmd when long commands fail
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Some commands (eg: javac) are very long and when they fail most of the
|
||||
screen/log is filled with the actual cmd vs the error message output.
|
||||
Shorten printed CMDs to 200 chars unless an environment variable is set.
|
||||
|
||||
Bug: None
|
||||
Change-Id: I92809a7e4a2b1204931a74fd6239803feddd430e
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4395905
|
||||
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
|
||||
Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#1126065}
|
||||
Upstream: Backport [https://github.com/chromium/chromium/commit/4c6fc1984970af4b2b1765014c9ddcd957ad7dda]
|
||||
Signed-off-by: Gaël PORTAY <gael.portay@rtone.fr>
|
||||
[gportay: remove import pipes]
|
||||
---
|
||||
chromium/build/android/gyp/util/build_utils.py | 10 +++++++---
|
||||
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/chromium/build/android/gyp/util/build_utils.py b/chromium/build/android/gyp/util/build_utils.py
|
||||
index 02298051702..5fa753af459 100644
|
||||
--- a/chromium/build/android/gyp/util/build_utils.py
|
||||
+++ b/chromium/build/android/gyp/util/build_utils.py
|
||||
@@ -12,7 +12,6 @@ import fnmatch
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
-import pipes
|
||||
import re
|
||||
import shutil
|
||||
import stat
|
||||
@@ -196,9 +195,14 @@ class CalledProcessError(Exception):
|
||||
|
||||
def __str__(self):
|
||||
# A user should be able to simply copy and paste the command that failed
|
||||
- # into their shell.
|
||||
+ # into their shell (unless it is more than 200 chars).
|
||||
+ # User can set PRINT_FULL_COMMAND=1 to always print the full command.
|
||||
+ print_full = os.environ.get('PRINT_FULL_COMMAND', '0') != '0'
|
||||
+ full_cmd = shlex.join(self.args)
|
||||
+ short_cmd = textwrap.shorten(full_cmd, width=200)
|
||||
+ printed_cmd = full_cmd if print_full else short_cmd
|
||||
copyable_command = '( cd {}; {} )'.format(os.path.abspath(self.cwd),
|
||||
- ' '.join(map(pipes.quote, self.args)))
|
||||
+ printed_cmd)
|
||||
return 'Command failed: {}\n{}'.format(copyable_command, self.output)
|
||||
|
||||
|
||||
--
|
||||
2.39.5
|
||||
|
||||
Reference in New Issue
Block a user