Bug 32715

Summary: chromium 120 fails to build with python 3.12
Product: Mageia Reporter: christian barranco <chb0>
Component: RPM PackagesAssignee: Python Stack Maintainers <python>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: Normal CC: lewyssmith
Version: Cauldron   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Source RPM: chromium-browser-stable-119.0.6045.159-1.mga10.tainted.src.rpm CVE:
Status comment:

Description christian barranco 2024-01-12 21:35:33 CET
Chromium does build on Cauldron because of python 3.12 compatibility, apparently.
It blocks security update.

[5113/57926] ACTION //third_party/catapult/tracing:generate_about_tracing(//build/toolchain/linux/unbundle:default)
FAILED: gen/content/browser/tracing/about_tracing.js gen/content/browser/tracing/about_tracing.html 
python3 ../../third_party/catapult/tracing/bin/generate_about_tracing_contents --outdir gen/content/browser/tracing
/builddir/build/BUILD/chromium-120.0.6099.216/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py:21: SyntaxWarning: invalid escape sequence '\('
  if re.search('url\(.+\)', contents):
/builddir/build/BUILD/chromium-120.0.6099.216/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py:63: SyntaxWarning: invalid escape sequence '\('
  return re.sub('url\((?P<quote>"|\'|)(?P<url>[^"\'()]*)(?P=quote)\)',
/builddir/build/BUILD/chromium-120.0.6099.216/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py:75: SyntaxWarning: invalid escape sequence '\('
  'url\((?:["|\']?)([^"\'()]*)(?:["|\']?)\)',
/builddir/build/BUILD/chromium-120.0.6099.216/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py:7: SyntaxWarning: invalid escape sequence '\/'
  return js.replace('</script>', '<\/script>')
/builddir/build/BUILD/chromium-120.0.6099.216/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py:296: SyntaxWarning: invalid escape sequence '\/'
  raise Exception('Escape script tags with <\/script>')
Traceback (most recent call last):
  File "/builddir/build/BUILD/chromium-120.0.6099.216/third_party/catapult/common/py_vulcanize/py_vulcanize/html_module.py", line 28, in Parse
    parser_results = parse_html_deps.HTMLModuleParser().Parse(self.contents)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/chromium-120.0.6099.216/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py", line 298, in Parse
    return HTMLModuleParserResults(html)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/chromium-120.0.6099.216/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py", line 164, in __init__
    self._soup = bs4.BeautifulSoup(html, 'html5lib')
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/chromium-120.0.6099.216/third_party/catapult/third_party/beautifulsoup4-4.9.3/py3k/bs4/__init__.py", line 243, in __init__
    raise FeatureNotFound(
bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: html5lib. Do you need to install a parser library?

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/builddir/build/BUILD/chromium-120.0.6099.216/out/Release/../../third_party/catapult/tracing/bin/generate_about_tracing_contents", line 14, in <module>
    sys.exit(generate_about_tracing_contents.Main(sys.argv[1:]))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/chromium-120.0.6099.216/third_party/catapult/tracing/tracing_build/generate_about_tracing_contents.py", line 32, in Main
    load_sequence = vulcanizer.CalcLoadSequenceForModuleNames(names)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/chromium-120.0.6099.216/third_party/catapult/common/py_vulcanize/py_vulcanize/project.py", line 146, in CalcLoadSequenceForModuleNames
    modules = [self.loader.LoadModule(module_name=name,
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/chromium-120.0.6099.216/third_party/catapult/common/py_vulcanize/py_vulcanize/resource_loader.py", line 145, in LoadModule
    m.Parse(excluded_scripts)
  File "/builddir/build/BUILD/chromium-120.0.6099.216/third_party/catapult/common/py_vulcanize/py_vulcanize/html_module.py", line 30, in Parse
    raise Exception('While parsing %s: %s' % (self.name, str(ex)))
Exception: While parsing tracing.ui.extras.about_tracing.about_tracing: Couldn't find a tree builder with the features you requested: html5lib. Do you need to install a parser library?
Comment 1 Lewis Smith 2024-01-13 21:13:40 CET
Christian
Is the fault with Chromium or Python 3.12?
I would have thought that the best place to discuss this is the Dev mailList. If it is a Chromium problem, it would be assigned to you anyway!
But if you think it is a Python problem, assign it to the Python stack maintainers.

CC: (none) => lewyssmith

Comment 2 christian barranco 2024-01-13 21:19:38 CET
Hi Lewis. 
Morgan has suggested to open this report, in the same way it was done for Firefox. 
So, I did it.  
Chromium builds on MGA9 and, looking at the error, I have a high level of suspicion the culprit is the python update. 
I will keep digging into it in any case. 
I had tried to post the issue on the dev ml but I haven’t got at feedback. 
I will try again.
christian barranco 2024-01-13 21:20:08 CET

Assignee: bugsquad => python

Comment 3 Jani Välimaa 2024-01-15 17:01:20 CET
Please test with latest changes in SVN.

https://svnweb.mageia.org/packages?view=revision&revision=2031290
Comment 4 christian barranco 2024-01-22 22:07:19 CET
Thanks Jani. It passed. I faced another issue but related to libxml that time.
I had to use a patch only required by Arch so far.

Status: NEW => RESOLVED
Resolution: (none) => FIXED