%if 0%{?fedora} > 12 %global with_python3 1 %else %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} %endif %global __python /usr/bin/python2 %global srcname Flask %global srcversion 0.10.1 Name: python-flask Version: 0.10.1 Release: 7%{?dist} Epoch: 1 Summary: A micro-framework for Python based on Werkzeug, Jinja 2 and good intentions Group: Development/Libraries License: BSD URL: http://flask.pocoo.org/ Source0: http://pypi.python.org/packages/source/F/Flask/%{srcname}-%{srcversion}.tar.gz Patch0: CVE-2018-1000656.patch Patch1: 0002-Added-SESSION_REFRESH_EACH_REQUEST-config-option.patch Patch2: 0003-set-session-accessed-for-setdefault.patch Patch3: 0004-Append-a-Vary-Cookie-header-to-the-response-when-the.patch Patch4: 0005-set-Vary-Cookie-header-consistently-for-session.patch Patch5: 0006-Add-Vary-cookie-tests.patch BuildArch: noarch BuildRequires: python2-devel python-setuptools python-werkzeug python-sphinx Requires: python-werkzeug %if 0%{?rhel} < 7 BuildRequires: python-jinja2 BuildRequires: python-itsdangerous Requires: python-jinja2 Requires: python-itsdangerous %else BuildRequires: python-jinja2 BuildRequires: python-itsdangerous Requires: python-jinja2 Requires: python-itsdangerous %endif %description Flask is called a “micro-framework” because the idea to keep the core simple but extensible. There is no database abstraction layer, no form validation or anything else where different libraries already exist that can handle that. However Flask knows the concept of extensions that can add this functionality into your application as if it was implemented in Flask itself. There are currently extensions for object relational mappers, form validation, upload handling, various open authentication technologies and more. %package doc Summary: Documentation for %{name} Group: Documentation Requires: %{name} = %{epoch}:%{version}-%{release} %description doc Documentation and examples for %{name}. %if 0%{?with_python3} %package -n python3-flask Summary: A micro-framework for Python based on Werkzeug, Jinja 2 and good intentions BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-jinja2 BuildRequires: python3-werkzeug #BuildRequires: python3-sphinx BuildRequires: python3-itsdangerous Requires: python3-jinja2 Requires: python3-werkzeug Requires: python3-itsdangerous %description -n python3-flask Flask is called a “micro-framework” because the idea to keep the core simple but extensible. There is no database abstraction layer, no form validation or anything else where different libraries already exist that can handle that. However Flask knows the concept of extensions that can add this functionality into your application as if it was implemented in Flask itself. There are currently extensions for object relational mappers, form validation, upload handling, various open authentication technologies and more. %package -n python3-flask-doc Summary: Documentation for python3-flask Group: Documentation Requires: python3-flask = %{epoch}:%{version}-%{release} %description -n python3-flask-doc Documentation and examples for python3-flask. %endif %prep %setup -q -n %{srcname}-%{srcversion} %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %{__sed} -i "/platforms/ a\ requires=['Jinja2 (>=2.4)']," setup.py %if 0%{?with_python3} rm -rf %{py3dir} cp -a . %{py3dir} find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|' %endif %build %{__python} setup.py build %if 0%{?with_python3} pushd %{py3dir} %{__python3} setup.py build popd %endif %install %{__python} setup.py install -O1 --skip-build --root %{buildroot} # Need to install flask in the setuptools "develop" mode to build docs # The BuildRequires on Werkzeug, Jinja2 and Sphinx is due to this as well. export PYTHONPATH=%{buildroot}%{python_sitelib} %{__python} setup.py develop --install-dir %{buildroot}%{python_sitelib} make -C docs html rm -rf %{buildroot}%{python_sitelib}/site.py rm -rf %{buildroot}%{python_sitelib}/site.py[co] rm -rf %{buildroot}%{python_sitelib}/easy-install.pth rm -rf docs/_build/html/.buildinfo rm -rf examples/minitwit/*.pyc rm -rf examples/flaskr/*.pyc rm -rf examples/jqueryexample/*.pyc %if 0%{?with_python3} pushd %{py3dir} %{__python3} setup.py install -O1 --skip-build --root %{buildroot} # Need to install flask in the setuptools "develop" mode to build docs # The BuildRequires on Werkzeug, Jinja2 and Sphinx is due to this as well. export PYTHONPATH=%{buildroot}%{python3_sitelib} %{__python3} setup.py develop --install-dir %{buildroot}%{python3_sitelib} #make -C docs html rm -rf %{buildroot}%{python3_sitelib}/site.py rm -rf %{buildroot}%{python3_sitelib}/site.py[co] rm -rf %{buildroot}%{python3_sitelib}/easy-install.pth rm -rf %{buildroot}%{python3_sitelib}/__pycache__/site.cpython-33.pyc rm -rf docs/_build/html/.buildinfo rm -rf examples/minitwit/*.pyc rm -rf examples/flaskr/*.pyc rm -rf examples/jqueryexample/*.pyc popd %endif %check %{__python} setup.py test #if 0%{?with_python3} #pushd %{py3dir} #{__python3} setup.py test #popd #endif %files %doc AUTHORS LICENSE PKG-INFO CHANGES README %{python_sitelib}/*.egg-info %{python_sitelib}/*.egg-link %{python_sitelib}/flask %files doc %doc docs/_build/html examples %if 0%{?with_python3} %files -n python3-flask %doc AUTHORS LICENSE PKG-INFO CHANGES README %{python3_sitelib}/*.egg-info %{python3_sitelib}/*.egg-link %{python3_sitelib}/flask %files -n python3-flask-doc %doc docs/_build/html examples %endif %changelog * Mon May 15 2023 Josh Boyer - 1:0.10.1-7 - Fix CVE-2023-30861 (RHBZ #2196677 2196643) * Tue Mar 03 2020 Josh Boyer - 1:0.10.1-5 - Fix CVE-2018-1000656 Denial of Service via crafted JSON (RHBZ #1633596) * Tue Apr 29 2014 Lokesh Mandvekar - 1:0.10.1-4 - Rebuilt for RHEL 7 - tests disabled * Mon Jul 29 2013 Haïkel Guémar - 1:0.10.1-3 - fix wrong requires on sphinx (RHBZ #989361) * Sat Jul 20 2013 Ricky Elrod - 1:0.10.1-2 - Nuke a Python3 specific file owned by python3-setuptools. * Sat Jun 15 2013 Haïkel Guémar - 1:0.10.1-1 - upstream 0.10.1 * Thu Feb 14 2013 Fedora Release Engineering - 1:0.9-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Fri Aug 17 2012 Ricky Elrod - 0.9-5 - Add epoch to subpackage Requires. * Wed Aug 8 2012 Ricky Elrod - 0.9-4 - Fix changelog messup. * Wed Aug 8 2012 Ricky Elrod - 0.9-3 - Unified spec for EL6 and Fedora * Sat Jul 21 2012 Fedora Release Engineering - 0.9.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Mon Jul 2 2012 Haïkel Guémar - 0.9.0-1 - upstream 0.9 - spec cleanups * Sun Jul 1 2012 Haïkel Guémar - 0.8.1-1 - upstream 0.8.1 (minor bugfixes) * Wed Jan 25 2012 Haïkel Guémar - 0.8.0-1 - upstream 0.8 * Sat Jan 14 2012 Fedora Release Engineering - 0.7.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Wed Nov 16 2011 Dan Young - 0.7.2-2 - don't own easy-install.pth * Fri Jul 22 2011 Steve Milner - 0.7.2-1 - update for upstream release * Thu Feb 24 2011 Dan Young - 0.6.1-2 - fix rpmlint spelling warning - BR python2-devel rather than python-devel - run test suite in check * Tue Feb 22 2011 Dan Young - 0.6.1-1 - Initial package