[Zope3-dev] Zope 3 a la carte

Fred Drake fdrake at gmail.com
Tue Oct 12 10:20:12 EDT 2004


On Tue, 12 Oct 2004 15:37:08 +0200, Martijn Faassen <faassen at infrae.com> wrote:
> I don't understand this. What is a packaging component? If dependencies
> were there for each Python package, it would be easier for *me* to
> decide what I want to package, right? I mean, your packaging component
> might not be mine. I for instance want parts of zope.app for Five, but
> most of it I can ignore.

Hmm.  The documentation needs to be more explicit about this.  A
packaging component is a single resource.  Everywhere the zpkg
documentation refers to a component outside the "Resource Locations"
page, it's talking about a packaging component.  This is typically a
Python package, but if it contains a PACKAGE.cfg file, that affects
what child packages are part of the component.

I'll try to make the documentation more clear when I get a chance.

> Typically dependency information does drive packaging, right? You'd just
> sometimes like to make some exceptions.

Right.

[Regarding the value of refactoring to control dependencies]
> It's true that this is the painful option, but I'm just listing it among
> possibilities. It may make sense for some packages, though I think being
> able to say "this is not something you should include even though it's a
> dependency" would already fix much of the problem. Not all of it I think
> though -- sometimes you want to import something from a package, and
> it's completely standalone, but the package's __init__.py imports
> something you don't want to depend on at all. This would probably be a
> refactoring candidate.

Yes, that's a clear case where there's some potential to make
improvements through refactoring the Python package hierarchy.

> Okay, so I'm holding out for the exclusions. It's not very urgent for
> Five as it's easy enough to point people to ZopeX3, but it's not without
> interest either. When Silva starts to depend on Five, I would like a
> better story than "Oh, you need to install all of Zope X3 as well".

Sounds like a reasonable plan to me.

There are two specific sorts of exclusions: "exclude X" and "exclude
X, and don't add it's dependencies".  I think zpkg only needs the
later.


  -Fred

-- 
Fred L. Drake, Jr.    <fdrake at gmail.com>
Zope Corporation


More information about the Zope3-dev mailing list