[Zope3-dev] Spaghetti-hunting

Shane Hathaway shane@zope.com
Wed, 15 May 2002 11:18:21 -0400


Barry A. Warsaw wrote:
> Now, I distribute the .tar.gz files for those packages created with
> "python setup.py sdist", and I use "tar zxf ; python setup.py install"
> to install them.  However I use the --install-lib option[1] to put the
> packages, not in site-packages, but in some Mailman-specific
> subdirectory (I call it $prefix/pythonlib where $prefix is the
> standard configure script install location).  The key is that I
> arrange for all Mailman entry points, be it cgi, mail program, cron,
> or command line script, to put $prefix/pythonlib first on sys.path.

Ah-ha, it sounds like we're talking about different things. :-)

I installed Mandrake's Mailman RPM and looked at the files and 
directories it created.  The packager chose to put almost all of Mailman 
in /var/lib/mailman rather than /usr/lib/python2.1/site-packages, which 
is interesting, but I guess that makes it independent of the Python 
version.  /var/lib/mailman/Mailman contains the application, and 
/var/lib/mailman/Mailman/pythonlib contains replacements for a few 
Python standard library modules.

I think you're talking about reuse of the code in Mailman/pythonlib, 
then.  I'm talking about reuse of code in the application itself, such 
as Mailman.Logging or Mailman.Archiver.  The logger or the archiver 
could be used independently, couldn't they?  They are probably reusable.

Zope is made up of reusable, independent libraries like ZPublisher and 
StructuredText, but in Zope 2 there is no top-level name like "Mailman" 
to keep them together.  It seems like Zope 3, with the top-level name 
"Zope", is structured more like Mailman.

Shane