From: Jakub Bogusz Date: Sat, 23 Mar 2019 06:55:13 +0000 (+0100) Subject: - updated to 2.6.11 X-Git-Tag: auto/th/python-markdown-2.6.11-1 X-Git-Url: https://git.pld-linux.org/?p=packages%2Fpython-markdown.git;a=commitdiff_plain;h=4c99705f9946ecc5ff549f964834221a2b189616 - updated to 2.6.11 - added yaml patch (fix for PyYAML 5.1, partially from git) --- diff --git a/python-markdown-yaml.patch b/python-markdown-yaml.patch new file mode 100644 index 0000000..90edd4d --- /dev/null +++ b/python-markdown-yaml.patch @@ -0,0 +1,68 @@ +diff --git a/markdown/__main__.py b/markdown/__main__.py +index 38d08fe0..43e486c9 100644 +--- a/markdown/__main__.py ++++ b/markdown/__main__.py +@@ -26,9 +26,17 @@ + import warnings + import markdown + try: +- import yaml ++ # We use `unsafe_load` because users may need to pass in actual Python ++ # objects. As this is only available from the CLI, the user has much ++ # worse problems if an attacker can use this as an attach vector. ++ from yaml import unsafe_load as yaml_load + except ImportError: # pragma: no cover +- import json as yaml ++ try: ++ # Fall back to PyYAML <5.1 ++ from yaml import load as yaml_load ++ except ImportError: ++ # Fall back to JSON ++ from json import load as yaml_load + + import logging + from logging import DEBUG, WARNING, CRITICAL +@@ -97,7 +105,7 @@ def parse_options(args=None, values=None): + options.configfile, mode="r", encoding=options.encoding + ) as fp: + try: +- extension_configs = yaml.load(fp) ++ extension_configs = yaml_load(fp) + except Exception as e: + message = "Failed parsing extension config file: %s" % \ + options.configfile +--- a/tests/__init__.py.orig 2018-01-05 01:41:13.000000000 +0100 ++++ b/tests/__init__.py 2019-03-22 22:41:00.850729644 +0100 +@@ -17,13 +17,16 @@ + except ImportError: + tidylib = None + try: +- import yaml +-except ImportError as e: +- msg = e.args[0] +- msg = msg + ". A YAML library is required to run the Python-Markdown " \ +- "tests. Run `pip install pyyaml` to install the latest version." +- e.args = (msg,) + e.args[1:] +- raise ++ from yaml import unsafe_load as yaml_load ++except ImportError: # PyYAML < 5.1 ++ try: ++ from yaml import load as yaml_load ++ except ImportError as e: ++ msg = e.args[0] ++ msg = msg + ". A YAML library is required to run the Python-Markdown " \ ++ "tests. Run `pip install pyyaml` to install the latest version." ++ e.args = (msg,) + e.args[1:] ++ raise + + test_dir = os.path.abspath(os.path.dirname(__file__)) + +@@ -36,7 +39,7 @@ + self._config = {} + if os.path.exists(filename): + with codecs.open(filename, encoding="utf-8") as f: +- self._config = yaml.load(f) ++ self._config = yaml_load(f) + + def get(self, section, option): + """ Get config value for given section and option key. """ diff --git a/python-markdown.spec b/python-markdown.spec index 8f2806c..d342b8d 100644 --- a/python-markdown.spec +++ b/python-markdown.spec @@ -1,6 +1,6 @@ # # Conditional build: -%bcond_without tests # do not perform "make test" +%bcond_without tests # unit tests %bcond_without python2 # python2 package %bcond_without python3 # python3 package @@ -8,13 +8,14 @@ Summary: Markdown implementation in Python 2 Summary(pl.UTF-8): Implementacja formatu Markdown w Pythonie 2 Name: python-%{module} -Version: 2.6.7 -Release: 3 +Version: 2.6.11 +Release: 1 License: BSD Group: Development/Languages/Python #Source0Download: https://pypi.python.org/simple/markdown/ Source0: https://files.pythonhosted.org/packages/source/M/Markdown/Markdown-%{version}.tar.gz -# Source0-md5: a06f1c5d462b32e0e8da014e9eebb0d9 +# Source0-md5: a67c1b2914f7d74eeede2ebe0fdae470 +Patch0: %{name}-yaml.patch URL: https://pythonhosted.org/Markdown/ BuildRequires: python-devel BuildRequires: python-elementtree @@ -24,7 +25,6 @@ BuildRequires: python-nose %endif BuildRequires: rpm-pythonprov BuildRequires: rpmbuild(macros) >= 1.714 -BuildRequires: sed >= 4.0 %if %{with python3} BuildRequires: python3-devel >= 1:3.2 %if %{with tests} @@ -65,12 +65,7 @@ choć jest kilka znanych problemów. %prep %setup -q -n Markdown-%{version} - -# remove shebangs -find markdown -type f -name '*.py' -exec sed -i -e '/^#!/{1D}' {} ';' - -# fix line-ending -%undos docs/release-2.2.0.txt +%patch0 -p1 %build %if %{with python2} @@ -113,7 +108,7 @@ rm -rf $RPM_BUILD_ROOT %if %{with python2} %files %defattr(644,root,root,755) -%doc LICENSE.md README.md docs/{authors.txt,change_log.txt,cli.txt,index.txt,reference.txt,release-*.txt,siteindex.txt,extensions} +%doc LICENSE.md README.md docs/{change_log,extensions,authors.md,cli.md,favicon.ico,index.md,py.png,reference.md} %attr(755,root,root) %{_bindir}/markdown_py %attr(755,root,root) %{_bindir}/markdown_py-%{py_ver} %{py_sitescriptdir}/markdown @@ -123,7 +118,7 @@ rm -rf $RPM_BUILD_ROOT %if %{with python3} %files -n python3-markdown %defattr(644,root,root,755) -%doc LICENSE.md README.md docs/{authors.txt,change_log.txt,cli.txt,index.txt,reference.txt,release-*.txt,siteindex.txt,extensions} +%doc LICENSE.md README.md docs/{change_log,extensions,authors.md,cli.md,favicon.ico,index.md,py.png,reference.md} %attr(755,root,root) %{_bindir}/markdown_py-%{py3_ver} %{py3_sitescriptdir}/markdown %{py3_sitescriptdir}/Markdown-%{version}-py*.egg-info