On May 14, 2007, at 3:02 PM, Martin Aspeli wrote: > Jim Fulton wrote: >> FWIW, I expect to have to implement this for buildout at some point. >> I don't plan to do it until it becomes a priority. :) > > Interesting. :)
Hey, I have lots of things to do. I have to prioritize. :) BTW, please don't request this until you really need it. >> WRT platform, I see this as an anti-solution. Fortunately, it looks >> like it has already been dismissed. :) The reason I see this as an >> anti-solution is that we already have a platform, namely Python 2.4, >> that might be better treated as a dependency. For example, there >> isn't a way, AFAIK, to state Python version requirements for source >> releases. I think it might be cleaner if things like Python version >> and maybe even size of unicode characters could be handled using the >> dependency mechanism. > > To me, the word "platform" means more than Python version and low- > level > OS things. I also meant things like "Plone" or "Zope". I'm not saying > these can't be handled by dependency backtracking, but it may be more > practical to think in terms of some higher level constructs. > > For example, if I develop a package for Plone, I may target Plone 3, > test with Plone 3.0.x and know that it works with 3.0.1. > > However, I may not have any direct dependencies on Plone - the package > could be more general, but other things used in Plone may mean that I > know it works with 3.0.1 but no earlier versions, and possibly not > 4.0+ > either. > > In a perfect world, entirely strict dependencies should tell us all > this. However, in practice, since things like Plone and Zope are > released as whole units, and not necessarily managed strictly as a > system of with eggs requiring each other (which, for something like > Plone, could end up being quite complex to manage), that may not work. > The algorithm to find them could be pretty hairy as well. > > As the builder of an application on top of Plone, all I really want is > "the version of the package that works with Plone 3.0.2" (or whichever > version I'm using). In this case, such "known-good platform" metadata > may be quite useful. I was just trying to note in a round about way that I prefer the simpler model of dependencies. We don't need to introduce a new concept. We just need a better version-resolution algorithm. We're going to need this sooner or later regardless of whether we have anything that someone might choose to call a platform. Note that having such an algorithm is more practical for buildout than with easy_install because the resolution is done at install time, rather than at run time, and can thus take longer if it needs to. jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org _______________________________________________ Distutils-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/distutils-sig
