[storm] Need packaging advice for storm.django and storm.zope

James Henstridge james at jamesh.id.au
Fri Aug 28 03:42:23 BST 2009


On Thu, Aug 27, 2009 at 2:19 PM, Michel Alexandre
Salim<michael.silvanus at gmail.com> wrote:
> Hello,
>
> I maintain the storm package for Fedora, and noticed that the latest
> release now supports being used as Django's ORM.
>
> Our packaging currently is quite modular, with all the RDBMS backends
> split out (thus -mysql, -postgresql and -sqlite, each of which
> "provides" -backend).

The Ubuntu packaging keeps all these backends in the main package, and
suggests python-psycopg2, python-mysqldb and python-pysqlite2.  The
idea being that the Storm package will work without them but gain
functionality if they are installed.  I'm not sure how well that works
with RPM packaging though.

If the aim is to only include parts that will work with the required
dependencies, you might be able to include the sqlite backend in the
main package since it should work with the sqlite binding in the
Python standard library.


> I notice that storm.django requires storm.zope, and the latter in turns
> require the actual zope.

Note that the minimum requirements of storm.zope are just the
"zope.interface" and "transaction" packages from Zope 3 -- you don't
need the entire set of Zope modules.  It also has optional
dependencies on zope.security and zope.component (they aren't required
when using storm.zope with storm.django).

This point might be moot if Fedora hasn't packaged the modularised
Zope tree yet (it hasn't been fully packaged for Debian/Ubuntu).

> So our packaging is a bit broken anyway,
> dependency-wise, because currently we have both of these within the main
> package, without requiring either Fedora's Django or Fedora's Zope.
>
> So the question is, if packaging modularly, is there anything else that
> storm.django requires beside the main storm and storm.zope? and
> storm.zope, apart from storm and Zope itself?

If you want to use storm.django with PostgreSQL, you'll need to have
both Storm's and Django's PostgreSQL backends installed.  The same
goes for MySQL.  I'm not sure whether that is easy to represent in
your dependencies or not.

Other than that, you are correct: storm.django depends on Django and
storm.zope, and storm.zope depends on Zope's zope.interface and
transaction packages.


> (The README probably should be updated to mention dependencies on Django
> and Zope).

Good idea.  We've been a bit lax about updating documentation.

James.



More information about the storm mailing list