Bug 1692172

Summary: python-markdown FTBFS with PyYAML 5
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-markdownAssignee: Thomas Moschny <thomas.moschny>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: jeckersb, thomas.moschny
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-03-25 08:34:25 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:    
Bug Blocks: 1686977    
Attachments:
Description Flags
Rebased upstream patch none

Description Miro Hrončok 2019-03-24 20:39:42 UTC
There is a consistent %check failure in python-markdown:

======================================================================
ERROR: Failure: YAMLLoadWarning (calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/loader.py", line 251, in generate
    for test in g():
  File "/builddir/build/BUILD/Markdown-2.6.11/python2/tests/__init__.py", line 141, in TestSyntax
    config = get_config(dir_name)
  File "/builddir/build/BUILD/Markdown-2.6.11/python2/tests/__init__.py", line 75, in get_config
    config = YamlConfig(defaults, os.path.join(dir_name, 'test.cfg'))
  File "/builddir/build/BUILD/Markdown-2.6.11/python2/tests/__init__.py", line 39, in __init__
    self._config = yaml.load(f)
  File "/usr/lib64/python2.7/site-packages/yaml/__init__.py", line 109, in load
    load_warning('load')
  File "/usr/lib64/python2.7/site-packages/yaml/__init__.py", line 55, in load_warning
    warnings.warn(message, YAMLLoadWarning, stacklevel=3)
YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.

======================================================================
ERROR: testExtensionConfigOption (tests.test_apis.TestCliOptionParsing)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Markdown-2.6.11/python2/tests/test_apis.py", line 717, in testExtensionConfigOption
    options, logging_level = parse_options(['-c', self.tempfile])
  File "/builddir/build/BUILD/Markdown-2.6.11/python2/markdown/__main__.py", line 88, in parse_options
    extension_configs = yaml.load(fp)
  File "/usr/lib64/python2.7/site-packages/yaml/__init__.py", line 109, in load
    load_warning('load')
  File "/usr/lib64/python2.7/site-packages/yaml/__init__.py", line 55, in load_warning
    warnings.warn(message, YAMLLoadWarning, stacklevel=3)
YAMLLoadWarning: Failed parsing extension config file: /tmp/tmpZpOzSE.yml

======================================================================
ERROR: testExtensonConfigOptionAsJSON (tests.test_apis.TestCliOptionParsing)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Markdown-2.6.11/python2/tests/test_apis.py", line 747, in testExtensonConfigOptionAsJSON
    options, logging_level = parse_options(['-c', self.tempfile])
  File "/builddir/build/BUILD/Markdown-2.6.11/python2/markdown/__main__.py", line 88, in parse_options
    extension_configs = yaml.load(fp)
  File "/usr/lib64/python2.7/site-packages/yaml/__init__.py", line 109, in load
    load_warning('load')
  File "/usr/lib64/python2.7/site-packages/yaml/__init__.py", line 55, in load_warning
    warnings.warn(message, YAMLLoadWarning, stacklevel=3)
YAMLLoadWarning: Failed parsing extension config file: /tmp/tmpUaj1Qq.yml

======================================================================
ERROR: testExtensonConfigOptionBadFormat (tests.test_apis.TestCliOptionParsing)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Markdown-2.6.11/python2/tests/test_apis.py", line 760, in testExtensonConfigOptionBadFormat
    self.assertRaises(yaml.YAMLError, parse_options, ['-c', self.tempfile])
  File "/usr/lib64/python2.7/unittest/case.py", line 511, in assertRaises
    callableObj(*args, **kwargs)
  File "/builddir/build/BUILD/Markdown-2.6.11/python2/markdown/__main__.py", line 88, in parse_options
    extension_configs = yaml.load(fp)
  File "/usr/lib64/python2.7/site-packages/yaml/__init__.py", line 109, in load
    load_warning('load')
  File "/usr/lib64/python2.7/site-packages/yaml/__init__.py", line 55, in load_warning
    warnings.warn(message, YAMLLoadWarning, stacklevel=3)
YAMLLoadWarning: Failed parsing extension config file: /tmp/tmpoBfUjw.yml

----------------------------------------------------------------------
Ran 135 tests in 0.275s


This is because updated PyYAML now does those new warnings.
I think the test suite should be adapted to not treat them as errors (as a workaround before markdown adapts to the new API).

This FTBFS is blocking the bootstrap of Python 3.8.

Comment 1 Miro Hrončok 2019-03-24 20:40:00 UTC
See also: https://apps.fedoraproject.org/koschei/build/6172904

Comment 3 Miro Hrončok 2019-03-25 06:59:58 UTC
Created attachment 1547602 [details]
Rebased upstream patch

Comment 4 Thomas Moschny 2019-03-25 08:34:25 UTC
Updated to 3.0.1 and cherry-picked upstream commit. Thanks for the heads-up.

Comment 5 Miro Hrončok 2020-02-08 13:53:28 UTC
Thank you.