On 7 Jun 2007, at 08:45 , Andreas Jung wrote:
--On 6. Juni 2007 18:01:27 +0200 Philipp von Weitershausen
<[EMAIL PROTECTED]> wrote:
At the PIKTipi sprint this past weekend, Andi Zeidler, Andreas
Jung and I
worked on integrating ZODB 3.8 and Zope 3.4 into the Zope 2 trunk.
3.4 has actually "exploded" into many eggs that are now independently
managed and released. I therefore looked into a way to make Zope 2
dependent on these eggs instead of shipping with its own copies of
packages. There are clear benefits to that:
First, eggs are cool and the ongoing eggification is a good thing.
However making such major changes for the next release I would like
to discuss a few things or get answers.
With my email I might've given the wrong impression that I'm going to
eggify Zope 2 and that that the Zope 2 release as we know it won't
exist. That's not the case. My playground is, in fact, in a separate
top-level project called "Zope2.buildout" that simply points
externals to the "Zope2" project. "Zope2.buildout" is an experiment
(deploying Zope 2 from eggs).
I would like to discuss eggification and future releases of Zope 2
separately because I haven't fully worked out all the issues myself
yet. My email purely concerns *one* problem (see the subject line)
that is related to eggification: shipping with a standard docutils
package. Eggs or not, I think being able to ship with an unmodified
docutils has advantages (no more having to do vendor imports and
applying the patches ourselves).
What will be the impacts on the source code distribution?
None. We can continue making tarballs that contain everything like we
do now. I'm not saying we should (I haven't fully made up my mind),
but it's certainly possible.
The Zope2 egg only contains what is Zope 2, the rest is pulled in as
dependencies. In the end you end up with the same amount of code,
it's just coupled differently.
How would you
install "Zope from the sources" (especially if we don't include the
3rd-party eggs like docutils)?
Again, the standard tarball install with configure; make; make
installd doesn't have to go away.
As far as the egg is concerned, you install it like you install every
egg-based package "from the sources": download the tarball and do
python setup.py install.
Working with eggs in a Zope environment requires that the eggs must
be installed isolated within the softwarehome. We can't install
within the Python environment (because it causes already a bunch of
right now). Something like a buildout or workingenv environment
would be necessary....also with a Zope-local installation of
Sure, but that's not a Zope 2-specific problem. Which is why tools
like buildout and workingenv exist. So I see no problem here.
Do we really want to encourage the end-user to update parts of the
Zope core or the 3rd-party packages individually?
If it's not part of the Zope2 egg, then it's replaceable. I think
that has advantages and can be a good thing. In the past people
wanted to backport certain features that occurred in a later version
of Zope 3 to an earlier version of Zope 2. Well, now they don't have
to backport, they can just use a newer version of that particular
package they're interested in.
As far as 3rd party packages are concerned, it makes even more sense.
pytz is a good example. Every so often, some country decides to
change their timezone. Software running on old pytz releases (which
were coupled to Zope releases) are stuck with old data. With eggs
you're able to just upgrade pytz.
I am skeptical about this because we always shipped Zope as a
collection of tested and trusted components.
We can still do that, egg-based or not, and attach a sticker
"Warranty void if eggs are exchanged".
Of course you could also updated package in the past manually
however by using eggs we are lowering the barrier for a end-user to
mess up his system. However I always see the advantages of the
approach to bring updated or fixed packages much easier to the Zope
Before stepping forward with your work (on the Zope trunk) I would
get the "big picture" first.
Again, I'm not doing any changes to the Zope trunk, except the one
thing I clearly laid out and proposed: being able to ship with a
standard docutils package.
Zope-Dev maillist - Zope-Dev@zope.org
** No cross posts or HTML encoding! **
(Related lists -