1 |
commit: 91e5c15943a8ad01f5133f21730d8800c415a00a |
2 |
Author: Michał Górny <mgorny <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat May 29 10:16:59 2021 +0000 |
4 |
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon May 31 19:53:34 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=91e5c159 |
7 |
|
8 |
Emit QA notices for setuptools warnings |
9 |
|
10 |
Emit QA notices for setuptools warnings such as: |
11 |
|
12 |
* QA Notice: setuptools warnings detected: |
13 |
* |
14 |
* Usage of dash-separated 'build-requires' will not be supported in future versions. Please use the underscore name 'build_requires' instead |
15 |
* Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead |
16 |
* Usage of dash-separated 'upload-dir' will not be supported in future versions. Please use the underscore name 'upload_dir' instead |
17 |
|
18 |
Reviewed-by: Zac Medico <zmedico <AT> gentoo.org> |
19 |
Closes: https://github.com/gentoo/portage/pull/722 |
20 |
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> |
21 |
|
22 |
lib/portage/package/ebuild/doebuild.py | 14 ++++++++++++++ |
23 |
1 file changed, 14 insertions(+) |
24 |
|
25 |
diff --git a/lib/portage/package/ebuild/doebuild.py b/lib/portage/package/ebuild/doebuild.py |
26 |
index 86c1d40b4..b1557edd7 100644 |
27 |
--- a/lib/portage/package/ebuild/doebuild.py |
28 |
+++ b/lib/portage/package/ebuild/doebuild.py |
29 |
@@ -1863,6 +1863,10 @@ def _check_build_log(mysettings, out=None): |
30 |
re.compile(r'g?make\[\d+\]: warning: jobserver unavailable:') |
31 |
make_jobserver = [] |
32 |
|
33 |
+ # we deduplicate these since they is repeated for every setup.py call |
34 |
+ setuptools_warn = set() |
35 |
+ setuptools_warn_re = re.compile(r'.*\/setuptools\/.*: UserWarning: (.*)') |
36 |
+ |
37 |
def _eerror(lines): |
38 |
for line in lines: |
39 |
eerror(line, phase="install", key=mysettings.mycpv, out=out) |
40 |
@@ -1892,6 +1896,10 @@ def _check_build_log(mysettings, out=None): |
41 |
if make_jobserver_re.match(line) is not None: |
42 |
make_jobserver.append(line.rstrip("\n")) |
43 |
|
44 |
+ m = setuptools_warn_re.match(line) |
45 |
+ if m is not None: |
46 |
+ setuptools_warn.add(m.group(1)) |
47 |
+ |
48 |
except (EOFError, zlib.error) as e: |
49 |
_eerror(["portage encountered a zlib error: '%s'" % (e,), |
50 |
"while reading the log file: '%s'" % logfile]) |
51 |
@@ -1945,6 +1953,12 @@ def _check_build_log(mysettings, out=None): |
52 |
msg.extend("\t" + line for line in make_jobserver) |
53 |
_eqawarn(msg) |
54 |
|
55 |
+ if setuptools_warn: |
56 |
+ msg = [_("QA Notice: setuptools warnings detected:")] |
57 |
+ msg.append("") |
58 |
+ msg.extend("\t" + line for line in sorted(setuptools_warn)) |
59 |
+ _eqawarn(msg) |
60 |
+ |
61 |
f.close() |
62 |
if f_real is not None: |
63 |
f_real.close() |