Re: [Zope3-dev] Re: A thought on backward compatibility and minimum versions
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
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
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
-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
-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
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
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
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
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
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
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
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
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
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
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