commit: 91e5c15943a8ad01f5133f21730d8800c415a00a
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat May 29 10:16:59 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 31 19:53:34 2021 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=91e5c159
Emit QA notices for setuptools warnings
Emit QA notices for setuptools warnings such as:
* QA Notice: setuptools warnings detected:
*
* Usage of dash-separated 'build-requires' will not be supported in
future versions. Please use the underscore name 'build_requires' instead
* Usage of dash-separated 'description-file' will not be supported in
future versions. Please use the underscore name 'description_file' instead
* Usage of dash-separated 'upload-dir' will not be supported in
future versions. Please use the underscore name 'upload_dir' instead
Reviewed-by: Zac Medico <zmedico <AT> gentoo.org>
Closes: https://github.com/gentoo/portage/pull/722
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
lib/portage/package/ebuild/doebuild.py | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/lib/portage/package/ebuild/doebuild.py
b/lib/portage/package/ebuild/doebuild.py
index 86c1d40b4..b1557edd7 100644
--- a/lib/portage/package/ebuild/doebuild.py
+++ b/lib/portage/package/ebuild/doebuild.py
@@ -1863,6 +1863,10 @@ def _check_build_log(mysettings, out=None):
re.compile(r'g?make\[\d+\]: warning: jobserver unavailable:')
make_jobserver = []
+ # we deduplicate these since they is repeated for every setup.py call
+ setuptools_warn = set()
+ setuptools_warn_re = re.compile(r'.*\/setuptools\/.*: UserWarning:
(.*)')
+
def _eerror(lines):
for line in lines:
eerror(line, phase="install", key=mysettings.mycpv,
out=out)
@@ -1892,6 +1896,10 @@ def _check_build_log(mysettings, out=None):
if make_jobserver_re.match(line) is not None:
make_jobserver.append(line.rstrip("\n"))
+ m = setuptools_warn_re.match(line)
+ if m is not None:
+ setuptools_warn.add(m.group(1))
+
except (EOFError, zlib.error) as e:
_eerror(["portage encountered a zlib error: '%s'" % (e,),
"while reading the log file: '%s'" % logfile])
@@ -1945,6 +1953,12 @@ def _check_build_log(mysettings, out=None):
msg.extend("\t" + line for line in make_jobserver)
_eqawarn(msg)
+ if setuptools_warn:
+ msg = [_("QA Notice: setuptools warnings detected:")]
+ msg.append("")
+ msg.extend("\t" + line for line in sorted(setuptools_warn))
+ _eqawarn(msg)
+
f.close()
if f_real is not None:
f_real.close()