forked from pool/python-Beaker
- 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
<http://web.nvd.nist.gov/view/vuln/detail?vulnId=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
117 lines
3.9 KiB
RPMSpec
117 lines
3.9 KiB
RPMSpec
#
|
|
# spec file for package python-Beaker
|
|
#
|
|
# 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
|
|
# 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 http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
|
%define oldpython python
|
|
# Test files not in source archive
|
|
%bcond_with test
|
|
Name: python-Beaker
|
|
Version: 1.9.0
|
|
Release: 0
|
|
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
|
|
BuildRequires: %{python_module setuptools}
|
|
BuildRequires: fdupes
|
|
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
|
|
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
|
|
fine-grained basis.
|
|
|
|
Beaker was built largely on the code from MyghtyUtils, then refactored and
|
|
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 include:
|
|
|
|
* Fast, robust performance
|
|
* Multiple reader/single writer lock system to avoid duplicate simultaneous
|
|
cache creation
|
|
* Cache back-ends include dbm, file, memory, memcached, and database (Using
|
|
SQLAlchemy for multiple-db vendor support)
|
|
* Signed cookie's to prevent session hijacking/spoofing
|
|
* Cookie-only sessions to remove the need for a db or file backend (ideal
|
|
for clustered systems)
|
|
* Extensible Container object to support new back-ends
|
|
* Cache's can be divided into namespaces (to represent templates, objects,
|
|
etc.) then keyed for different copies
|
|
* Create functions for automatic call-backs to create new cache copies after
|
|
expiration
|
|
* Fine-grained toggling of back-ends, keys, and expiration per Cache object
|
|
|
|
%prep
|
|
%setup -q -n Beaker-%{version}
|
|
|
|
%build
|
|
%python_build
|
|
|
|
%install
|
|
%python_install
|
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
|
|
|
%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*.egg-info
|
|
|
|
%changelog
|