From 1bd72861a79320805914ea18d10fa591ccc7e265 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 9 Nov 2021 04:47:39 -0500 Subject: [PATCH] import python-pygments-2.2.0-22.module+el8.5.0+10789+e4939b94 --- .gitignore | 1 + .python-pygments.metadata | 1 + ...021-20270-infinite-loop-in-SML-lexer.patch | 33 ++ SOURCES/CVE-2021-27291.patch | 140 ++++++ SOURCES/import-directive.patch | 12 + SPECS/python-pygments.spec | 401 ++++++++++++++++++ 6 files changed, 588 insertions(+) create mode 100644 .gitignore create mode 100644 .python-pygments.metadata create mode 100644 SOURCES/CVE-2021-20270-infinite-loop-in-SML-lexer.patch create mode 100644 SOURCES/CVE-2021-27291.patch create mode 100644 SOURCES/import-directive.patch create mode 100644 SPECS/python-pygments.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..04efadf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/Pygments-2.2.0.tar.gz diff --git a/.python-pygments.metadata b/.python-pygments.metadata new file mode 100644 index 0000000..5699161 --- /dev/null +++ b/.python-pygments.metadata @@ -0,0 +1 @@ +5c6714bd6fd950c1478889f7b72fc7f6771d5163 SOURCES/Pygments-2.2.0.tar.gz diff --git a/SOURCES/CVE-2021-20270-infinite-loop-in-SML-lexer.patch b/SOURCES/CVE-2021-20270-infinite-loop-in-SML-lexer.patch new file mode 100644 index 0000000..c32e69a --- /dev/null +++ b/SOURCES/CVE-2021-20270-infinite-loop-in-SML-lexer.patch @@ -0,0 +1,33 @@ +diff --git a/pygments/lexers/ml.py b/pygments/lexers/ml.py +index f80d5bf..4fd2c58 100644 +--- a/pygments/lexers/ml.py ++++ b/pygments/lexers/ml.py +@@ -142,7 +142,7 @@ class SMLLexer(RegexLexer): + (r'#\s+(%s)' % symbolicid_re, Name.Label), + # Some reserved words trigger a special, local lexer state change + (r'\b(datatype|abstype)\b(?!\')', Keyword.Reserved, 'dname'), +- (r'(?=\b(exception)\b(?!\'))', Text, ('ename')), ++ (r'\b(exception)\b(?!\')', Keyword.Reserved, 'ename'), + (r'\b(functor|include|open|signature|structure)\b(?!\')', + Keyword.Reserved, 'sname'), + (r'\b(type|eqtype)\b(?!\')', Keyword.Reserved, 'tname'), +@@ -315,15 +315,14 @@ class SMLLexer(RegexLexer): + 'ename': [ + include('whitespace'), + +- (r'(exception|and)\b(\s+)(%s)' % alphanumid_re, ++ (r'(and\b)(\s+)(%s)' % alphanumid_re, + bygroups(Keyword.Reserved, Text, Name.Class)), +- (r'(exception|and)\b(\s*)(%s)' % symbolicid_re, ++ (r'(and\b)(\s*)(%s)' % symbolicid_re, + bygroups(Keyword.Reserved, Text, Name.Class)), + (r'\b(of)\b(?!\')', Keyword.Reserved), ++ (r'(%s)|(%s)' % (alphanumid_re, symbolicid_re), Name.Class), + +- include('breakout'), +- include('core'), +- (r'\S+', Error), ++ default('#pop'), + ], + + 'datcon': [ diff --git a/SOURCES/CVE-2021-27291.patch b/SOURCES/CVE-2021-27291.patch new file mode 100644 index 0000000..cc43cae --- /dev/null +++ b/SOURCES/CVE-2021-27291.patch @@ -0,0 +1,140 @@ +From 179281dfed46f26d3fcc76d0600ee6728a7e493c Mon Sep 17 00:00:00 2001 +From: Lumir Balhar +Date: Thu, 22 Apr 2021 13:39:00 +0200 +Subject: [PATCH] CVE-2021-27291 + +--- + pygments/lexers/archetype.py | 2 +- + pygments/lexers/factor.py | 4 ++-- + pygments/lexers/jvm.py | 1 - + pygments/lexers/matlab.py | 6 +++--- + pygments/lexers/objective.py | 4 ++-- + pygments/lexers/templates.py | 2 +- + pygments/lexers/varnish.py | 2 +- + 7 files changed, 10 insertions(+), 11 deletions(-) + +diff --git a/pygments/lexers/archetype.py b/pygments/lexers/archetype.py +index 5d4eb9a..82f3b12 100644 +--- a/pygments/lexers/archetype.py ++++ b/pygments/lexers/archetype.py +@@ -58,7 +58,7 @@ class AtomsLexer(RegexLexer): + (r'P((\d*(\.\d+)?[YyMmWwDd]){1,3}(T(\d*(\.\d+)?[HhMmSs]){,3})?|' + r'T(\d*(\.\d+)?[HhMmSs]){,3})', Literal.Date), + (r'[+-]?(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+', Number.Float), +- (r'[+-]?(\d+)*\.\d+%?', Number.Float), ++ (r'[+-]?\d*\.\d+%?', Number.Float), + (r'0x[0-9a-fA-F]+', Number.Hex), + (r'[+-]?\d+%?', Number.Integer), + ], +diff --git a/pygments/lexers/factor.py b/pygments/lexers/factor.py +index 09d85c2..7eb3993 100644 +--- a/pygments/lexers/factor.py ++++ b/pygments/lexers/factor.py +@@ -265,7 +265,7 @@ class FactorLexer(RegexLexer): + (r'(?:)\s', Keyword.Namespace), + + # strings +- (r'"""\s+(?:.|\n)*?\s+"""', String), ++ (r'"""\s(?:.|\n)*?\s"""', String), + (r'"(?:\\\\|\\"|[^"])*"', String), + (r'\S+"\s+(?:\\\\|\\"|[^"])*"', String), + (r'CHAR:\s+(?:\\[\\abfnrstv]|[^\\]\S*)\s', String.Char), +@@ -322,7 +322,7 @@ class FactorLexer(RegexLexer): + 'slots': [ + (r'\s+', Text), + (r';\s', Keyword, '#pop'), +- (r'(\{\s+)(\S+)(\s+[^}]+\s+\}\s)', ++ (r'(\{\s+)(\S+)(\s[^}]+\s\}\s)', + bygroups(Text, Name.Variable, Text)), + (r'\S+', Name.Variable), + ], +diff --git a/pygments/lexers/jvm.py b/pygments/lexers/jvm.py +index f439283..668eed7 100644 +--- a/pygments/lexers/jvm.py ++++ b/pygments/lexers/jvm.py +@@ -963,7 +963,6 @@ class CeylonLexer(RegexLexer): + (r'(import)(\s+)', bygroups(Keyword.Namespace, Text), 'import'), + (r'"(\\\\|\\"|[^"])*"', String), + (r"'\\.'|'[^\\]'|'\\\{#[0-9a-fA-F]{4}\}'", String.Char), +- (r'".*``.*``.*"', String.Interpol), + (r'(\.)([a-z_]\w*)', + bygroups(Operator, Name.Attribute)), + (r'[a-zA-Z_]\w*:', Name.Label), +diff --git a/pygments/lexers/matlab.py b/pygments/lexers/matlab.py +index 56a0f6d..abfb9f0 100644 +--- a/pygments/lexers/matlab.py ++++ b/pygments/lexers/matlab.py +@@ -124,7 +124,7 @@ class MatlabLexer(RegexLexer): + (r'.', Comment.Multiline), + ], + 'deffunc': [ +- (r'(\s*)(?:(.+)(\s*)(=)(\s*))?(.+)(\()(.*)(\))(\s*)', ++ (r'(\s*)(?:(\S+)(\s*)(=)(\s*))?(.+)(\()(.*)(\))(\s*)', + bygroups(Whitespace, Text, Whitespace, Punctuation, + Whitespace, Name.Function, Punctuation, Text, + Punctuation, Whitespace), '#pop'), +@@ -585,7 +585,7 @@ class OctaveLexer(RegexLexer): + (r"[^']*'", String, '#pop'), + ], + 'deffunc': [ +- (r'(\s*)(?:(.+)(\s*)(=)(\s*))?(.+)(\()(.*)(\))(\s*)', ++ (r'(\s*)(?:(\S+)(\s*)(=)(\s*))?(.+)(\()(.*)(\))(\s*)', + bygroups(Whitespace, Text, Whitespace, Punctuation, + Whitespace, Name.Function, Punctuation, Text, + Punctuation, Whitespace), '#pop'), +@@ -653,7 +653,7 @@ class ScilabLexer(RegexLexer): + (r'.', String, '#pop'), + ], + 'deffunc': [ +- (r'(\s*)(?:(.+)(\s*)(=)(\s*))?(.+)(\()(.*)(\))(\s*)', ++ (r'(\s*)(?:(\S+)(\s*)(=)(\s*))?(.+)(\()(.*)(\))(\s*)', + bygroups(Whitespace, Text, Whitespace, Punctuation, + Whitespace, Name.Function, Punctuation, Text, + Punctuation, Whitespace), '#pop'), +diff --git a/pygments/lexers/objective.py b/pygments/lexers/objective.py +index 7807255..e4b9f1e 100644 +--- a/pygments/lexers/objective.py ++++ b/pygments/lexers/objective.py +@@ -261,11 +261,11 @@ class LogosLexer(ObjectiveCppLexer): + 'logos_classname'), + (r'(%hook|%group)(\s+)([a-zA-Z$_][\w$]+)', + bygroups(Keyword, Text, Name.Class)), +- (r'(%config)(\s*\(\s*)(\w+)(\s*=\s*)(.*?)(\s*\)\s*)', ++ (r'(%config)(\s*\(\s*)(\w+)(\s*=)(.*?)(\)\s*)', + bygroups(Keyword, Text, Name.Variable, Text, String, Text)), + (r'(%ctor)(\s*)(\{)', bygroups(Keyword, Text, Punctuation), + 'function'), +- (r'(%new)(\s*)(\()(\s*.*?\s*)(\))', ++ (r'(%new)(\s*)(\()(.*?)(\))', + bygroups(Keyword, Text, Keyword, String, Keyword)), + (r'(\s*)(%end)(\s*)', bygroups(Text, Keyword, Text)), + inherit, +diff --git a/pygments/lexers/templates.py b/pygments/lexers/templates.py +index 83c57db..066dad7 100644 +--- a/pygments/lexers/templates.py ++++ b/pygments/lexers/templates.py +@@ -1428,7 +1428,7 @@ class EvoqueLexer(RegexLexer): + # see doc for handling first name arg: /directives/evoque/ + # + minor inconsistency: the "name" in e.g. $overlay{name=site_base} + # should be using(PythonLexer), not passed out as String +- (r'(\$)(evoque|overlay)(\{(%)?)(\s*[#\w\-"\'.]+[^=,%}]+?)?' ++ (r'(\$)(evoque|overlay)(\{(%)?)(\s*[#\w\-"\'.]+)?' + r'(.*?)((?(4)%)\})', + bygroups(Punctuation, Name.Builtin, Punctuation, None, + String, using(PythonLexer), Punctuation)), +diff --git a/pygments/lexers/varnish.py b/pygments/lexers/varnish.py +index 4452142..f4c9a88 100644 +--- a/pygments/lexers/varnish.py ++++ b/pygments/lexers/varnish.py +@@ -61,7 +61,7 @@ class VCLLexer(RegexLexer): + bygroups(Name.Attribute, Operator, Name.Variable.Global, Punctuation)), + (r'(\.probe)(\s*=\s*)(\{)', + bygroups(Name.Attribute, Operator, Punctuation), 'probe'), +- (r'(\.\w+\b)(\s*=\s*)([^;]*)(\s*;)', ++ (r'(\.\w+\b)(\s*=\s*)([^;\s]*)(\s*;)', + bygroups(Name.Attribute, Operator, using(this), Punctuation)), + (r'\{', Punctuation, '#push'), + (r'\}', Punctuation, '#pop'), +-- +2.30.2 + diff --git a/SOURCES/import-directive.patch b/SOURCES/import-directive.patch new file mode 100644 index 0000000..cc25063 --- /dev/null +++ b/SOURCES/import-directive.patch @@ -0,0 +1,12 @@ +diff -ur Pygments-2.2.0/pygments/sphinxext.py Pygments-2.2.0.patch/pygments/sphinxext.py +--- Pygments-2.2.0/pygments/sphinxext.py 2017-01-22 16:01:32.000000000 -0500 ++++ Pygments-2.2.0.patch/pygments/sphinxext.py 2018-03-19 12:57:52.099927570 -0400 +@@ -16,7 +16,7 @@ + + from docutils import nodes + from docutils.statemachine import ViewList +-from sphinx.util.compat import Directive ++from docutils.parsers.rst import Directive + from sphinx.util.nodes import nested_parse_with_titles + + diff --git a/SPECS/python-pygments.spec b/SPECS/python-pygments.spec new file mode 100644 index 0000000..dcfdc8a --- /dev/null +++ b/SPECS/python-pygments.spec @@ -0,0 +1,401 @@ +%global debug_package %{nil} +# python2X and python3X are built form the same module, so we need a conditional +# for python[23] bits the state of the conditional is not important in the spec, +# it is set in modulemd +%bcond_without python2 +%bcond_without python3 +%bcond_with python36_module + +%if %{without python3} +%bcond_with doc +%else +%bcond_without doc +%endif + +%bcond_without tests + +%global upstream_name Pygments +%global srcname pygments +%global sum Syntax highlighting engine written in Python + +Name: python-pygments +Version: 2.2.0 +Release: 22%{?dist} +Summary: %{sum} + +License: BSD +URL: http://pygments.org/ +Source0: https://pypi.org/packages/source/P/%{upstream_name}/%{upstream_name}-%{version}.tar.gz +Patch0: import-directive.patch +BuildArch: noarch + +# Fix CVE-2021-20270: infinite loop in SML lexer which may lead to DoS +# Resolved upstream: https://github.com/pygments/pygments/commit/f91804ff4772e3ab41f46e28d370f57898700333 +Patch1: CVE-2021-20270-infinite-loop-in-SML-lexer.patch + +# CVE-2021-27291: ReDos via crafted malicious input +# Tracking bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2021-27291 +# Upstream fix: https://github.com/pygments/pygments/commit/2e7e8c4a7b318f4032493773732754e418279a14 +Patch2: CVE-2021-27291.patch + +%if %{with python3} +BuildRequires: python3-sphinx +%endif + +%description +Pygments is a generic syntax highlighter for general use in all kinds +of software such as forum systems, wikis or other applications that +need to prettify source code. Highlights are: + + * a wide range of common languages and markup formats is supported + * special attention is paid to details that increase highlighting + quality + * support for new languages and formats are added easily; most + languages use a simple regex-based lexing mechanism + * a number of output formats is available, among them HTML, RTF, + LaTeX and ANSI sequences + * it is usable as a command-line tool and as a library + * ... and it highlights even Brainf*ck! + + +%if %{with python2} +%package -n python2-%{srcname} +BuildRequires: python2-devel >= 2.4 +BuildRequires: python2-setuptools +BuildRequires: python2-nose +Summary: %{sum} +%{?python_provide:%python_provide python2-%{srcname}} + +%description -n python2-%{srcname} +Pygments is a generic syntax highlighter for general use in all kinds +of software such as forum systems, wikis or other applications that +need to prettify source code. Highlights are: + + * a wide range of common languages and markup formats is supported + * special attention is paid to details that increase highlighting + quality + * support for new languages and formats are added easily; most + languages use a simple regex-based lexing mechanism + * a number of output formats is available, among them HTML, RTF, + LaTeX and ANSI sequences + * it is usable as a command-line tool and as a library + * ... and it highlights even Brainf*ck! +%endif + + +%if %{with python3} +%package -n python3-%{srcname} +%if %{with python36_module} +BuildRequires: python36-devel +BuildRequires: python36-rpm-macros +%else +BuildRequires: python3-devel +%endif +BuildRequires: python3-setuptools, python3-nose +Summary: %{sum} +%{?python_provide:%python_provide python3-%{srcname}} + +%description -n python3-%{srcname} +Pygments is a generic syntax highlighter for general use in all kinds +of software such as forum systems, wikis or other applications that +need to prettify source code. Highlights are: + + * a wide range of common languages and markup formats is supported + * special attention is paid to details that increase highlighting + quality + * support for new languages and formats are added easily; most + languages use a simple regex-based lexing mechanism + * a number of output formats is available, among them HTML, RTF, + LaTeX and ANSI sequences + * it is usable as a command-line tool and as a library + * ... and it highlights even Brainf*ck! +%endif + +%prep +%setup -q -n %{upstream_name}-%{version} +%patch0 -p 1 +%patch1 -p1 +%patch2 -p1 + +%build +%{__sed} -i 's/\r//' LICENSE +%{?with_python2:%py2_build} +%{?with_python3:%py3_build} +%{?with_doc:%{__python3} setup.py build_sphinx} + +%install +# Python 2 install +# NOTE: sphinx is built on Python 3 and packages with python2 and python3 +%if %{with python2} +%py2_install +mv %{buildroot}%{_bindir}/pygmentize{,-%{python2_version}} +ln -s pygmentize-%{python2_version} %{buildroot}%{_bindir}/pygmentize-2 +%endif + +%if %{with doc} +pushd doc +install -d %{buildroot}%{_mandir}/man1 +mv pygmentize.1 $RPM_BUILD_ROOT%{_mandir}/man1/pygmentize.1 +popd +cp -r doc/docs doc/reST +%endif + +%if %{with python3} +%py3_install +cp %{buildroot}%{_bindir}/pygmentize{,-%{python3_version}} +ln -s pygmentize-%{python3_version} %{buildroot}%{_bindir}/pygmentize-3 +%endif + +%check +%if %{with tests} +%{?with_python2:make test PYTHON=%{__python2}} +%{?with_python3:make test PYTHON=%{__python3}} +%endif + +%if %{with python2} +%files -n python2-pygments +%doc AUTHORS CHANGES TODO +%if %{with doc} +%doc build/sphinx/html doc/reST +%lang(en) %{_mandir}/man1/pygmentize.1* +%endif +%license LICENSE +%{python2_sitelib}/* +%{_bindir}/pygmentize-2 +%{_bindir}/pygmentize-%{python2_version} +%endif + +%if %{with python3} +%files -n python3-pygments +%doc AUTHORS CHANGES TODO +%if %{with doc} +%doc build/sphinx/html doc/reST +%lang(en) %{_mandir}/man1/pygmentize.1* +%endif +%license LICENSE +%{python3_sitelib}/* +%{_bindir}/pygmentize +%{_bindir}/pygmentize-3 +%{_bindir}/pygmentize-%{python3_version} +%endif + +%changelog +* Thu Apr 22 2021 Lumír Balhar - 2.2.0-22 +- Fix CVE-2021-27291: ReDos via crafted malicious input +Resolves: rhbz#1943459 rhbz#1943460 + +* Wed Mar 03 2021 Charalampos Stratakis - 2.2.0-21 +- Fix CVE-2021-20270: infinite loop in SML lexer which may lead to DoS +Resolves: rhbz#1933876 + +* Thu Apr 25 2019 Tomas Orsava - 2.2.0-20 +- Bumping due to problems with modular RPM upgrade path +- Resolves: rhbz#1695587 + +* Mon Sep 17 2018 Lumír Balhar - 2.2.0-19 +- Get rid of unversioned Python dependencies +- Resolves: rhbz#1628242 + +* Wed Aug 08 2018 Lumír Balhar - 2.2.0-18 +- Remove unversioned binaries from python2 subpackage +- Resolves: rhbz#1613343 + +* Wed Aug 01 2018 Lumír Balhar - 2.2.0-17 +- Specfile cleanup +- Condition for tests +- Condition for doc + +* Tue Jul 31 2018 Lumír Balhar - 2.2.0-16 +- Switch python3 coditions to bcond + +* Wed Jul 18 2018 Tomas Orsava - 2.2.0-15 +- BuildRequire also python36-rpm-macros as part of the python36 module build + +* Wed Jul 04 2018 Miro Hrončok - 2.2.0-14 +- Add a bcond for python2 +- Fix the test invocation + +* Thu Jun 14 2018 Tomas Orsava - 2.2.0-13 +- Switch to using Python 3 version of sphinx + +* Mon Apr 30 2018 Tomas Orsava - 2.2.0-12 +- Require the python36-devel package when building for the python36 module + +* Mon Mar 19 2018 Steve Milner - 2.2.0-11 +- Added import-directive.patch to work around a change in sphinx. + +* Fri Feb 09 2018 Fedora Release Engineering - 2.2.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Sep 29 2017 Troy Dawson - 2.2.0-9 +- Cleanup spec file conditionals + +* Thu Jul 27 2017 Fedora Release Engineering - 2.2.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Thu Mar 22 2017 Steve Milner - 2.2.0-7 +- Fixed python2 sitelib in files section. + +* Wed Mar 22 2017 Steve Milner - 2.2.0-6 +- Dropped python26 support. +- Spec clean up + +* Mon Mar 20 2017 Steve Milner - 2.2.0-5 +- Updated for standards per BZ#1433650 + +* Mon Mar 6 2017 Steve Milner - 2.2.0-4 +- Added conflict per BZ#1429075 + +* Mon Mar 6 2017 Steve Milner - 2.2.0-3 +- Python3 package now houses the pygmentize binary +- Fixed Source0 url to point to pypi.org +- Made python3-nose a hard BuildRequirement for python3 + +* Thu Mar 2 2017 Steve Milner - 2.2.0-2 +- Update bin to come back into line with Fedora standards + +* Thu Mar 2 2017 Steve Milner - 2.2.0-1 +- Update for upstream release. + +* Thu Mar 2 2017 Steve Milner - 2.1.3-5 +- Split bin between versions. + +* Sat Feb 11 2017 Fedora Release Engineering - 2.1.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 12 2016 Charalampos Stratakis - 2.1.3-3 +- Rebuild for Python 3.6 +- Don't make rpmbuild fail on failed tests for now + +* Tue Jul 19 2016 Fedora Release Engineering - 2.1.3-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Fri Mar 4 2016 Steve Milner - 2.1.3-1 +- Update for upstream release. + +* Thu Feb 04 2016 Fedora Release Engineering - 2.0.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Nov 12 2015 Fedora Release Engineering - 2.0.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Thu Oct 29 2015 Steve Milner - 2.0.2-3 +- Backport patch to fix font manager shell injection for BZ#1276321 + +* Mon Oct 12 2015 Robert Kuska - 2.0.2-2 +- Rebuilt for Python3.5 rebuild +- Also remove python3-sphinx from BR as docs are built only with python2-sphinx + +* Mon Aug 24 2015 Steve Milner - 2.0.2-1 +- update for upstream release. +- Added python-pygments/python3-pygments to BuildRequires. + +* Thu Jun 18 2015 Fedora Release Engineering - 1.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat May 10 2014 Orion Poplawski - 1.6-2 +- Rebuild for Python 3.4 + +* Tue Nov 26 2013 Steve Milner - 1.6-1 +- update for upstream release. + +* Sun Aug 04 2013 Fedora Release Engineering - 1.4-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 1.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sat Aug 04 2012 David Malcolm - 1.4-7 +- rebuild for https://fedoraproject.org/wiki/Features/Python_3.3 + +* Fri Aug 3 2012 David Malcolm - 1.4-6 +- remove rhel logic from with_python3 conditional + +* Sat Jul 21 2012 Fedora Release Engineering - 1.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Fedora Release Engineering - 1.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Sep 13 2011 Toshio Kuratomi - 1.4-3 +- Really enable the python3 unittests. +- Fix python26 byte compilation (thanks to Jeffrey Ness) + +* Sat Sep 10 2011 Toshio Kuratomi - 1.4-2 +- Fix python main package having dependencies for the python2.6 subpackage +- Fix places that used the default python instead of python26 +- Attempt to make byte compilation more robust in case we add python3 to EPEL5 +- Run unittests on python3 in F15+ + +* Fri Jun 24 2011 Steve Milner - 1.4-1 +- update for upstream release +- Add python2.6 support done by Steve Traylen . BZ#662755. + +* Tue Feb 08 2011 Fedora Release Engineering - 1.3.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Aug 25 2010 Thomas Spura - 1.3.1-7 +- update to most recent python guidelines +- rebuild with python3.2 + http://lists.fedoraproject.org/pipermail/devel/2010-August/141368.html + +* Thu Jul 22 2010 David Malcolm - 1.3.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Thu May 6 2010 Gareth Armstrong - 1.3.1-5 +- Enforce that Pygments requires Python 2.4 or later via an explicit BR +- Minor tweaks to spec file +- Deliver html and reST doc files to specifically named directories +- Align description with that of http://pygments.org/ +- Add %%check section for Python2 and add BR on python-nose + +* Fri Apr 23 2010 Steve 'Ashcrow' Milner - 1.3.1-4 +- switched with_python3 back to 1 + +* Fri Apr 23 2010 David Malcolm - 1.3.1-3 +- add python3 subpackage (BZ#537244), ignoring soft-dep on imaging for now + +* Tue Apr 13 2010 Steve 'Ashcrow' Milner - 1.3.1-2 +- added python-imaging as a dependency per BZ#581663. + +* Sat Mar 6 2010 Steve 'Ashcrow' Milner - 1.3.1-1 +- Updated for release. + +* Tue Sep 29 2009 Steve 'Ashcrow' Milner - 1.1.1-1 +- Updated for release. + +* Sun Jul 26 2009 Fedora Release Engineering - 1.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Feb 26 2009 Fedora Release Engineering - 1.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sun Dec 21 2008 Steve 'Ashcrow' Milner - 1.0-3 +- Updated for release. + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 1.0-2 +- Rebuild for Python 2.6 + +* Thu Nov 27 2008 Steve 'Ashcrow' Milner - 1.0-1 +- Updated for upstream 1.0. + +* Sun Sep 14 2008 Steve 'Ashcrow' Milner - 0.11.1-1 +- Updated for upstream 0.11. + +* Mon Jul 21 2008 Steve 'Ashcrow' Milner - 0.10-1 +- Updated for upstream 0.10. + +* Thu Nov 29 2007 Steve 'Ashcrow' Milner - 0.9-2 +- Added python-setuptools as a Requires per bz#403601. + +* Mon Nov 12 2007 Steve 'Ashcrow' Milner - 0.9-1 +- Updated for upstream 0.9. + +* Fri Aug 17 2007 Steve 'Ashcrow' Milner - 0.8.1-2 +- Removed the dos2unix build dependency. + +* Thu Jun 28 2007 Steve 'Ashcrow' Milner - 0.8.1-1 +- Initial packaging for Fedora.