8a7204
%if 0%{?rhel} > 7
8a7204
# Disable python2 build by default
8a7204
%bcond_with python2
8a7204
%else
8a7204
%bcond_without python2
8a7204
%endif
8a7204
8a7204
%global modname flask
8a7204
%global srcname Flask
8a7204
8a7204
Name:           python-%{modname}
8a7204
Version:        0.12.2
8a7204
Release:        3%{?dist}
8a7204
Epoch:          1
8a7204
Summary:        A micro-framework for Python based on Werkzeug, Jinja 2 and good intentions
8a7204
8a7204
License:        BSD
8a7204
URL:            http://flask.pocoo.org/
8a7204
Source0:        https://files.pythonhosted.org/packages/source/%(n=%{srcname}; echo ${n:0:1})/%{srcname}/%{srcname}-%{version}.tar.gz
8a7204
8a7204
# rhbz#1623180
8a7204
# Backported just this patch because 0.12.3+ have added other changes we cannot take.
8a7204
Patch0001:      0001-detect-UTF-encodings-when-loading-json.patch
8a7204
8a7204
BuildArch:      noarch
8a7204
8a7204
%global _description \
8a7204
Flask is called a “micro-framework” because the idea to keep the core\
8a7204
simple but extensible. There is no database abstraction layer, no form\
8a7204
validation or anything else where different libraries already exist\
8a7204
that can handle that. However Flask knows the concept of extensions\
8a7204
that can add this functionality into your application as if it was\
8a7204
implemented in Flask itself. There are currently extensions for object\
8a7204
relational mappers, form validation, upload handling, various open\
8a7204
authentication technologies and more.
8a7204
8a7204
%description %{_description}
8a7204
8a7204
%if %{with python2}
8a7204
%package -n python2-%{modname}
8a7204
Summary:        %{summary}
8a7204
%{?python_provide:%python_provide python2-%{modname}}
8a7204
BuildRequires:  python2-devel
8a7204
BuildRequires:  python2-setuptools
8a7204
BuildRequires:  python2-pytest
8a7204
%if 0%{?fedora} >= 26
8a7204
BuildRequires:  python2-werkzeug
8a7204
Requires:       python2-werkzeug
8a7204
BuildRequires:  python2-jinja2
8a7204
Requires:       python2-jinja2
8a7204
BuildRequires:  python2-click
8a7204
Requires:       python2-click
8a7204
BuildRequires:  python2-itsdangerous
8a7204
Requires:       python2-itsdangerous
8a7204
%else
8a7204
BuildRequires:  python-werkzeug
8a7204
Requires:       python-werkzeug
8a7204
BuildRequires:  python-jinja2
8a7204
Requires:       python-jinja2
8a7204
BuildRequires:  python-click
8a7204
Requires:       python-click
8a7204
BuildRequires:  python-itsdangerous
8a7204
Requires:       python-itsdangerous
8a7204
%endif
8a7204
%description -n python2-%{modname} %{_description}
8a7204
8a7204
Python 2 version.
8a7204
%endif # with python2
8a7204
8a7204
%package -n python%{python3_pkgversion}-%{modname}
8a7204
Summary:        %{summary}
8a7204
%{?python_provide:%python_provide python%{python3_pkgversion}-%{modname}}
8a7204
BuildRequires:  python%{python3_pkgversion}-devel
8a7204
BuildRequires:  python%{python3_pkgversion}-setuptools
8a7204
BuildRequires:  python%{python3_pkgversion}-pytest
8a7204
BuildRequires:  python%{python3_pkgversion}-jinja2
8a7204
BuildRequires:  python%{python3_pkgversion}-werkzeug
8a7204
BuildRequires:  python%{python3_pkgversion}-itsdangerous
8a7204
BuildRequires:  python%{python3_pkgversion}-click
8a7204
Requires:       python%{python3_pkgversion}-jinja2
8a7204
Requires:       python%{python3_pkgversion}-werkzeug
8a7204
Requires:       python%{python3_pkgversion}-itsdangerous
8a7204
Requires:       python%{python3_pkgversion}-click
8a7204
8a7204
%description -n python%{python3_pkgversion}-%{modname} %{_description}
8a7204
8a7204
Python 3 version.
8a7204
8a7204
%package doc
8a7204
Summary:        Documentation for %{name}
8a7204
Obsoletes:      python%{python3_pkgversion}-%{modname}-doc < 1:0.11.1-3
8a7204
BuildRequires:  python3-sphinx
8a7204
8a7204
%description doc
8a7204
Documentation and examples for %{name}.
8a7204
8a7204
%prep
8a7204
%autosetup -p1 -n %{srcname}-%{version}
8a7204
rm -rf examples/flaskr/
8a7204
rm -rf examples/minitwit/
8a7204
8a7204
%build
8a7204
%if %{with python2}
8a7204
%py2_build
8a7204
%endif # with python2
8a7204
%py3_build
8a7204
PYTHONPATH=`pwd` sphinx-build-3 -b html docs/ docs/_build/html/
8a7204
rm -rf docs/_build/html/{.buildinfo,.doctrees}
8a7204
8a7204
%install
8a7204
%if %{with python2}
8a7204
%py2_install
8a7204
mv %{buildroot}%{_bindir}/%{modname}{,-%{python2_version}}
8a7204
ln -s %{modname}-%{python2_version} %{buildroot}%{_bindir}/%{modname}-2
8a7204
%endif # with python2
8a7204
8a7204
%py3_install
8a7204
mv %{buildroot}%{_bindir}/%{modname}{,-%{python3_version}}
8a7204
ln -s %{modname}-%{python3_version} %{buildroot}%{_bindir}/%{modname}-3
8a7204
8a7204
%if %{with python2}
8a7204
ln -sf %{modname}-2 %{buildroot}%{_bindir}/%{modname}
8a7204
%else
8a7204
ln -sf %{modname}-3 %{buildroot}%{_bindir}/%{modname}
8a7204
%endif # with python2
8a7204
8a7204
%check
8a7204
export LC_ALL=C.UTF-8
8a7204
%if %{with python2}
8a7204
PYTHONPATH=%{buildroot}%{python2_sitelib} py.test-%{python2_version} -v
8a7204
%endif # with python2
8a7204
PYTHONPATH=%{buildroot}%{python3_sitelib} py.test-%{python3_version} -v || :
8a7204
8a7204
%if %{with python2}
8a7204
%files -n python2-%{modname}
8a7204
%license LICENSE
8a7204
%doc CHANGES README
8a7204
%{_bindir}/%{modname}-2
8a7204
%{_bindir}/%{modname}-%{python2_version}
8a7204
%{python2_sitelib}/%{srcname}-*.egg-info/
8a7204
%{python2_sitelib}/%{modname}/
8a7204
8a7204
%{_bindir}/%{modname}
8a7204
%endif # with python2
8a7204
8a7204
%files -n python%{python3_pkgversion}-%{modname}
8a7204
%license LICENSE
8a7204
%doc CHANGES README
8a7204
%{_bindir}/%{modname}-3
8a7204
%{_bindir}/%{modname}-%{python3_version}
8a7204
%{python3_sitelib}/%{srcname}-*.egg-info/
8a7204
%{python3_sitelib}/%{modname}/
8a7204
8a7204
%if %{without python2}
8a7204
%{_bindir}/%{modname}
8a7204
%endif # without python2
8a7204
8a7204
%files doc
8a7204
%license LICENSE
8a7204
%doc docs/_build/html examples
8a7204
8a7204
%changelog
8a7204
* Wed Sep 05 2018 Brian C. Lane <bcl@redhat.com> - 0.12.2-3
8a7204
- detect UTF encodings when loading json (CVE-2018-1000656)
8a7204
  Resolves: rhbz#1623180
8a7204
8a7204
* Wed Jun 20 2018 Charalampos Stratakis <cstratak@redhat.com> - 1:0.12.2-2
8a7204
- Conditionalize the python2 subpackage
8a7204
8a7204
* Thu Feb 15 2018 itamar <itamar@ispbrasil.com.br> - 1:0.12.2-1
8a7204
- new version
8a7204
8a7204
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.11.1-8
8a7204
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
8a7204
8a7204
* Thu Jan 18 2018 Iryna Shcherbina <ishcherb@redhat.com> - 1:0.11.1-7
8a7204
- Update Python 2 dependency declarations to new packaging standards
8a7204
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
8a7204
8a7204
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.11.1-6
8a7204
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
8a7204
8a7204
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.11.1-5
8a7204
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
8a7204
8a7204
* Tue Dec 13 2016 Stratakis Charalampos <cstratak@redhat.com> - 1:0.11.1-4
8a7204
- Rebuild for Python 3.6
8a7204
- Have rpmbuild to not fail on python3 test failures
8a7204
8a7204
* Mon Aug 22 2016 Igor Gnatenko <ignatenko@redhat.com> - 1:0.11.1-3
8a7204
- Fix FTBFS
8a7204
- Ton of fixes in spec
8a7204
8a7204
* Tue Aug 16 2016 Ricky Elrod <relrod@redhat.com> - 1:0.11.1-2
8a7204
- Attempt a completely fresh build with new NVR.
8a7204
8a7204
* Tue Aug 16 2016 Ricky Elrod <relrod@redhat.com> - 1:0.11.1-1
8a7204
- Latest upstream release.
8a7204
8a7204
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.10.1-9
8a7204
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
8a7204
8a7204
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.10.1-8
8a7204
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
8a7204
8a7204
* Wed Oct 14 2015 Robert Kuska <rkuska@redhat.com> - 1:0.10.1-7
8a7204
- Rebuilt for Python3.5 rebuild
8a7204
8a7204
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.10.1-6
8a7204
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
8a7204
8a7204
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.10.1-5
8a7204
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
8a7204
8a7204
* Tue May 13 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 1:0.10.1-4
8a7204
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
8a7204
- Minor fix to rhel macro logic
8a7204
8a7204
* Mon Jul 29 2013 Haïkel Guémar <hguemar@fedoraproject.org> - 1:0.10.1-3
8a7204
- fix wrong requires on sphinx (RHBZ #989361)
8a7204
8a7204
* Sat Jul 20 2013 Ricky Elrod <codeblock@fedoraproject.org> - 1:0.10.1-2
8a7204
- Nuke a Python3 specific file owned by python3-setuptools.
8a7204
8a7204
* Sat Jun 15 2013 Haïkel Guémar <hguemar@fedoraproject.org> - 1:0.10.1-1
8a7204
- upstream 0.10.1
8a7204
8a7204
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.9-6
8a7204
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
8a7204
8a7204
* Fri Aug 17 2012 Ricky Elrod <codeblock@fedoraproject.org> - 0.9-5
8a7204
- Add epoch to subpackage Requires.
8a7204
8a7204
* Wed Aug 8 2012 Ricky Elrod <codeblock@fedoraproject.org> - 0.9-4
8a7204
- Fix changelog messup.
8a7204
8a7204
* Wed Aug 8 2012 Ricky Elrod <codeblock@fedoraproject.org> - 0.9-3
8a7204
- Unified spec for EL6 and Fedora
8a7204
8a7204
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.0-2
8a7204
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
8a7204
8a7204
* Mon Jul  2 2012 Haïkel Guémar <hguemar@fedoraproject.org> - 0.9.0-1
8a7204
- upstream 0.9
8a7204
- spec cleanups
8a7204
8a7204
* Sun Jul  1 2012 Haïkel Guémar <hguemar@fedoraproject.org> - 0.8.1-1
8a7204
- upstream 0.8.1 (minor bugfixes)
8a7204
8a7204
* Wed Jan 25 2012 Haïkel Guémar <hguemar@fedoraproject.org> - 0.8.0-1
8a7204
- upstream 0.8
8a7204
8a7204
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.2-3
8a7204
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
8a7204
8a7204
* Wed Nov 16 2011 Dan Young <dyoung@mesd.k12.or.us> - 0.7.2-2
8a7204
- don't own easy-install.pth
8a7204
8a7204
* Fri Jul 22 2011 Steve Milner <smilner@fedoraproject.org> - 0.7.2-1
8a7204
- update for upstream release
8a7204
8a7204
* Thu Feb 24 2011 Dan Young <dyoung@mesd.k12.or.us> - 0.6.1-2
8a7204
- fix rpmlint spelling warning
8a7204
- BR python2-devel rather than python-devel
8a7204
- run test suite in check
8a7204
8a7204
* Tue Feb 22 2011 Dan Young <dyoung@mesd.k12.or.us> - 0.6.1-1
8a7204
- Initial package