cubicweb.spec
author Julien Cristau <julien.cristau@logilab.fr>
Tue, 28 Jul 2015 09:25:26 +0200
changeset 10553 1d824df4f2bd
parent 10530 9d1bb0872e11
child 10558 5583bebe9e7f
permissions -rw-r--r--
Fix (de)serialization of ComputedRelation read permissions For normal relation types, permissions don't need to be stored since they're just default values for the relation definitions. However, computed relations are serialized (as CWComputedRType), while their relation definitions are added at schema finalization time, and are only in memory. So add the 'read_permission' relation to CWComputedRType, and the appropriate hooks to save and restore those permissions. To avoid having to touch yams, we drop the 'add' and 'delete' permissions from the default computed relation permissions; this should probably be backported there. The actual permissions (set on the relation definitions) are hardcoded in finalize_computed_relations anyway. In deserialize_schema, the CWComputedRType handling needs to be delayed a little bit, until after we've called deserialize_ertype_permissions. The rql2sql test is adjusted because CWComputedRType has a 'name' attribute and the 'read_permission' relation, which generates ambiguity vs CWEType. We add an explicit CubicWebRelationSchema.check_permission_definitions, since we need to check both that computed and non-computed rtypes are defined properly. Based on report and initial patch from Christophe de Vienne (thanks!). Closes #5706307
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8873
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
     1
%if 0%{?el5}
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
     2
%define python python26
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
     3
%define __python /usr/bin/python2.6
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
     4
%else
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
     5
%define python python
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
     6
%define __python /usr/bin/python
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
     7
%endif
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
     8
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
     9
Name:           cubicweb
10530
9d1bb0872e11 [pkg] 3.21.0
Rémi Cardona <remi.cardona@logilab.fr>
parents: 10520
diff changeset
    10
Version:        3.21.0
8873
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    11
Release:        logilab.1%{?dist}
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    12
Summary:        CubicWeb is a semantic web application framework
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    13
Source0:        http://download.logilab.org/pub/cubicweb/cubicweb-%{version}.tar.gz
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    14
License:        LGPLv2+
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    15
Group:          Development/Languages/Python
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    16
Vendor:         Logilab <contact@logilab.fr>
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    17
Url:            http://www.cubicweb.org/project/cubicweb
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    18
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    19
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    20
BuildArch:      noarch
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    21
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    22
Requires:       %{python}
10108
129af90b2364 [devtools] Use the pause_trace context manager instead of pause_tracing/resume_tracing
Christophe de Vienne <christophe@unlish.com>
parents: 10074
diff changeset
    23
Requires:       %{python}-logilab-common >= 0.63.1
8873
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    24
Requires:       %{python}-logilab-mtconverter >= 0.8.0
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    25
Requires:       %{python}-rql >= 0.31.2
9951
8cdcbf3f4fd0 [schema] add utility function to build a CubicWebSchema from a namespace
Rémi Cardona <remi.cardona@logilab.fr>
parents: 9895
diff changeset
    26
Requires:       %{python}-yams >= 0.40.0
10125
bc6461a7d2da [server] add a db-namespace option in source definition (closes #1631339)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 10120
diff changeset
    27
Requires:       %{python}-logilab-database >= 1.13.0
8873
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    28
Requires:       %{python}-passlib
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    29
Requires:       %{python}-lxml
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    30
Requires:       %{python}-twisted-web
10012
8c2c6fdd8d56 [RichString] Add markdown support
Christophe de Vienne <christophe@unlish.com>
parents: 10000
diff changeset
    31
Requires:       %{python}-markdown
8873
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    32
# the schema view uses `dot'; at least on el5, png output requires graphviz-gd
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    33
Requires:       graphviz-gd
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    34
Requires:       gettext
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    35
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    36
BuildRequires:  %{python}
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    37
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    38
%description
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    39
a repository of entities / relations for knowledge management
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    40
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    41
%prep
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    42
%setup -q
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    43
%if 0%{?el5}
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    44
# change the python version in shebangs
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    45
find . -name '*.py' -type f -print0 |  xargs -0 sed -i '1,3s;^#!.*python.*$;#! /usr/bin/python2.6;'
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    46
%endif
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    47
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    48
%install
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    49
NO_SETUPTOOLS=1 %{__python} setup.py --quiet install --no-compile --prefix=%{_prefix} --root="$RPM_BUILD_ROOT"
9185
499f9ddc4470 [pkg] Add log directory to rpm
Rémi Cardona <remi.cardona@logilab.fr>
parents: 9000
diff changeset
    50
mkdir -p $RPM_BUILD_ROOT/var/log/cubicweb
8873
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    51
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    52
%clean
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    53
rm -rf $RPM_BUILD_ROOT
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    54
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    55
%files 
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    56
%defattr(-, root, root)
9185
499f9ddc4470 [pkg] Add log directory to rpm
Rémi Cardona <remi.cardona@logilab.fr>
parents: 9000
diff changeset
    57
%dir /var/log/cubicweb
8873
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    58
/*
280c32415059 [packaging] add spec file to build RPMs (closes #2800850)
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    59