cubicweb/skeleton/DISTNAME.spec.tmpl
author Philippe Pepiot <philippe.pepiot@logilab.fr>
Fri, 26 Oct 2018 17:12:26 +0200
changeset 12357 e385c9732f1e
parent 11978 9d27e426adc2
permissions -rw-r--r--
Make test database template creation concurrent build_db_cache() is used in tests to create test database templates, i.e. DEFAULT_EMPTY_DB_ID (which is __default_empty_db__) and custom template database using CubicwebTC test_db_id/pre_setup_database API. When running tests in parallel using multiple processes, build_db_cache() may try to build the same database twice. Avoid this by adding synchronisation of process by using a file lock. So when two processes require the same template database, one build the database and others wait it to be created. Use filelock (https://github.com/benediktschmitt/py-filelock) library to have a portable (unix / windows) way for handling locks. Also filelock is packaged in debian: https://packages.debian.org/source/python-filelock

# for el5, force use of python2.6
%%if 0%%{?el5}
%%define python python26
%%define __python /usr/bin/python2.6
%%else
%%define python python
%%define __python /usr/bin/python
%%endif
%%{!?_python_sitelib: %%define _python_sitelib %%(%%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}

Name:           %(distname)s
Version:        0.1.0
Release:        logilab.1%%{?dist}
Summary:        %(shortdesc)s
Group:          Applications/Internet
License:        %(license)s
Source0:        %(distname)s-%%{version}.tar.gz

BuildArch:      noarch
BuildRoot:      %%{_tmppath}/%%{name}-%%{version}-%%{release}-buildroot

BuildRequires:  %%{python} %%{python}-setuptools
Requires:       cubicweb >= %(version)s
Requires:       %%{python}-six >= 1.4.0

%%description
%(longdesc)s

%%prep
%%setup -q -n %(distname)s-%%{version}
%%if 0%%{?el5}
# change the python version in shebangs
find . -name '*.py' -type f -print0 |  xargs -0 sed -i '1,3s;^#!.*python.*$;#! /usr/bin/python2.6;'
%%endif

%%install
%%{__python} setup.py --quiet install --no-compile --prefix=%%{_prefix} --root="$RPM_BUILD_ROOT"

%%clean
rm -rf $RPM_BUILD_ROOT

%%files
%%defattr(-, root, root)
%%{_python_sitelib}/*