File python-storm.spec of Package python-storm
#
# spec file for package python-storm
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: python-storm
Version: 0.20
Release: 0
Url: http://storm.canonical.com/
Summary: An object-relational mapper (ORM) for Python
License: LGPL-2.0+
Group: Development/Languages/Python
Source: https://pypi.python.org/packages/source/s/storm/storm-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: python-devel
BuildRequires: python-setuptools
Requires: python-storm-backend = %{version}
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
%endif
%description
Storm is an object-relational mapper (ORM) for Python developed at
Canonical. The project has been in development for more than a year
for use in Canonical projects such as [WWW] Launchpad, and has
recently been released as an open-source product.
Highlights:
* Clean and lightweight API offers a short learning curve and
long-term maintainability.
* Storm is developed in a test-driven manner. An untested line of
code is considered a bug.
* Storm needs no special class constructors, nor imperative base
classes.
* Storm is well designed (different classes have very clear
boundaries, with small and clean public APIs).
* Designed from day one to work both with thin relational databases,
such as SQLite, and big iron systems like PostgreSQL and MySQL.
* Storm is easy to debug, since its code is written with a KISS
principle, and thus is easy to understand.
* Designed from day one to work both at the low end, with trivial
small databases, and the high end, with applications accessing
billion row tables and committing to multiple database backends.
* It's very easy to write and support backends for Storm (current
backends have around 100 lines of code).
%package django
Summary: Django support for the Storm ORM
Group: Development/Languages/Python
Requires: %{name} = %{version}
Requires: python-django
%description django
The python-storm-django package contains the Django support for the Storm ORM.
%package mysql
Summary: MySQL backend for the Storm ORM
Group: Development/Languages/Python
Provides: %{name}-backend = %{version}
Requires: %{name} = %{version}
%description mysql
This package contains the MySQL database backend for the Storm ORM.
%package postgresql
Summary: PostgreSQL backend for the Storm ORM
Group: Development/Languages/Python
Provides: %{name}-backend = %{version}
Requires: %{name} = %{version}
Requires: python-psycopg2
%description postgresql
The python-storm-postgresql package contains the PostgreSQL database
backend for Storm ORM.
%package twisted
Summary: Twisted support for the Storm ORM
Group: Development/Languages/Python
Requires: %{name} = %{version}
Requires: python-Twisted
%description twisted
This package contains the Django support for the Storm ORM.
%prep
%setup -q -n storm-%{version}
%build
python setup.py build
%install
python setup.py install --root=%{buildroot} --prefix=%{_prefix}
%files
%defattr(-,root,root,-)
%doc LICENSE NEWS README TODO tests/tutorial.txt
%{python_sitearch}/*
%exclude %{python_sitearch}/storm/cextensions.c
%exclude %{python_sitearch}/storm/databases/mysql.*
%exclude %{python_sitearch}/storm/databases/postgres.*
%exclude %{python_sitearch}/storm/django
%exclude %{python_sitearch}/storm/twisted
%files django
%defattr(-,root,root,-)
%{python_sitearch}/storm/django
%files mysql
%defattr(-,root,root,-)
%{python_sitearch}/storm/databases/mysql.*
%files postgresql
%defattr(-,root,root,-)
%{python_sitearch}/storm/databases/postgres.*
%files twisted
%defattr(-,root,root,-)
%{python_sitearch}/storm/twisted
%changelog