[Zope-dev] [Checkins] SVN: zope.app.http/trunk/- Replacedthedependency on zope.deprecation with BBB imports
faassen at startifact.com
Thu May 28 08:58:39 EDT 2009
Roger Ineichen wrote:
> My fear is that deprecated imports will pull in packages
> and act as the single point of an egg declaration. If someone
> removes a dependency during a deprecation import cleanup lets
> say zope.formlib in z3c.form from version 1.9.0 to 2.0.0 then
> it's possible that a custom project didn't fix the zope.formlib
> depndency in his setup.py because there is no need to do so.
I'm not sure I understand, but if you directly use zope.formlib you
should have a direct dependency on it in your setup.py.
> Good luck if the last egg cleans up the zope.formlib dependency
> and you didn't fix it in your project for your self. This
> will end in loosing the dependency at all and you don't know
> why. Of corse you can fix this lost dependency and add it to
> your setup.py. But you still don't know why. You also can't
> find information about why in the zope.formlib package is not
> needed anymore because another package is responsible for
> not using the zope.formlib package.
If you don't use zope.formlib, there isn't a problem. If you do use it,
you should declare it. I'm not sure I understand the problem here. Of
course the dependency refactoring will cause breakages here and there,
but I don't think they're intractable (especially if we do provide a KGS
for the toolkit packages).
> The deprecation message is a very important information and
> can keep you informed on what's going on and about new better
I think you should be reading the CHANGES.txt of the packages you depend
on when you upgrade the dependency.
If you *don't* depend on a package directly, you normally shouldn't have
to be concerned when it disappears. Of course there might be bugs
introduced in this process: packages you do somehow indirectly depend on
disappear. That's something we'll have to live with if we want to move
forward at all. I don't see how zope.deprecation is going to make any
difference in this in any way however - you won't see any deprecation
warnings either as the underlying package is simply gone.
A CHANGES.txt can contain much much better information than the
deprecation warnings ever could. It can detail what happened, why it
did, and what you should be doing. I've been rather confused with a
"what now?" feeling when confronted with deprecation warnings in the
past, and there was nothing else but these messages that I could
More information about the Zope-Dev