Re: [Zope3-dev] Re: A thought on backward compatibility and minimum versions

2007-06-01 Thread Chris Withers

Tres Seaver wrote:

Another feature I'm not sure is already in setuptools:

  - I *don't* want dev releases to replace production ones
implicitly:  no package should be able to install a non-released
version without explicit callout.  If this isn't already the
default behavior, then I'd like syntax for spelling it.


+lots... I haven't been paying huge amounts of attention, but I've 
noticed what seemed to be a few people complaining about dev eggs 
stomping on their production eggs :-S


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: A thought on backward compatibility and minimum versions

2007-06-01 Thread Jim Fulton


On Jun 1, 2007, at 7:04 AM, Chris Withers wrote:


Jim Fulton wrote:
Any release tagged as alpha, beta, rc, pre, or with an  
SVN revision.


I agree with Tres' goal. I think setuptools refers to those as
pre-release tags. And I think anything that has a pre-release tag
should be considered unstable.

SVN revisions are provided as post-release tags.


wow, that's not good...

If I'm running a production setup, I'd be mortified if upgrading a  
library with setuptools suddenly pulled down a load of pre or post  
release eggs :-S


I know buildout lets your feeze egg version numbers, but not doing  
silly things seems like something setuptools should do ;-)


As I mentioned earlier, silly is a matter of policy.  I'll note  
(not proudly) that both setuptools and buildout are both currently on  
a pre release status.  I plan to get buildout to 1.0 rsn.


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



Re: [Zope3-dev] Re: A thought on backward compatibility and minimum versions

2007-06-01 Thread Dieter Maurer
Philipp von Weitershausen wrote at 2007-5-31 22:04 +0200:
 ...
 How about

   foo 2.=5

 This seems really weird to me.

 I much prefer: foo 2, =2.5

 Would you be able to write

   foo 2.4, =2.4.3

 Yup.

Hmm, ok, then I'm at least not against it. But I still think my  
variant is shorter and more self-explanatory.

It, definitely, is shorter -- but I cannot see why it should be
self-explanatory.

   It severely bends the usual meaning of =: I
   associate it strongly with a binary operator -- and 2.=5 goes strongly
   against this association.



-- 
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: A thought on backward compatibility and minimum versions

2007-05-31 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Jim Fulton wrote:
 In thinking about how we might specify that we want to depend on  
 major versions but sometimes need to specify minimum versions, the  
 following occurred to me:
 
 - Suppose that we always had access to the latest released version,
 
 - Suppose that, within a major release, all releases were backward  
 compatible,
 
 Then I assert that there is no *need* to specify a minimum release  
 within a major release.
 
 Consider an example:
 
 I depend on foo 2 (foo =2 2.999).  Now foo 2.5 introduces a new  
 feature and I use this feature. In reality, I now depend on version  
 2.5 or higher (and 2.999).  I shouldn't need to specify this. After  
 all, I'll always get new releases.  Why wouldn't I?  Well, I might  
 also depend on bar and bar might depend on foo =2.4. Why would bar  
 do this?  The only sane reason is that 2.5 introduced a backward- 
 incompatible change, but we don't allow that.  If we don't have to  
 worry about backward incompatible changes within a major release  
 cycle, then there is no reason to set an upper limit and therefore,  
 there is no *practical* need to specify a lower limit.
 
 Combined with the fact that that great majority of packages don't  
 change very much after they have become stable, I think most package  
 dependencies could be expressed very simply if there was a simple  
 syntax to specify *just* the major version.  In the context of  
 setuptools, I think * could be used, as has been suggested, but  
 without leading =s.  So, to specify foo version 2, I think the  
 following syntax would be very reasonable:
 
foo 2*
 
 This wouldn't prevent someone from specifying a minimum version.  For  
 example, to combine this with a minimum requirement of 2.5:
 
foo 2* =2.5
 
 If people like these ideas, I'd be willing to lobby for them on the  
 distutils sig, especially if I have help. :)
 
 Note that the proposal would be that, a specification of the form if  
 a version number followed by a * would be equivalent to a range:
 
 project_name V* is equivalent project_name V.* is equivalent  
 to project_name =V V.9
 
 (Or maybe equivalent to project_name =V.dev =V.9.)
 
 Also note that It's not clear that the * is needed.
 
 foo 2 isn't a valid specification.  We *could* extend the  
 requirements language to allow a project name followed by a version  
 number.  So:
 
 prject_name V is equivalent to project_name =V V.9.

I'd rather have the dot, e.g. foo 2.* = 2.5, just for clarity:

  - It makes the intent clearer (that you want any version in the
two dot release line).

  - It disambiguates the case where the version number might have
double digits (e.g, '0.1' vs. '0.10').

Another feature I'm not sure is already in setuptools:

  - I *don't* want dev releases to replace production ones
implicitly:  no package should be able to install a non-released
version without explicit callout.  If this isn't already the
default behavior, then I'd like syntax for spelling it.


Tres.
- --
===
Tres Seaver  +1 540-429-0999  [EMAIL PROTECTED]
Palladion Software   Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGXuKo+gerLs4ltQ4RArrWAJwMowPxfb95Jl7oAUCZUQCRD7o8kQCcD9+G
kGpfoL51tpgWWWlgpOwXktY=
=5KVO
-END PGP SIGNATURE-
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



[Zope3-dev] Re: A thought on backward compatibility and minimum versions

2007-05-31 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Jim Fulton wrote:
 On May 31, 2007, at 10:58 AM, Tres Seaver wrote:
 I'd rather have the dot, e.g. foo 2.* = 2.5, just for clarity:

   - It makes the intent clearer (that you want any version in the
 two dot release line).

   - It disambiguates the case where the version number might have
 double digits (e.g, '0.1' vs. '0.10').
 
 This depends on how the * is interpreted.  setuptools already treats  
 dots as optional in many cases and this would be one more.  I also  
 prefer the last syntax I suggested without the *. So, the example  
 would become:
 
foo 2, =2.5

That seems like an empty set to me.

 (I forgot commas in my earlier examples.)
 
 Without the *, I think there is less of tendency to interpret the  
 specification as a glob.
 
 
 Another feature I'm not sure is already in setuptools:

   - I *don't* want dev releases to replace production ones
 implicitly:  no package should be able to install a non-released
 version without explicit callout.  If this isn't already the
 default behavior, then I'd like syntax for spelling it.
 
 What do you mean by a dev release?

Any release tagged as alpha, beta, rc, pre, or with an SVN revision.

- --
===
Tres Seaver  +1 540-429-0999  [EMAIL PROTECTED]
Palladion Software   Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGXuZs+gerLs4ltQ4RAgrgAKCkXrIkwHzegujOnobtd9T3TzwO0ACfWXNY
NZLXDYZDyk7ADYy/2kKllUE=
=W5nx
-END PGP SIGNATURE-
___
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: A thought on backward compatibility and minimum versions

2007-05-31 Thread Christian Theune
Am Donnerstag, den 31.05.2007, 11:14 -0400 schrieb Tres Seaver:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Jim Fulton wrote:
  What do you mean by a dev release?
 
 Any release tagged as alpha, beta, rc, pre, or with an SVN revision.

I agree with Tres' goal. I think setuptools refers to those as
pre-release tags. And I think anything that has a pre-release tag
should be considered unstable.

Christian

-- 
gocept gmbh  co. kg - forsterstraße 29 - 06112 halle/saale - germany
www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 -
fax +49 345 122 9889 1 - zope and plone consulting and development


signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil
___
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: A thought on backward compatibility and minimum versions

2007-05-31 Thread Jim Fulton


On May 31, 2007, at 11:14 AM, Tres Seaver wrote:


-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Jim Fulton wrote:

On May 31, 2007, at 10:58 AM, Tres Seaver wrote:

I'd rather have the dot, e.g. foo 2.* = 2.5, just for clarity:

  - It makes the intent clearer (that you want any version in the
two dot release line).

  - It disambiguates the case where the version number might have
double digits (e.g, '0.1' vs. '0.10').


This depends on how the * is interpreted.  setuptools already treats
dots as optional in many cases and this would be one more.  I also
prefer the last syntax I suggested without the *. So, the example
would become:

   foo 2, =2.5


That seems like an empty set to me.


Not to me.  :)  foo ==2, =2.5 would be a specification for the  
empty set.



Another feature I'm not sure is already in setuptools:

  - I *don't* want dev releases to replace production ones
implicitly:  no package should be able to install a non-released
version without explicit callout.  If this isn't already the
default behavior, then I'd like syntax for spelling it.


What do you mean by a dev release?


Any release tagged as alpha, beta, rc, pre, or with an SVN  
revision.


I'm fairly sure that this isn't supported.  It seems like a  
reasonable thing to request.


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



Re: [Zope3-dev] Re: A thought on backward compatibility and minimum versions

2007-05-31 Thread Jim Fulton


On May 31, 2007, at 11:26 AM, Christian Theune wrote:


Am Donnerstag, den 31.05.2007, 11:14 -0400 schrieb Tres Seaver:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Jim Fulton wrote:

What do you mean by a dev release?


Any release tagged as alpha, beta, rc, pre, or with an SVN  
revision.


I agree with Tres' goal. I think setuptools refers to those as
pre-release tags. And I think anything that has a pre-release tag
should be considered unstable.


SVN revisions are provided as post-release tags.

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



Re: [Zope3-dev] Re: A thought on backward compatibility and minimum versions

2007-05-31 Thread Christian Theune
Am Donnerstag, den 31.05.2007, 11:28 -0400 schrieb Jim Fulton:
 On May 31, 2007, at 11:26 AM, Christian Theune wrote:
 
  Am Donnerstag, den 31.05.2007, 11:14 -0400 schrieb Tres Seaver:
  -BEGIN PGP SIGNED MESSAGE-
  Hash: SHA1
 
  Jim Fulton wrote:
  What do you mean by a dev release?
 
  Any release tagged as alpha, beta, rc, pre, or with an SVN  
  revision.
 
  I agree with Tres' goal. I think setuptools refers to those as
  pre-release tags. And I think anything that has a pre-release tag
  should be considered unstable.

Right, however, they form a combination of pre- and post-release tags,
e.g:

zope.interface-3.4dev-r1234 is the '1234' post-release of the 'dev'
pre-release and so overall from the perspective of 3.4 a pre-release.

-- 
gocept gmbh  co. kg - forsterstraße 29 - 06112 halle/saale - germany
www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 -
fax +49 345 122 9889 1 - zope and plone consulting and development


signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



[Zope3-dev] Re: A thought on backward compatibility and minimum versions

2007-05-31 Thread Philipp von Weitershausen

Jim Fulton wrote:
Combined with the fact that that great majority of packages don't change 
very much after they have become stable, I think most package 
dependencies could be expressed very simply if there was a simple syntax 
to specify *just* the major version.  In the context of setuptools, I 
think * could be used, as has been suggested, but without leading =s.  
So, to specify foo version 2, I think the following syntax would be very 
reasonable:


  foo 2*


Why can't this be foo 2 ?

This wouldn't prevent someone from specifying a minimum version.  For 
example, to combine this with a minimum requirement of 2.5:


  foo 2* =2.5


How about

  foo 2.=5

?


--
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: A thought on backward compatibility and minimum versions

2007-05-31 Thread Philipp von Weitershausen

Philipp von Weitershausen wrote:

Jim Fulton wrote:
Combined with the fact that that great majority of packages don't 
change very much after they have become stable, I think most package 
dependencies could be expressed very simply if there was a simple 
syntax to specify *just* the major version.  In the context of 
setuptools, I think * could be used, as has been suggested, but 
without leading =s.  So, to specify foo version 2, I think the 
following syntax would be very reasonable:


  foo 2*


Why can't this be foo 2 ?


Nevermind, I shot too fast. I realize that foo 2* *only* wants foo 2.x 
and not 3.x... So, in my suggested spelling, I would write it as


  foo 2.=0

I wouldn't mind shorting that to

  foo 2.*

though


--
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



Re: [Zope3-dev] Re: A thought on backward compatibility and minimum versions

2007-05-31 Thread Jim Fulton


On May 31, 2007, at 3:37 PM, Philipp von Weitershausen wrote:


Jim Fulton wrote:
Combined with the fact that that great majority of packages don't  
change very much after they have become stable, I think most  
package dependencies could be expressed very simply if there was a  
simple syntax to specify *just* the major version.  In the context  
of setuptools, I think * could be used, as has been suggested,  
but without leading =s.  So, to specify foo version 2, I think the  
following syntax would be very reasonable:

  foo 2*


Why can't this be foo 2 ?

This wouldn't prevent someone from specifying a minimum version.   
For example, to combine this with a minimum requirement of 2.5:

  foo 2* =2.5


How about

  foo 2.=5


This seems really weird to me.

I much prefer: foo 2, =2.5

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



Re: [Zope3-dev] Re: A thought on backward compatibility and minimum versions

2007-05-31 Thread Jim Fulton


On May 31, 2007, at 3:40 PM, Philipp von Weitershausen wrote:


Philipp von Weitershausen wrote:

Jim Fulton wrote:
Combined with the fact that that great majority of packages don't  
change very much after they have become stable, I think most  
package dependencies could be expressed very simply if there was  
a simple syntax to specify *just* the major version.  In the  
context of setuptools, I think * could be used, as has been  
suggested, but without leading =s.  So, to specify foo version 2,  
I think the following syntax would be very reasonable:


  foo 2*

Why can't this be foo 2 ?


Nevermind, I shot too fast. I realize that foo 2* *only* wants  
foo 2.x and not 3.x... So, in my suggested spelling, I would write  
it as


  foo 2.=0

I wouldn't mind shorting that to

  foo 2.*

though


I'd like to go even farther to: foo 2.

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



Re: [Zope3-dev] Re: A thought on backward compatibility and minimum versions

2007-05-31 Thread Jim Fulton


On May 31, 2007, at 3:54 PM, Philipp von Weitershausen wrote:


On 31 May 2007, at 21:50 , Jim Fulton wrote:

On May 31, 2007, at 3:37 PM, Philipp von Weitershausen wrote:


Jim Fulton wrote:
Combined with the fact that that great majority of packages  
don't change very much after they have become stable, I think  
most package dependencies could be expressed very simply if  
there was a simple syntax to specify *just* the major version.   
In the context of setuptools, I think * could be used, as has  
been suggested, but without leading =s.  So, to specify foo  
version 2, I think the following syntax would be very reasonable:

  foo 2*


Why can't this be foo 2 ?

This wouldn't prevent someone from specifying a minimum  
version.  For example, to combine this with a minimum  
requirement of 2.5:

  foo 2* =2.5


How about

  foo 2.=5


This seems really weird to me.

I much prefer: foo 2, =2.5


Would you be able to write

  foo 2.4, =2.4.3


Yup.

Jim

(Of course, I have to sell this to PJE. :)

--
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



Re: [Zope3-dev] Re: A thought on backward compatibility and minimum versions

2007-05-31 Thread Philipp von Weitershausen

On 31 May 2007, at 22:00 , Jim Fulton wrote:


On May 31, 2007, at 3:54 PM, Philipp von Weitershausen wrote:


On 31 May 2007, at 21:50 , Jim Fulton wrote:

On May 31, 2007, at 3:37 PM, Philipp von Weitershausen wrote:


Jim Fulton wrote:
Combined with the fact that that great majority of packages  
don't change very much after they have become stable, I think  
most package dependencies could be expressed very simply if  
there was a simple syntax to specify *just* the major version.   
In the context of setuptools, I think * could be used, as has  
been suggested, but without leading =s.  So, to specify foo  
version 2, I think the following syntax would be very reasonable:

  foo 2*


Why can't this be foo 2 ?

This wouldn't prevent someone from specifying a minimum  
version.  For example, to combine this with a minimum  
requirement of 2.5:

  foo 2* =2.5


How about

  foo 2.=5


This seems really weird to me.

I much prefer: foo 2, =2.5


Would you be able to write

  foo 2.4, =2.4.3


Yup.


Hmm, ok, then I'm at least not against it. But I still think my  
variant is shorter and more self-explanatory.



(Of course, I have to sell this to PJE. :)


Not only to him, I guess...


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