Stephan Richter wrote: > On Tuesday 10 March 2009, Dan Korostelev wrote: >>> Either you have a dependency and declare it or you don't have a >>> dependency. Since we don't want to use "extras" anymore, I think this >>> calls for another package which depends on zope.password and zope.schema. >> I still don't like/get the idea of creating and maintaining extra >> package that merely contains a vocabulary factory for another package. >> Whatever, I reverted that change. Roger, just exclude >> zope.app.authentication's "password.zcml" file, include >> "zope.password" explicitly and define your own vocabulary. > > I think we have become dependency paranoid. And we embrace package > proliferation instead, which in my opinion is equally bad. If you really hate > the dependency, make it an extra requires. I know that goes against the > latest guidelines as well...*sigh* > > My big problem here is that we dismiss all solutions but new packages. We > want > to minimize dependencies and not have extra includes. The only choice left is > a separate package. We should, however try to make the number of packages a > parameter too.
It seems to me that "extras" are a lot like Gentoo USE flags, except that the infrastructure for USE flags is much more complete. USE flags are an essential feature of Gentoo. Perhaps if the Python packaging chain had similar infrastructure, there would no longer be a reason to avoid extras and we could solve packaging and dependency problems a lot more easily. Here are a few things you can do with USE flags that you can't yet do with extras: - You can enable or disable a USE flag globally (yet override it per-package). If you don't need X-Windows on your server, just add "-X" to /etc/make.conf, and nothing will be built with optional X support. If we had this feature, we would just add "-zope.component" to buildout.cfg and nothing would be installed with optional component architecture support. - Packagers can specify whether a USE flag should be enabled by default. - USE flags can cause whole chunks of code to not be compiled or installed. I would love to be able to specify "-coptimizations" to build a Zope app without any optional C optimizations. (That way, tracebacks would often be more informative.) These days I run both a Gentoo and an Ubuntu box. The Gentoo box has more features, but fewer packages, because Gentoo doesn't have to divide packages to avoid dependencies. My $0.02. Shane _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )