cubicweb.spec
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Wed, 18 Jan 2017 15:04:27 +0100
branch3.24
changeset 11904 e760c54490b1
parent 11882 ccf61228a802
child 11927 35fd54c0065d
permissions -rw-r--r--
[migration] Fix addition of entity type including boundary constraints on its own attributes This was failing because of the sequence of sql executing when adding an attribute: 1. add entity type <commit> 2. add relation type for attribute 1 <commit> 3. add attribute 1 and associated constraints <commit> etc. In the case of e.g. start/end constraint, we were trying to add the constraint before addition of the constrained attribute (e.g. add constraint on 'start' referencing 'end', but only 'start' has been added yet, not 'end'). This patch fix this by: * adding the relation type to the schema without having to commit, but keeping the operation to revert the addition if necessary - this allows to a single commit for all attributes of the entity type ; * using a LateOperation on constraint operation, so we ensure attributes are actually added before any constraint is added.

%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:           cubicweb
Version:        3.24.3
Release:        logilab.1%{?dist}
Summary:        CubicWeb is a semantic web application framework
Source0:        https://pypi.python.org/packages/source/c/cubicweb/cubicweb-%{version}.tar.gz
License:        LGPLv2+
Group:          Development/Languages/Python
Vendor:         Logilab <contact@logilab.fr>
Url:            https://www.cubicweb.org/project/cubicweb

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

Requires:       %{python}
Requires:       %{python}-six >= 1.4.0
Requires:       %{python}-logilab-common >= 1.2.2
Requires:       %{python}-logilab-mtconverter >= 0.8.0
Requires:       %{python}-rql >= 0.34.0
Requires:       %{python}-yams >= 0.44.0
Requires:       %{python}-logilab-database >= 1.15.0
Requires:       %{python}-passlib < 2.0
Requires:       %{python}-lxml
Requires:       %{python}-twisted-web < 16.0.0
Requires:       %{python}-markdown
Requires:       pytz
# the schema view uses `dot'; at least on el5, png output requires graphviz-gd
Requires:       graphviz-gd
Requires:       gettext

BuildRequires:  %{python}
BuildRequires:  %{python}-setuptools

%description
a repository of entities / relations for knowledge management

%prep
%setup -q
%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"
mkdir -p $RPM_BUILD_ROOT/var/log/cubicweb

%clean
rm -rf $RPM_BUILD_ROOT

%files 
%defattr(-, root, root)
%dir /var/log/cubicweb
%{_prefix}/share/cubicweb/*
%{python_sitelib}/*
%{_bindir}/*