[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