1 |
%define oname storm |
2 |
%define _exclude_files_from_autoprov %{python_sitearch}/.*\\.so |
3 |
|
4 |
Summary: Object Relational Mapper for Python |
5 |
Name: python-%{oname} |
6 |
Version: 0.20 |
7 |
Release: %mkrel 1 |
8 |
Source0: https://launchpad.net/storm/trunk/%{version}/+download/%{oname}-%{version}.tar.bz2 |
9 |
License: GPLv2 |
10 |
URL: http://storm.canonical.com/ |
11 |
Group: Development/Python |
12 |
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot |
13 |
# https://lists.ubuntu.com/archives/storm/2013-June/001492.html |
14 |
Patch0: python-storm-maxint.patch |
15 |
# https://bugs.launchpad.net/storm/+bug/1199578 |
16 |
Patch1: storm-0.20-exclude-tests.patch |
17 |
BuildRequires: pkgconfig(python) |
18 |
BuildRequires: python-setuptools |
19 |
Requires: python-sqlite2 |
20 |
|
21 |
%description |
22 |
Storm is an object-relation mapper (ORM) for the Python language. It allows |
23 |
rows from a relational database to be seen as objects in an object-oriented |
24 |
language like Python. |
25 |
|
26 |
- Storm lets you efficiently access and update large datasets by allowing you |
27 |
to formulate complex queries spanning multiple tables using Python. |
28 |
|
29 |
- Storm allows you to fallback to SQL if needed (or if you just prefer), |
30 |
allowing you to mix "old school" code and ORM code |
31 |
|
32 |
%package mysql |
33 |
Summary: MySQL backend for %{name} |
34 |
Group: Development/Python |
35 |
Requires: %{name} = %{version}-%{release} |
36 |
Requires: python-mysql |
37 |
|
38 |
%description mysql |
39 |
The %{name}-mysql package contains the MySQL database backend for |
40 |
%{name}. |
41 |
|
42 |
%package postgresql |
43 |
Summary: PostgreSQL backend for %{name} |
44 |
Group: Development/Python |
45 |
Requires: %{name} = %{version}-%{release} |
46 |
Requires: python-psycopg2 |
47 |
|
48 |
%description postgresql |
49 |
The %{name}-postgresql package contains the PostgreSQL database |
50 |
backend for %{name}. |
51 |
|
52 |
|
53 |
%package django |
54 |
Summary: Support for using %{name} as Django ORM |
55 |
Group: Development/Python |
56 |
Requires: python-django |
57 |
Requires: %{name}-zope = %{version}-%{release} |
58 |
|
59 |
%description django |
60 |
The %{name}-django package contains an alternative ORM implementation |
61 |
for Django. |
62 |
|
63 |
|
64 |
%package zope |
65 |
Summary: Zope integration for %{name} |
66 |
Group: Development/Python |
67 |
Requires: %{name} = %{version}-%{release} |
68 |
Requires: python-zope-interface |
69 |
|
70 |
%description zope |
71 |
The %{name}-zope package provides Zope integration for %{name}. |
72 |
|
73 |
|
74 |
%package twisted |
75 |
Summary: Twisted integration for %{name} |
76 |
Group: Development/Python |
77 |
Requires: %{name} = %{version}-%{release} |
78 |
Requires: python-twisted-core |
79 |
|
80 |
%description twisted |
81 |
The %{name}-twisted package provides Twisted integration for %{name}. |
82 |
|
83 |
|
84 |
%prep |
85 |
%setup -q -n %{oname}-%{version} |
86 |
%patch0 -p1 |
87 |
%patch1 -p1 |
88 |
|
89 |
%build |
90 |
%{__python} setup.py build |
91 |
|
92 |
%install |
93 |
%{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT |
94 |
|
95 |
%files |
96 |
%doc LICENSE NEWS README TODO tests/tutorial.txt |
97 |
%exclude %{python_sitearch}/storm/django |
98 |
%exclude %{python_sitearch}/storm/zope |
99 |
%exclude %{python_sitearch}/storm/cextensions.c |
100 |
%exclude %{python_sitearch}/storm/databases/mysql.* |
101 |
%exclude %{python_sitearch}/storm/databases/postgres.* |
102 |
%exclude %{python_sitearch}/storm/twisted |
103 |
%{python_sitearch}/storm* |
104 |
|
105 |
%files django |
106 |
%{python_sitearch}/storm/django |
107 |
|
108 |
%files zope |
109 |
%{python_sitearch}/storm/zope |
110 |
|
111 |
%files mysql |
112 |
%{python_sitearch}/storm/databases/mysql.* |
113 |
|
114 |
%files postgresql |
115 |
%{python_sitearch}/storm/databases/postgres.* |
116 |
|
117 |
%files twisted |
118 |
%{python_sitearch}/storm/twisted |