cross/i686-linux-glibc/buildroot/buildroot-2025.05/package/qt5/qt5webengine-chromium/0011-Shorted-printed-cmd-wh...

58 lines
2.3 KiB
Diff

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