From 6e4f1663a77f35148288d592ec95ce2c26eee4b874d0e67928cda6694a14fd15 Mon Sep 17 00:00:00 2001 From: Todd R Date: Thu, 7 Sep 2017 17:00:13 +0000 Subject: [PATCH] Accepting request 522092 from devel:languages:python:singlespec-staging - Update to version 1.9.0 * Beaker now provides builtin ``ext:mongodb`` and ``ext:redis`` namespace managers. Both come with a Synchronizer implemented on the storage backend instead of relying on file one. * Fixed an issue where cookie options like ``Secure``, ``Domain`` and so on where lost. * Improved support for cache entries expiration. NamespaceManagers that support it will expire their key automatically. * Pycryptodome can be used instead of pycrypto. * An issue with ``Cookie`` module import on case insensitive file systems should have been resolved. * Cryptography module is now as a crypto function provider instead of pycrypto - singlespec auto-conversion - adjust for cryptopp -> pycryptopp rename - update to 1.8.1 * Bugfixes - Update to version 1.8.0 * Encrypted sessions can now specify nonce length for salt generation through encrypt_nonce_bits parameter. set it to 48 for backward compatibility with sessions generated before 1.8.0 * kwargs support in @cache_region decorator * annotations support in @cache_region decorator * data_serializer parameter in Session can now specify json to avoid pickle security issues * Invalid cookies are now skipped in cookie based sessions * Memcached based on PyLibMC now share same connection pool for same url - update to version 1.7.0: * Beaker no longer supports python 2.4 and 2.5 * Beaker now supports Python 2.6, 2.7, 3.2, 3.3, 3.4 without 2to3 usage * Fixed Encrypted Cookie Session on Python3 #57 * New pbkdf2 mobule working on Python3 #21 * Fixed Test suite on Python 3.3 #53, #51 - additional changes from version 1.6.5: * @cached decorator now keeps docstring of decorated method. * Fix crash when Session ``accessed_time`` is not available, this happened when session ``encrypt_key`` was changed. * Fix cache regions not providing a default key length even though this was required and examples in the doc didn't provide it. * Fix crash when cache expire wasn't an int, this happened when caching options were loaded from a config file. - remove everything related to tests: upstream deleted them from archive - drop Beaker-1.6.4-setup_test.patch: only used by the tests - do not delete the shebang of pbkdf2.py: fixed upstream - remove CHANGELOG and LICENSE from package: deleted from archive - add README.rst to the package documentation - Add a build conditional for testing with memcached. It can be too heavy at times - Fix previous changes entry - fix deps - enable full testing - Add Beaker-1.6.4-setup_test.patch: Workaround for TypeError in multiprocessing/util.py - added fdupes to remove rpmlint warning - Update to 1.6.4: * Warning: Session hashing for encrypted sessions using PyCrypto has changed. This will result in sessions being invalidated upon upgrading if PyCrypto is used. * Fix bug with key_length not being coerced to a int for comparison. * Fix bug with cookie invalidation not clearing the cookie data. * Added ability to pass in cookie_path for the Session. * Add NSS crypto support to Beaker. * Fix security bug with pycrypto not securing data such that an attacker could possibly determine parts of the encrypted payload. See CVE-2012-3458 . * Add ability to specify schema for database-backed sessions. * Fix issue with long key names in memcached backend. - Fix sed script so it removes the shebang instead of inserting "d" throughout the pbkdf2.py file. - Test suite now succeeds (for Python 2 package) but didn't add it to build because it takes too long. - Update URL to what is given in setup.py. - update to version 1.6.3 * Fix bug with cookie deletion on leap years. Patch contributed by Greg Nelson and Michael Wirth. * Fix issue with referencing same module via different import paths. Patch contributed by brianfrantz. * Fix cookie expiration check. Patch contributed by Mike Dirolf. - python3 package added - minor spec improvement - Update to version 1.6.2: * Updated dogpile lock so that it locks per namespace+key rather than on the entire namespace. (#101) * Added encryption option for any backend. Patch contributed by Toby Elliot. - Update to version 1.6.1: * Remove stray print statement. * Include .app for consistency instead of requiring wrap_app. - Changes from version 1.6: * Fix bug with cache_key length calculation. * Fix bug with how path was set so that its restored properly and propagated. * Fix bug with CacheMiddleware clobbering enabled setting. * Update option for ``cookie_expires`` so that it can now handle an integer which will be used as the seconds till the cookie expires. * Merge fix for Issue 31, can now handle unicode cache keys. * Add ``key_length`` option for cache regions, and for keyword args passed into the cache system. Cache keys longer than this will be SHA'd. * added runtime beaker.__version__ * Add ``webtest_varname`` option to configuration to optionally include the session value in the environ vars when using Beaker with WebTest. * Defer running of pkg_resources to look for external cache modules until requested. #66 * memcached backend uses pylibmc.ThreadMappedPool to ensure thread-local usage of pylibmc when that library is in use. (#60) * memcached backend also has ``memcache_module`` string argument, allows direct specification of the name of which memcache backend to use. * Basic container/file-based Session support working in Py3K. (#72) * Further Python 3 fixes * Added an optimization to the FileNamespaceContainer when used with Session, such that the pickled contents of the file are not read a second time when session.save() is called. (#64) * Fixed bug whereby CacheManager.invalidate wouldn't work for a function decorated by cache.cache(). (#61) * cache decorators @cache.cache(), @cache_region() won't include first argument named 'self' or 'cls' as part of the cache key. This allows reasonably safe usage for methods as well as functions. (#55) * file backend no longer squashes unpickling errors. This was inconsistent behavior versus all the other backends. * invalidate_corrupt flag on Session now emits a warning. (#52) * cache.remove_value() removes the value even if it's already marked 'expired' (#42) - Initial version OBS-URL: https://build.opensuse.org/request/show/522092 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Beaker?expand=0&rev=34 --- Beaker-1.8.1.tar.gz | 3 -- Beaker-1.9.0.tar.gz | 3 ++ python-Beaker.changes | 24 ++++++++++++++ python-Beaker.spec | 73 +++++++++++++++++++++++++++++-------------- 4 files changed, 77 insertions(+), 26 deletions(-) delete mode 100644 Beaker-1.8.1.tar.gz create mode 100644 Beaker-1.9.0.tar.gz diff --git a/Beaker-1.8.1.tar.gz b/Beaker-1.8.1.tar.gz deleted file mode 100644 index 3407daf..0000000 --- a/Beaker-1.8.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6735aa2fff7ea0915fc7f97a11830abcad19e4d1b02433caf4238a2b54ae1ec0 -size 37064 diff --git a/Beaker-1.9.0.tar.gz b/Beaker-1.9.0.tar.gz new file mode 100644 index 0000000..f3e45c3 --- /dev/null +++ b/Beaker-1.9.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:317d0f9a3618364a4ce447d227b698bd7cdcad57301326ce8013d200abd695bf +size 39817 diff --git a/python-Beaker.changes b/python-Beaker.changes index c7b1877..d375d81 100644 --- a/python-Beaker.changes +++ b/python-Beaker.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Thu Sep 7 16:55:30 UTC 2017 - toddrme2178@gmail.com + +- Update to version 1.9.0 + * Beaker now provides builtin ``ext:mongodb`` and ``ext:redis`` + namespace managers. Both come with a Synchronizer implemented + on the storage backend instead of relying on file one. + * Fixed an issue where cookie options like ``Secure``, + ``Domain`` and so on where lost. + * Improved support for cache entries expiration. + NamespaceManagers that support it will expire their key + automatically. + * Pycryptodome can be used instead of pycrypto. + * An issue with ``Cookie`` module import on case insensitive + file systems should have been resolved. + * Cryptography module is now as a crypto function provider + instead of pycrypto + +------------------------------------------------------------------- +Thu Aug 24 13:33:15 UTC 2017 - jmatejek@suse.com + +- singlespec auto-conversion + ------------------------------------------------------------------- Wed Nov 16 09:56:42 UTC 2016 - dmueller@suse.com @@ -157,3 +180,4 @@ Thu Sep 1 13:13:32 UTC 2011 - saschpe@suse.de - Initial version + diff --git a/python-Beaker.spec b/python-Beaker.spec index 86af435..229f699 100644 --- a/python-Beaker.spec +++ b/python-Beaker.spec @@ -1,7 +1,7 @@ # # spec file for package python-Beaker # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,35 +16,57 @@ # +%{?!python_module:%define python_module() python-%{**} python3-%{**}} +%define oldpython python +# Test files not in source archive +%bcond_with test Name: python-Beaker -Version: 1.8.1 +Version: 1.9.0 Release: 0 -Url: http://beaker.rtfd.org/ Summary: A Session and Caching library with WSGI Middleware License: BSD-3-Clause Group: Development/Languages/Python +Url: https://github.com/bbangert/beaker Source: https://files.pythonhosted.org/packages/source/B/Beaker/Beaker-%{version}.tar.gz -BuildRoot: %{_tmppath}/%{name}-%{version}-build -Requires: python-pycryptopp >= 0.5.12 +BuildRequires: %{python_module setuptools} BuildRequires: fdupes -BuildRequires: python-pycryptopp >= 0.5.12 -BuildRequires: python-setuptools -Provides: python-beaker = %{version} -Obsoletes: python-beaker < %{version} -%if 0%{?suse_version} && 0%{?suse_version} <= 1110 -BuildRequires: python-ordereddict -BuildRequires: python-unittest2 -%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} -%else -BuildArch: noarch +BuildRequires: python-rpm-macros +%if %{with test} +BuildRequires: %{python_module SQLAlchemy} +BuildRequires: %{python_module WebTest} +BuildRequires: %{python_module coverage} +BuildRequires: %{python_module cryptography} +BuildRequires: %{python_module mock} +BuildRequires: %{python_module nose} +BuildRequires: %{python_module pycryptodome} +BuildRequires: %{python_module pylibmc} +BuildRequires: %{python_module python-memcached} +BuildRequires: %{python_module pymongo} +BuildRequires: %{python_module redis} +BuildRequires: python-funcsigs %endif +Requires: python-pylibmc +Requires: python-python-memcached +Recommends: python-SQLAlchemy +Recommends: python-cryptography +Recommends: python-pycryptopp >= 0.5.12 +Recommends: python-pycrypto +Recommends: python-pymongo +Recommends: python-redis +BuildArch: noarch +%ifpython2 +Requires: python-funcsigs +Provides: %{oldpython}-beaker = %{version} +Obsoletes: %{oldpython}-beaker < %{version} +%endif +%python_subpackages %description -Beaker is a web session and general caching library that includes WSGI +Beaker is a web session and general caching library that includes WSGI middleware for use in web applications. As a general caching library, Beaker can handle storing for various times -any Python object that can be pickled with optional back-ends on a +any Python object that can be pickled with optional back-ends on a fine-grained basis. Beaker was built largely on the code from MyghtyUtils, then refactored and @@ -53,7 +75,7 @@ extended with database support. Beaker includes Cache and Session WSGI middleware to ease integration with WSGI capable frameworks, and is automatically used by Pylons. -Features: +Features include: * Fast, robust performance * Multiple reader/single writer lock system to avoid duplicate simultaneous @@ -74,16 +96,21 @@ Features: %setup -q -n Beaker-%{version} %build -python setup.py build +%python_build %install -python setup.py install --prefix=%{_prefix} --root=%{buildroot} -%fdupes %buildroot/%_prefix +%python_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} -%files +%if %{with test} +%check +%python_exec setup.py test +%endif + +%files %{python_files} %defattr(-,root,root,-) %doc README.rst %{python_sitelib}/beaker/ -%{python_sitelib}/Beaker-%{version}-py%{py_ver}.egg-info +%{python_sitelib}/Beaker-%{version}-py*.egg-info %changelog