# # spec file for package python-CherryPy # # Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %if 0%{?suse_version} > 1500 %bcond_without libalternatives %else %bcond_with libalternatives %endif %define skip_python2 1 %define skip_python36 1 %define skip_python39 1 %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-CherryPy Version: 18.6.1 Release: 2.4 Summary: Object-Oriented HTTP framework License: BSD-3-Clause URL: http://www.cherrypy.org Source: https://files.pythonhosted.org/packages/source/C/CherryPy/CherryPy-%{version}.tar.gz BuildRequires: %{python_module setuptools_scm} BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros >= 20210929 Requires: python-cheroot >= 8.2.1 Requires: python-jaraco.collections Requires: python-more-itertools Requires: python-portend >= 2.1.1 Requires: python-zc.lockfile %if %{with libalternatives} Requires: alts BuildRequires: alts %else Requires(post): update-alternatives Requires(postun): update-alternatives %endif Recommends: python-Routes >= 2.3.1 Recommends: python-flup Recommends: python-memcached >= 1.58 Recommends: python-pyOpenSSL Recommends: python-simplejson BuildArch: noarch # SECTION test requirements BuildRequires: %{python_module cheroot >= 8.2.1} BuildRequires: %{python_module jaraco.collections} BuildRequires: %{python_module more-itertools} BuildRequires: %{python_module path} BuildRequires: %{python_module portend >= 2.1.1} BuildRequires: %{python_module pytest-forked} BuildRequires: %{python_module pytest-services} BuildRequires: %{python_module pytest} BuildRequires: %{python_module requests-toolbelt} BuildRequires: %{python_module simplejson} BuildRequires: %{python_module zc.lockfile} # /SECTION %python_subpackages %description CherryPy is a pythonic, object-oriented HTTP framework. CherryPy allows developers to build web applications in much the same way they would build any other object-oriented Python program. This usually results in smaller source code developed in less time. CherryPy is now more than three years old and it is has proven very fast and stable. It is being used in production by many sites, from the simplest ones to the most demanding ones. Oh, and most importantly: CherryPy is fun to work with :-) %prep %setup -q -n CherryPy-%{version} # do not require cov/xdist/etc rm pytest.ini %build %python_build %install %python_install %python_expand %fdupes %{buildroot}%{$python_sitelib} %python_clone -a %{buildroot}%{_bindir}/cherryd %check # skip all travis known fails as they would most likely fail in obs too export TRAVIS="true" # testCombinedTools fails with trace in cheroot tests %pytest -k 'not testCombinedTools' %pre # If libalternatives is used: Removing old update-alternatives entries. %python_libalternatives_reset_alternative cherryd %post %python_install_alternative cherryd %postun %python_uninstall_alternative cherryd %files %{python_files} %license LICENSE.md %doc README.rst CHANGES.rst %python_alternative %{_bindir}/cherryd %{python_sitelib}/cherrypy/ %{python_sitelib}/CherryPy-%{version}-py%{python_version}.egg-info %changelog * Tue Oct 5 2021 Stefan Schubert - Added BuildRequires: alts * Sun Aug 22 2021 Stefan Schubert - Use libalternatives instead of update-alternatives. * Mon Aug 16 2021 John Paul Adrian Glaubitz - Update to 18.6.1 * Fixed XLF flag in gzip header emitted by gzip compression tool per RFC 1952, Section 2.3.1 * Restricted depending on pywin32 only under CPython so that it won't get pulled-in under PyPy * Bumped minimum version of PyWin32 to 227. Block pywin32 install on Python 3.10 and later. - Update Requires from setup.py * Mon Dec 14 2020 Benjamin Greiner - BuildRequire the already recommended simplejson to fix test suite failures with Python 3.6 * for TW python36 flavor -- gh#openSUSE/python-rpm-macros#66 * for Leap * Mon May 4 2020 Johannes Grassler - update to 18.6.0 * Add support for UTF-8 encoded attachment * Sat Mar 7 2020 Tomáš Chvátal - Do remove pytest.ini to not mess with extra options completely - Skip test reliably crashing in cheroot codebase * Mon Feb 24 2020 Tomáš Chvátal - Export travis variable to skip more tests that can randomly fail * Mon Jan 13 2020 Marketa Calabkova - update to 18.5.0 * Fixed issue where bytes values in a HeaderMap would be converted to strings. * Rely on jaraco.collections for its case-insensitive dictionary support. * Fixed issue in cpstats where the data/ endpoint would fail with encoding errors on Python 3. * Simplify the passthrough of parameters to CPWebCase.getPage to cheroot. CherryPy now requires cheroot 8.2.1 or later. * Wed Oct 30 2019 Tomáš Chvátal - Skip known failing test upstream * Fri Oct 11 2019 Tomáš Chvátal - Do not remove cherrypy tests from distribution as other projects use it for self testing too * Mon Oct 7 2019 Tomáš Chvátal - Update to 18.3.0: * Support handling multiple exceptions when processing hooks * Tue Sep 24 2019 Tomáš Chvátal - Update to 18.2.0: * File-based sessions no longer attempt to remove the lock files when releasing locks, instead deferring to the default behavior of zc.lockfile. Fixes :issue:`1391` and :issue:`1779`. * Add native support for 308 Permanent Redirect usable via raise cherrypy.HTTPRedirect('/new_uri', 308). - Drop merged patch pytest5.patch * Fri Jul 19 2019 Tomáš Chvátal - Add patch to work with pytest5, from upstream: * pytest5.patch * Fri Jul 19 2019 Tomáš Chvátal - Update to 18.1.2: * Fixed :issue:`1377` via :pr:`1785`: Restore a native WSGI-less HTTP server support. * :pr:`1769`: Reduce log level for non-error events in win32.py * Fri May 31 2019 Matej Cepl - boo#1136862: ignore StaticTest.test_null_bytes test case, which fails due to Python 3 fixes for CVE-2019-9740. (gh#cherrypy/cherrypy#1781) * Thu May 16 2019 Guang Yee - Disable test_wait_publishes_periodically test as it is unstable and highly time sensitive. * Thu Mar 28 2019 Tomáš Chvátal - Update to 18.1.1: * Revert bus behavior change from 18.1.0 as the former behavior was intentional * Tue Mar 5 2019 Tomáš Chvátal - Update to 18.1.0: * too many changes to iterate, see CHANGES.rst * Dropped support for python2 - Make sure tests are run * Fri Feb 9 2018 normand@linux.vnet.ibm.com - disable pytest as transient failures * Wed Nov 8 2017 jmatejek@suse.com - conditionally disable python2 * Fri Mar 31 2017 jmatejek@suse.com - update for singlespec - update to version 10.2.1 * too many changes to list - add many new requirements and recommends * Sun Feb 22 2015 benoit.monin@gmx.fr - update to version 3.6.0: * Fixed HTTP range headers for negative length larger than content size * Disabled universal wheel generation as wsgiserver has Python duality * Pull Request #42: Correct TypeError in ``check_auth`` when encrypt is used * Pull Request #59: Correct signature of HandlerWrapperTool * Pull Request #60: Fix error in SessionAuth where login_screen was incorrectly used * Issue #1077: Support keyword-only arguments in dispatchers (Python 3) * Issue #1019: Allow logging host name in the access log * Pull Request #50: Fixed race condition in session cleanup - changes from version 3.5.0: * Issue #1301: When the incoming queue is full, now reject additional connections. This functionality was added to CherryPy 3.0, but unintentionally lost in 3.1 - changes from version 3.4.0: * Miscellaneous quality improvements - remove CFLAGS export - use update-alternatives for cherryd binary * Tue May 20 2014 toddrme2178@gmail.com - Update to version 3.3.0 + No changelog available - Update to version 3.2.6 + No changelog available - Update to version 3.2.5 + No changelog available * Thu Sep 26 2013 p.drouand@gmail.com - Update to version 3.2.4 + No changelog available - Remove redundant %%clean section * Wed May 23 2012 highwaystar.ru@gmail.com - update to 3.2.2 - python3 package added - minor spec improvement * Tue May 31 2011 saschpe@suse.de - Renamed package to python-CherryPy to match upstream PyPi name * Added Provides/Obsoletes for python-cherrypy * Thu Mar 3 2011 saschpe@suse.de - Update to 3.2: * WSGI-1.0.1 compliance, support for Python's builtin SSL module * Much improved FastCGI support * Python 3 support - Spec file cleanup: * Added proper license header * Added changelog section - Repacked tarball as tar.bz2 * Tue May 12 2009 poeml@suse.de - the INSTALLED_FILES file name had a little typo - fix changelog to be in chronological order (an error that I probably introduced during the conversion) * Tue May 12 2009 poeml@novell.com - add dos2unix to BuildRequires - convert the package changelog from the in-specfile text to a .changes file, to be edited with "osc vc" * Tue Mar 10 2009 James Oakley - Update to 3.1.1 * Mon Jan 21 2008 James Oakley - Update to 3.0.3 * Mon Aug 13 2007 James Oakley - Update to 3.0.2: * Some bugfixes * Tue Mar 20 2007 James Oakley - Update to 3.0.1: * More docstrings. help() is more helpful than ever * The WSGI server has been moved into its own package to allow for easier use outside of CherryPy * Session locking can now be "implicit" (before_handler), "early" (before_request_body), or "explicit" (none) * Moved checker back to cherrypy.checker from engine, and also added a new check_config_types method. There's also a new checker config namespace, so you can turn off the checker with "checker.on = False", or turn off specific methods with "checker.check_method_foo = None" * Wed Jan 17 2007 Cristian Rodriguez - Update to 3.0.0 * Thu Jun 22 2006 James Oakley - Update * Mon Oct 24 2005 James Oakley - Update to final release * Thu Oct 13 2005 James Oakley - Update - Build for SL10 * Fri Aug 12 2005 James Oakley - Initial release