Compare commits

...

No commits in common. 'i10fe' and 'c8' have entirely different histories.
i10fe ... c8

2
.gitignore vendored

@ -1 +1 @@
SOURCES/flask-3.0.3.tar.gz
SOURCES/Flask-0.12.2.tar.gz

@ -1 +1 @@
87957f0f9606f52506b15156b3fea74191d932a9 SOURCES/flask-3.0.3.tar.gz
8193757ded6a4f0e7c9a3ce291bf3ae3a1d402c5 SOURCES/Flask-0.12.2.tar.gz

@ -0,0 +1,167 @@
From 50062c4d8c4108d17b7f12d9518ce883956d3921 Mon Sep 17 00:00:00 2001
From: David Lord <davidism@gmail.com>
Date: Tue, 10 Apr 2018 09:29:48 -0700
Subject: [PATCH] detect UTF encodings when loading json
(cherry picked from commit 0e1e9a04aaf29ab78f721cfc79ac2a691f6e3929)
---
flask/json.py | 49 ++++++++++++++++++++++++++++++++++++++++++-
flask/wrappers.py | 13 +++---------
tests/test_helpers.py | 28 ++++++++++++++-----------
3 files changed, 67 insertions(+), 23 deletions(-)
diff --git a/flask/json.py b/flask/json.py
index 16e0c29..114873e 100644
--- a/flask/json.py
+++ b/flask/json.py
@@ -8,6 +8,7 @@
:copyright: (c) 2015 by Armin Ronacher.
:license: BSD, see LICENSE for more details.
"""
+import codecs
import io
import uuid
from datetime import date
@@ -108,6 +109,49 @@ def _load_arg_defaults(kwargs):
kwargs.setdefault('cls', JSONDecoder)
+def detect_encoding(data):
+ """Detect which UTF codec was used to encode the given bytes.
+
+ The latest JSON standard (:rfc:`8259`) suggests that only UTF-8 is
+ accepted. Older documents allowed 8, 16, or 32. 16 and 32 can be big
+ or little endian. Some editors or libraries may prepend a BOM.
+
+ :param data: Bytes in unknown UTF encoding.
+ :return: UTF encoding name
+ """
+ head = data[:4]
+
+ if head[:3] == codecs.BOM_UTF8:
+ return 'utf-8-sig'
+
+ if b'\x00' not in head:
+ return 'utf-8'
+
+ if head in (codecs.BOM_UTF32_BE, codecs.BOM_UTF32_LE):
+ return 'utf-32'
+
+ if head[:2] in (codecs.BOM_UTF16_BE, codecs.BOM_UTF16_LE):
+ return 'utf-16'
+
+ if len(head) == 4:
+ if head[:3] == b'\x00\x00\x00':
+ return 'utf-32-be'
+
+ if head[::2] == b'\x00\x00':
+ return 'utf-16-be'
+
+ if head[1:] == b'\x00\x00\x00':
+ return 'utf-32-le'
+
+ if head[1::2] == b'\x00\x00':
+ return 'utf-16-le'
+
+ if len(head) == 2:
+ return 'utf-16-be' if head.startswith(b'\x00') else 'utf-16-le'
+
+ return 'utf-8'
+
+
def dumps(obj, **kwargs):
"""Serialize ``obj`` to a JSON formatted ``str`` by using the application's
configured encoder (:attr:`~flask.Flask.json_encoder`) if there is an
@@ -142,7 +186,10 @@ def loads(s, **kwargs):
"""
_load_arg_defaults(kwargs)
if isinstance(s, bytes):
- s = s.decode(kwargs.pop('encoding', None) or 'utf-8')
+ encoding = kwargs.pop('encoding', None)
+ if encoding is None:
+ encoding = detect_encoding(s)
+ s = s.decode(encoding)
return _json.loads(s, **kwargs)
diff --git a/flask/wrappers.py b/flask/wrappers.py
index 04bdcb5..3e600fc 100644
--- a/flask/wrappers.py
+++ b/flask/wrappers.py
@@ -144,17 +144,10 @@ class Request(RequestBase):
if not (force or self.is_json):
return None
- # We accept a request charset against the specification as
- # certain clients have been using this in the past. This
- # fits our general approach of being nice in what we accept
- # and strict in what we send out.
- request_charset = self.mimetype_params.get('charset')
+ data = _get_data(self, cache)
+
try:
- data = _get_data(self, cache)
- if request_charset is not None:
- rv = json.loads(data, encoding=request_charset)
- else:
- rv = json.loads(data)
+ rv = json.loads(data)
except ValueError as e:
if silent:
rv = None
diff --git a/tests/test_helpers.py b/tests/test_helpers.py
index 9320ef7..9990782 100644
--- a/tests/test_helpers.py
+++ b/tests/test_helpers.py
@@ -21,6 +21,8 @@ from werkzeug.datastructures import Range
from werkzeug.exceptions import BadRequest, NotFound
from werkzeug.http import parse_cache_control_header, parse_options_header
from werkzeug.http import http_date
+
+from flask import json
from flask._compat import StringIO, text_type
@@ -34,6 +36,20 @@ def has_encoding(name):
class TestJSON(object):
+ @pytest.mark.parametrize('value', (
+ 1, 't', True, False, None,
+ [], [1, 2, 3],
+ {}, {'foo': u'🐍'},
+ ))
+ @pytest.mark.parametrize('encoding', (
+ 'utf-8', 'utf-8-sig',
+ 'utf-16-le', 'utf-16-be', 'utf-16',
+ 'utf-32-le', 'utf-32-be', 'utf-32',
+ ))
+ def test_detect_encoding(self, value, encoding):
+ data = json.dumps(value).encode(encoding)
+ assert json.detect_encoding(data) == encoding
+ assert json.loads(data) == value
def test_ignore_cached_json(self):
app = flask.Flask(__name__)
@@ -85,18 +101,6 @@ class TestJSON(object):
rv = c.post('/json', data='"foo"', content_type='application/x+json')
assert rv.data == b'foo'
- def test_json_body_encoding(self):
- app = flask.Flask(__name__)
- app.testing = True
- @app.route('/')
- def index():
- return flask.request.get_json()
-
- c = app.test_client()
- resp = c.get('/', data=u'"Hällo Wörld"'.encode('iso-8859-15'),
- content_type='application/json; charset=iso-8859-15')
- assert resp.data == u'Hällo Wörld'.encode('utf-8')
-
def test_json_as_unicode(self):
app = flask.Flask(__name__)
--
2.17.1

@ -0,0 +1,87 @@
From c52e1b7388c17466a551391cdf81964bf0b7aef0 Mon Sep 17 00:00:00 2001
From: ThiefMaster <adrian@planetcoding.net>
Date: Thu, 23 Nov 2017 10:32:13 +0100
Subject: [PATCH 2/3] Fix ValueError for some invalid Range requests
fixes #2526
---
CHANGES | 8 ++++++++
flask/helpers.py | 3 ++-
tests/test_helpers.py | 21 ++++++++++++++++++++-
3 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/CHANGES b/CHANGES
index 3456276a..b32b98cb 100644
--- a/CHANGES
+++ b/CHANGES
@@ -15,6 +15,14 @@ Major release, unreleased
method returns compressed response by default, and pretty response in
debug mode.
+Version 0.12.3
+--------------
+
+Bugfix release, unreleased
+
+- Fix a ValueError caused by invalid Range requests in some cases
+
+
Version 0.12.2
--------------
diff --git a/flask/helpers.py b/flask/helpers.py
index 4bb1d1c9..caaad9a3 100644
--- a/flask/helpers.py
+++ b/flask/helpers.py
@@ -591,7 +591,8 @@ def send_file(filename_or_fp, mimetype=None, as_attachment=False,
rv = rv.make_conditional(request, accept_ranges=True,
complete_length=fsize)
except RequestedRangeNotSatisfiable:
- file.close()
+ if file is not None:
+ file.close()
raise
else:
rv = rv.make_conditional(request)
diff --git a/tests/test_helpers.py b/tests/test_helpers.py
index 9320ef71..69350751 100644
--- a/tests/test_helpers.py
+++ b/tests/test_helpers.py
@@ -468,7 +468,7 @@ class TestSendfile(object):
@pytest.mark.skipif(
not callable(getattr(Range, 'to_content_range_header', None)),
- reason="not implement within werkzeug"
+ reason="not implemented within werkzeug"
)
def test_send_file_range_request(self):
app = flask.Flask(__name__)
@@ -529,6 +529,25 @@ class TestSendfile(object):
assert rv.status_code == 200
rv.close()
+ @pytest.mark.skipif(
+ not callable(getattr(Range, 'to_content_range_header', None)),
+ reason="not implemented within werkzeug"
+ )
+ def test_send_file_range_request_xsendfile_invalid(self):
+ # https://github.com/pallets/flask/issues/2526
+ app = flask.Flask(__name__)
+ app.use_x_sendfile = True
+
+ @app.route('/')
+ def index():
+ return flask.send_file('static/index.html', conditional=True)
+
+ c = app.test_client()
+
+ rv = c.get('/', headers={'Range': 'bytes=1000-'})
+ assert rv.status_code == 416
+ rv.close()
+
def test_attachment(self):
app = flask.Flask(__name__)
with app.test_request_context():
--
2.21.0

@ -0,0 +1,47 @@
From 18c9db47940c1195809a0c82fcb85601c3f4df46 Mon Sep 17 00:00:00 2001
From: David Lord <davidism@gmail.com>
Date: Sun, 4 Jun 2017 12:26:21 -0700
Subject: [PATCH 3/3] be smarter about adding ".cli" to reloader command python
-m flask.cli raises an import warning on > 2.6 it's only needed on 2.6,
"flask" works otherwise
---
flask/cli.py | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/flask/cli.py b/flask/cli.py
index 074ee768..ca455671 100644
--- a/flask/cli.py
+++ b/flask/cli.py
@@ -494,19 +494,19 @@ Example usage:
def main(as_module=False):
- this_module = __package__ + '.cli'
args = sys.argv[1:]
if as_module:
- if sys.version_info >= (2, 7):
- name = 'python -m ' + this_module.rsplit('.', 1)[0]
- else:
- name = 'python -m ' + this_module
+ this_module = 'flask'
+
+ if sys.version_info < (2, 7):
+ this_module += '.cli'
+
+ name = 'python -m ' + this_module
- # This module is always executed as "python -m flask.run" and as such
- # we need to ensure that we restore the actual command line so that
- # the reloader can properly operate.
- sys.argv = ['-m', this_module] + sys.argv[1:]
+ # Python rewrites "python -m flask" to the path to the file in argv.
+ # Restore the original command so that the reloader works.
+ sys.argv = ['-m', this_module] + args
else:
name = None
--
2.21.0

@ -1,25 +1,32 @@
## START: Set by rpmautospec
## (rpmautospec version 0.6.5)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
release_number = 6;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec
%if 0%{?rhel} > 7
# Disable python2 build by default
%bcond_with python2
%else
%bcond_without python2
%endif
%global modname flask
%global srcname flask
%global srcname Flask
Name: python-%{modname}
Version: 3.0.3
Release: %autorelease
Version: 0.12.2
Release: 4%{?dist}
Epoch: 1
Summary: A micro-framework for Python based on Werkzeug, Jinja 2 and good intentions
License: BSD
URL: http://flask.pocoo.org/
Source0: %{pypi_source}
Source0: https://github.com/pallets/flask/releases/download/%{version}/Flask-%{version}.tar.gz
# rhbz#1623180
# Backported just this patch because 0.12.3+ have added other changes we cannot take.
Patch0001: 0001-detect-UTF-encodings-when-loading-json.patch
# rhbz#1585318
# Backport 0.12.4 changes, other than the theme changes which cause no end of problems since
# they depend on their own pallets_sphinx_theme module.
Patch0002: 0002-Fix-ValueError-for-some-invalid-Range-requests.patch
Patch0003: 0003-be-smarter-about-adding-.cli-to-reloader-command.patch
BuildArch: noarch
@ -35,196 +42,142 @@ authentication technologies and more.
%description %{_description}
%package -n python3-%{modname}
%if %{with python2}
%package -n python2-%{modname}
Summary: %{summary}
BuildRequires: make
BuildRequires: python3-devel
%description -n python3-%{modname} %{_description}
%{?python_provide:%python_provide python2-%{modname}}
BuildRequires: python2-devel
BuildRequires: python2-setuptools
BuildRequires: python2-pytest
%if 0%{?fedora} >= 26
BuildRequires: python2-werkzeug
Requires: python2-werkzeug
BuildRequires: python2-jinja2
Requires: python2-jinja2
BuildRequires: python2-click
Requires: python2-click
BuildRequires: python2-itsdangerous
Requires: python2-itsdangerous
%else
BuildRequires: python-werkzeug
Requires: python-werkzeug
BuildRequires: python-jinja2
Requires: python-jinja2
BuildRequires: python-click
Requires: python-click
BuildRequires: python-itsdangerous
Requires: python-itsdangerous
%endif
%description -n python2-%{modname} %{_description}
Python 2 version.
%endif # with python2
%package -n python%{python3_pkgversion}-%{modname}
Summary: %{summary}
%{?python_provide:%python_provide python%{python3_pkgversion}-%{modname}}
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-setuptools
BuildRequires: python%{python3_pkgversion}-pytest
BuildRequires: python%{python3_pkgversion}-jinja2
BuildRequires: python%{python3_pkgversion}-werkzeug
BuildRequires: python%{python3_pkgversion}-itsdangerous
BuildRequires: python%{python3_pkgversion}-click
Requires: python%{python3_pkgversion}-jinja2
Requires: python%{python3_pkgversion}-werkzeug
Requires: python%{python3_pkgversion}-itsdangerous
Requires: python%{python3_pkgversion}-click
%description -n python%{python3_pkgversion}-%{modname} %{_description}
Python 3 version.
%package doc
Summary: Documentation for %{name}
Obsoletes: python%{python3_pkgversion}-%{modname}-doc < 1:0.11.1-3
BuildRequires: python3-sphinx
%description doc
Documentation and examples for %{name}.
%pyproject_extras_subpkg -n python3-%{modname} async
%generate_buildrequires
# -t picks test.txt by default which contains too tight pins
%pyproject_buildrequires -x async requirements/tests.in requirements/docs.in
%prep
%autosetup -n %{srcname}-%{version}
%autosetup -p1 -n %{srcname}-%{version}
rm -rf examples/flaskr/
rm -rf examples/minitwit/
%build
%pyproject_wheel
%if %{with python2}
%py2_build
%endif # with python2
%py3_build
PYTHONPATH=`pwd` sphinx-build-3 -b html docs/ docs/_build/html/
rm -rf docs/_build/html/{.buildinfo,.doctrees}
%install
%pyproject_install
%pyproject_save_files %{modname}
%if %{with python2}
%py2_install
mv %{buildroot}%{_bindir}/%{modname}{,-%{python2_version}}
ln -s %{modname}-%{python2_version} %{buildroot}%{_bindir}/%{modname}-2
%endif # with python2
%py3_install
mv %{buildroot}%{_bindir}/%{modname}{,-%{python3_version}}
ln -s %{modname}-%{python3_version} %{buildroot}%{_bindir}/%{modname}-3
ln -sf %{modname}-3 %{buildroot}%{_bindir}/%{modname}
pushd docs
# PYTHONPATH to prevent "'Flask' must be installed to build the documentation."
make PYTHONPATH=%{buildroot}/%{python3_sitelib} SPHINXBUILD=sphinx-build-3 html
rm -v _build/html/.buildinfo
popd
%if %{with python2}
ln -sf %{modname}-2 %{buildroot}%{_bindir}/%{modname}
%else
ln -sf %{modname}-3 %{buildroot}%{_bindir}/%{modname}
%endif # with python2
%check
%pytest -Wdefault
export LC_ALL=C.UTF-8
%if %{with python2}
PYTHONPATH=%{buildroot}%{python2_sitelib} py.test-%{python2_version} -v
%endif # with python2
PYTHONPATH=%{buildroot}%{python3_sitelib} py.test-%{python3_version} -v || :
%if %{with python2}
%files -n python2-%{modname}
%license LICENSE
%doc CHANGES README
%{_bindir}/%{modname}-2
%{_bindir}/%{modname}-%{python2_version}
%{python2_sitelib}/%{srcname}-*.egg-info/
%{python2_sitelib}/%{modname}/
%files -n python3-%{modname} -f %{pyproject_files}
%license LICENSE.txt
%doc CHANGES.rst README.md
%{_bindir}/%{modname}
%endif # with python2
%files -n python%{python3_pkgversion}-%{modname}
%license LICENSE
%doc CHANGES README
%{_bindir}/%{modname}-3
%{_bindir}/%{modname}-%{python3_version}
%{python3_sitelib}/%{srcname}-*.egg-info/
%{python3_sitelib}/%{modname}/
%if %{without python2}
%{_bindir}/%{modname}
%endif # without python2
%files doc
%license LICENSE.txt
%license LICENSE
%doc docs/_build/html examples
%changelog
* Thu Dec 26 2024 Dmitriy Samoylik <samoylikdv@msvsphere-os.ru> - 3.0.3-6
- Rebuilt for MSVSphere 10
## START: Generated by rpmautospec
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.0.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sun Jun 09 2024 Python Maint <python-maint@redhat.com> - 1:3.0.3-5
- Rebuilt for Python 3.13
* Wed Apr 10 2024 Frantisek Zatloukal <fzatlouk@redhat.com> - 3.0.3-1
- Update to 3.0.3 (fixes RHBZ#2273889)
* Mon Feb 05 2024 Frantisek Zatloukal <fzatlouk@redhat.com> - 3.0.2-1
- Update to 3.0.2 (fixes RHBZ#2262551)
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 22 2024 Frantisek Zatloukal <fzatlouk@redhat.com> - 3.0.1-1
- Update to 3.0.1 (fixes RHBZ#2259051)
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Dec 06 2023 Frantisek Zatloukal <fzatlouk@redhat.com> - 3.0.0-1
- Update to 3.0.0 (fixes RHBZ#2189630)
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.2.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Fri Jun 16 2023 Python Maint <python-maint@redhat.com> - 1:2.2.5-2
- Rebuilt for Python 3.12
* Tue May 09 2023 Frantisek Zatloukal <fzatlouk@redhat.com> - 2.2.5-1
- Update to 2.2.5 (fixes RHBZ#2196644)
* Mon Feb 20 2023 Frantisek Zatloukal <fzatlouk@redhat.com> - 2.2.3-1
- Update to 2.2.3 (fixes RHBZ#2170230)
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.2.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Aug 09 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 2.2.2-1
- Update to 2.2.2 (closes RHBZ#2116586)
* Thu Aug 04 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 2.2.1-1
- Update to 2.2.1 (closes RHBZ#2113719)
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.1.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Nov 07 2019 Brian C. Lane <bcl@redhat.com> - 0.12.2-4
- Add upstream changes from 0.12.4
Resolves: rhbz#1585318
- Add TestJSON to the gating test from upstream
Related: rhbz#1585318
* Mon Jul 18 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 2.1.3-1
- Update to 2.1.3
* Wed Sep 05 2018 Brian C. Lane <bcl@redhat.com> - 0.12.2-3
- detect UTF encodings when loading json (CVE-2018-1000656)
Resolves: rhbz#1623180
* Tue Jun 14 2022 Python Maint <python-maint@redhat.com> - 1:2.1.2-2
- Rebuilt for Python 3.11
* Wed May 11 2022 Charalampos Stratakis <cstratak@redhat.com> - 2.1.2-1
- Update to 2.1.2
- Fixes: rhbz#2069375
* Mon Feb 21 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 2.0.3-1
- Update to 2.0.3
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Nov 10 2021 Frantisek Zatloukal <fzatlouk@redhat.com> - 2.0.2-1
- Update to 2.0.2
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jun 22 2021 Lumír Balhar <lbalhar@redhat.com> - 2.0.1-1
- Update to 2.0.1
Resolves: rhbz#1950465
* Thu Jun 03 2021 Python Maint <python-maint@redhat.com> - 1:1.1.2-6
- Rebuilt for Python 3.10
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.1.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.1.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sun May 24 2020 Miro Hrončok <mhroncok@redhat.com> - 1:1.1.2-3
- Rebuilt for Python 3.9
* Wed Apr 08 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 1:1.1.2-2
- Simplify packaging
* Fri Apr 03 2020 Fedora Release Monitoring <release-monitoring@fedoraproject.org> - 1:1.1.2-1
- Update to 1.1.2 (#1820730)
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Jan 07 2020 Miro Hrončok <mhroncok@redhat.com> - 1:1.1.1-1
- Update to 1.1.1 (#1711414)
* Wed Oct 30 2019 Miro Hrončok <mhroncok@redhat.com> - 1:1.0.2-9
- Obsolete proper version of python2-flask to fix an upgrade path issue (#1767198)
* Wed Sep 18 2019 Miro Hrončok <mhroncok@redhat.com> - 1:1.0.2-8
- Subpackage python2-flask has been removed
See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal
* Sat Aug 17 2019 Miro Hrončok <mhroncok@redhat.com> - 1:1.0.2-7
- Rebuilt for Python 3.8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.0.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Mar 08 2019 François Cami <fcami@fedoraproject.org> - 1:1.0.2-5
- Remove python2-sphinx dependency since it's not used anymore.
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.0.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.0.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Jun 18 2018 Miro Hrončok <mhroncok@redhat.com> - 1:1.0.2-2
- Rebuilt for Python 3.7
* Fri Jun 01 2018 Ken Dreyer <ktdreyer@ktdreyer.com> 1:1.0.2-1
- Update to 1.0.2 (rhbz#1572414)
- Do not build Sphinx docs (pallet-sphinx-themes not available)
* Fri Apr 27 2018 Ricky Elrod <relrod@redhat.com> - 1:1.0-1
- new version
* Wed Jun 20 2018 Charalampos Stratakis <cstratak@redhat.com> - 1:0.12.2-2
- Conditionalize the python2 subpackage
* Thu Feb 15 2018 itamar <itamar@ispbrasil.com.br> - 1:0.12.2-1
- new version
@ -325,5 +278,3 @@ Resolves: rhbz#1950465
* Tue Feb 22 2011 Dan Young <dyoung@mesd.k12.or.us> - 0.6.1-1
- Initial package
## END: Generated by rpmautospec

Loading…
Cancel
Save