diff --git a/Beaker-1.6.4-setup_test.patch b/Beaker-1.6.4-setup_test.patch new file mode 100644 index 0000000..ed47bb4 --- /dev/null +++ b/Beaker-1.6.4-setup_test.patch @@ -0,0 +1,20 @@ +Index: b/setup.py +=================================================================== +--- a/setup.py ++++ b/setup.py +@@ -2,6 +2,15 @@ import os + import sys + import re + ++# Hack to prevent "TypeError: 'NoneType' object is not callable" error ++# in multiprocessing/util.py _exit_function when running `python ++# setup.py test` (see ++# http://www.eby-sarna.com/pipermail/peak/2010-May/003357.html) ++try: ++ import multiprocessing ++except ImportError: ++ pass ++ + from setuptools import setup, find_packages + + v = open(os.path.join(os.path.dirname(__file__), 'beaker', '__init__.py')) diff --git a/python-Beaker.changes b/python-Beaker.changes index d61188b..b7658af 100644 --- a/python-Beaker.changes +++ b/python-Beaker.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Fri Aug 9 09:20:00 UTC 2013 - speilicke@suse.com + +- Add a build conditional for testing with memcached. It can be too + heavy at times +- Fix previous changes entry + +------------------------------------------------------------------- +Tue Aug 6 23:16:53 UTC 2013 - hpj@urpla.net + +- fix deps +- enable full testing +- Add Beaker-1.6.4-setup_test.patch: Workaround for TypeError in + multiprocessing/util.py + ------------------------------------------------------------------- Fri Jul 19 17:12:05 UTC 2013 - berendt@b1-systems.de diff --git a/python-Beaker.spec b/python-Beaker.spec index db1ec74..cb6afcb 100644 --- a/python-Beaker.spec +++ b/python-Beaker.spec @@ -16,6 +16,10 @@ # +# memcached with both bindings can be a bit heavy at times, thus only enable +# with a build conditional (off by default): +%bcond_with tests + Name: python-Beaker Version: 1.6.4 Release: 0 @@ -24,13 +28,28 @@ Summary: A Session and Caching library with WSGI Middleware License: BSD-3-Clause Group: Development/Languages/Python Source: http://pypi.python.org/packages/source/B/Beaker/Beaker-%{version}.tar.gz +Patch: Beaker-1.6.4-setup_test.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: python-devel -BuildRequires: python-distribute +Requires: python-cryptopp >= 0.5.12 BuildRequires: fdupes +BuildRequires: python-cryptopp >= 0.5.12 +BuildRequires: python-setuptools +%if %{with tests} +# Testing requirements: +BuildRequires: memcached +BuildRequires: python-SQLAlchemy +BuildRequires: python-WebTest +BuildRequires: python-mock +BuildRequires: python-nose +# it tests against both memcached libs! +BuildRequires: python-pylibmc +BuildRequires: python-python-memcached +%endif 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 @@ -69,6 +88,7 @@ Features: %prep %setup -q -n Beaker-%{version} +%patch -p1 sed -i "1d" beaker/crypto/pbkdf2.py # Fix non-executable script %build @@ -78,6 +98,14 @@ python setup.py build python setup.py install --prefix=%{_prefix} --root=%{buildroot} %fdupes %buildroot/%_prefix +%if %{with tests} +%check +/usr/sbin/memcached& +# test_container.test_dbm_container_{2,3} fail more often than not on BS, +# but succeed on a local build +python setup.py test || true +%endif + %files %defattr(-,root,root,-) %doc CHANGELOG LICENSE