Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1693818

Summary: python-chameleon FTBFS with Python 3.8: No handler for ``Constant`` (<_ast.Constant object at ...>)
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-chameleonAssignee: Fedora Infrastructure SIG <infra-sig>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: a.badger, infra-sig, lewk, rbean, tdabasin
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-04-09 17:33:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1678778    
Bug Blocks: 1686977    
Attachments:
Description Flags
Full log from Copr none

Description Miro Hrončok 2019-03-28 17:13:11 UTC
Created attachment 1549149 [details]
Full log from Copr

======================================================================
ERROR: test_boolean_attributes (chameleon.tests.test_templates.ZopePageTemplatesTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/tests/test_templates.py", line 562, in test_boolean_attributes
    template = self.from_string(
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/zpt/template.py", line 192, in __init__
    super(PageTemplate, self).__init__(body, **config)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/template.py", line 128, in __init__
    self.write(body)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/template.py", line 221, in write
    self.cook(body)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/template.py", line 158, in cook
    program = self._cook(body, digest, names)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/template.py", line 231, in _cook
    source = self._compile(body, builtins)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/template.py", line 265, in _compile
    compiler = Compiler(
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/compiler.py", line 949, in __init__
    generator = TemplateCodeGenerator(module, source)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/codegen.py", line 116, in __init__
    super(TemplateCodeGenerator, self).__init__(tree)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/astutil.py", line 226, in __init__
    self.visit(tree)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/codegen.py", line 201, in visit
    super(TemplateCodeGenerator, self).visit(node)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/astutil.py", line 286, in visit
    ret = visitor(node)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/codegen.py", line 119, in visit_Module
    super(TemplateCodeGenerator, self).visit_Module(node)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/astutil.py", line 293, in visit_Module
    self.visit(n)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/codegen.py", line 201, in visit
    super(TemplateCodeGenerator, self).visit(node)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/astutil.py", line 286, in visit
    ret = visitor(node)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/astutil.py", line 387, in visit_Assign
    self.visit(node.value)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/codegen.py", line 201, in visit
    super(TemplateCodeGenerator, self).visit(node)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/astutil.py", line 286, in visit
    ret = visitor(node)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/astutil.py", line 829, in visit_Call
    self.visit(arg)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/codegen.py", line 201, in visit
    super(TemplateCodeGenerator, self).visit(node)
  File "/builddir/build/BUILD/Chameleon-3.4/src/chameleon/astutil.py", line 284, in visit
    raise Exception('No handler for ``%s`` (%s).' % (
Exception: No handler for ``Constant`` (<_ast.Constant object at 0x7fe860fbbe20>).



That is python-chameleon-3.4-2.fc31. This blocks the bootstrap of Python 3.8.
This is needed by pyramid and hence bodhi - setting high severity.

Comment 1 Miro Hrončok 2019-04-04 14:47:12 UTC
I got to pyramid in in bootstrap sequence. Can we try to get chameleon updated? Recent upstream is 3.6.1 from this Monday.

Comment 2 Miro Hrončok 2019-04-04 14:50:57 UTC
Running tox on upstream checkout reveals that 3.4 fails but 3.6.1 passes.

Comment 3 Miro Hrončok 2019-04-04 14:52:54 UTC
Git bisect gives: https://github.com/malthe/chameleon/pull/273 Add support for Python 3.8

That is included since 3.5.

Comment 4 Miro Hrončok 2019-04-09 17:33:24 UTC
Fixed in git.