[Zope-dev] Re: [Zope3-dev] December release post-mortem
Martijn Faassen
faassen at infrae.com
Thu Jan 19 07:43:16 EST 2006
Jim Fulton wrote:
> Martijn Faassen wrote:
> ...
>
>> How do you assemble releases 'from releases'? I'm not sure I
>> understand that. You mean make a Zope 2 release using a Zope 3 release?
>
>
> No, I mean using eggs. Zope should be broken into separate projects
> with their own eggs. A Zope release might just be an egg with
> dependencies.
> Or it might just be a collection of eggs.
Ah, makes sense. A 'meta-package', so to speak. Works well in Debian, so
I think that's an interesting pattern to follow. As long as we can do
those micro releases quickly -- the problem is that Zope 3 is one
project, and we want one communication channel, as we simply don't have
enough people otherwise. From another perspective it's many projects,
though.
>> You know my position concerning the repository and the release; I'd
>> prefer them to be kept as similar as possible to simplify the release
>> process. I hope we can go in that direction. It also makes things more
>> predictable to developers. We noticed that some Zope 3 packages
>> weren't packaged into Zope 2 after the release, even though in a
>> developer's sandbox of Zope 2 they were there.
>
>
> Right. If eggs work out, then a respository check out will be a lot
> smaller,
> but will download needed eggs. This would be a replacement of the
> use of externals we have now.
A risk here is that if I find a bug in package X, I can't easily track
it into package Y and fix it there, as package Y is an egg. The current
system doesn't have this problem.
>> As a side issue: From the perspective of Five, it is beneficial to
>> have as much Zope 3 code included into Zope 2 releases, as that gives
>> us an opportunity to start using this functionality right away,
>> exposing it to Zope 2, without waiting for a new release.
>
> Understand though that there is nothing like a backward compatibility
> promise for something that hasn't been released.
Yes, but Zope 2 included *less* than Zope 3 in the most recent release,
and I'd like *all* packages that are in a Zope 3 release to be available
in a Zope 2 release. I.e. Five doesn't want packages that aren't in a
Zope 3 release, but not less either.
[snip]
>> (If you're interested I can try to explain some of my thinking a bit
>> deeply.) Eggs are a nice distribution mechanism, but I'd also want the
>> knitting process to work for a SVN checkout -- developers working with
>> SVN need to be very easily work with a 'knitted' version, so perhaps
>> svn:externals will remain a valuable tool.
>
> Assuming that eggs fullfill their promise, I think I'd
> rather use eggs than externals.
Sure, but see the risk I mentioned earlier in this mail.
>>> As part of this decomposition, we need to make zope.app much smaller.
>>> Early in Zope 3 development, I proposed a simple rule for
>>> organization of the repository: Anything that depended on zope.app
>>> went in zope.app. Anything else went in zope. If there was doubt,
>>> put it in zope.app. I think that served us well at the time, but I
>>> think we've moved beyond that, I'd like to migrate most of zope.app
>>> elsewhere. Zope 2.10 should not include zope.app.
>>
>> This worries me; Five is currently using massive quantities of code in
>> zope.app, and as expressed above, I value Five having access to
>> potentially all Zope 3 code that's in a Zope 3 release.
>
> The code that Five is using will still be available, but it will be
> somewhere else (with necessary backward compatibility hacks).
As long as Zope 2.10 contains all packages in Zope 3.
Regards,
Martijn
More information about the Zope-Dev
mailing list