15
0
forked from pool/python-Beaker
Files
python-Beaker/python-Beaker.spec
Todd R 6e4f1663a7 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
    <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
2017-09-07 17:00:13 +00:00

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