Re: [Zope3-dev] Re: How to deal with major versions? (was Re: Re: egg version numbers and zope releases)

2007-06-01 Thread Dieter Maurer
Philipp von Weitershausen wrote at 2007-5-31 21:35 +0200:
 ...
I would prefer to spell Jim's example as:

   1.=2.3

-1



-- 
Dieter
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



[Zope3-dev] Re: How to deal with major versions?

2007-05-31 Thread Chris Withers

Jim Fulton wrote:


I don't see how this helps one say that they want to depend on a minimum 
version of a major version.  That is, how does it prevent dependencies 
like:


foo =1.0 1.999

?

I'm wondering how Gentoo got *that* right.


I wonder if the package should have something in it's setup.py that says 
I won't be compatible with anything expecting version 2.0 ?


This would end up as metadata on pypi or in the egg/.tar.gz and 
setuptools could do the hard work of resolving the dependencies...


It also removes the burden of specifying maximum revision numbers on the 
consuming packages and puts it where it belongs: on the maintainer of 
the package who knows if it's going to be backwards compatible or not..


cheers,

Chris

--
Simplistix - Content Management, Zope  Python Consulting
   - http://www.simplistix.co.uk

___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Re: How to deal with major versions?

2007-05-31 Thread Jim Fulton


On May 31, 2007, at 4:04 AM, Chris Withers wrote:


Jim Fulton wrote:
I don't see how this helps one say that they want to depend on a  
minimum version of a major version.  That is, how does it prevent  
dependencies like:

foo =1.0 1.999
?
I'm wondering how Gentoo got *that* right.


I wonder if the package should have something in it's setup.py that  
says I won't be compatible with anything expecting version 2.0 ?


You say that by sayng that you require =2. (I suspect a typo on your  
part.)


This would end up as metadata on pypi or in the egg/.tar.gz and  
setuptools could do the hard work of resolving the dependencies...


Setuptools doesn't try that hard.  Someday, buildout will try a lot  
harder -- when necessary.



It also removes the burden of specifying maximum revision numbers  
on the consuming packages and puts it where it belongs: on the  
maintainer of the package who knows if it's going to be backwards  
compatible or not..


I don't understand that argument.  You still have to state a  
requirement.  Maybe I don't understand your proposal.


Jim

--
Jim Fulton  mailto:[EMAIL PROTECTED]Python 
Powered!
CTO (540) 361-1714  
http://www.python.org
Zope Corporationhttp://www.zope.com http://www.zope.org



___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



[Zope3-dev] Re: How to deal with major versions? (was Re: Re: egg version numbers and zope releases)

2007-05-31 Thread Philipp von Weitershausen

Dieter Maurer wrote:

Jim Fulton wrote at 2007-5-30 15:30 -0400:

...
IMO, having every dependency look like:

   project_name =X.y.z X.999

Is too cumbersome.


Maybe, we should put this into perspective:

   What part of our time do we spend on the specification
   of dependancies? 0.01 per cent?


True. However, the problem does not arise when specifying the 
dependency. The problem will arise when the dependencies were too loose 
and all of a sudden a version that's too new is pulled in (because it 
also satisfies the dependency constraint).



Furthermore, a new major version probably introduces some backward
incompatibilities. However that does not mean that a given
component will not work with the new major version.

In fact, I rarely have to change my components to support new
major versions.

Thus, it may not be that often we have to specify  X..


Yes, I suspect the same. Also, I think that we can try to be less 
disruptive in the future.



--
http://worldcookery.com -- Professional Zope documentation and training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



[Zope3-dev] Re: How to deal with major versions? (was Re: Re: egg version numbers and zope releases)

2007-05-31 Thread Philipp von Weitershausen

Jim Fulton wrote:


On May 30, 2007, at 5:45 PM, Christian Theune wrote:


Am Mittwoch, den 30.05.2007, 17:29 -0400 schrieb Jim Fulton:

How would you say that you wanted 1.2.3 or later and less than 1.3?


I think in that case you end up with a combination of =1.2.3  =1.2*

Hmn. Is that good or bad?


I don't thin it's much better  than:

   =1.2.3 1.2.999


I would prefer to spell Jim's example as:

  1.=2.3


--
http://worldcookery.com -- Professional Zope documentation and training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



[Zope3-dev] Re: How to deal with major versions? (was Re: Re: egg version numbers and zope releases)

2007-05-30 Thread Jeff Kowalczyk
Jim Fulton wrote:
 I don't see how this helps one say that they want to depend on a minimum
 version of a major version.  That is, how does it prevent dependencies
 like:
 
  foo =1.0 1.999
 
 I'm wondering how Gentoo got *that* right.

With its naming rules, portage can use a wildcard:

  =foo-1.*

http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2chap=1#doc_chap5

Portage also uses 'foo2' as a configuration variable to control
dependencies while keeping the unaltered package names:

  Code Listing 7: Conditionals based on USE-settings
  DEPEND=X? ( =x11-base/xfree-4.3 )
  mysql? ( =dev-db/mysql-3.23.49 )
  apache2? ( =net-www/apache-2 )
  !apache2? ( =net-www/apache-1* )


___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com