Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: lib/portage/package/ebuild/
Date: Mon, 31 May 2021 19:54:10
Message-Id: 1622490814.91e5c15943a8ad01f5133f21730d8800c415a00a.mgorny@gentoo
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()