How to deal with major versions? (was Re: [Zope3-dev] Re: egg version
numbers and zope releases)
Jim Fulton
jim at zope.com
Wed May 30 15:30:10 EDT 2007
On May 30, 2007, at 3:20 PM, Christian Theune wrote:
> Hi,
>
> Am Mittwoch, den 30.05.2007, 15:12 -0400 schrieb Benji York:
>> Jim Fulton wrote:
>>> It's actually worse than that. <2.0 would admit 2.0a1. :) You'd
>>> probably need something like < 1.99.
>>
>> I can deal with spelling dependencies on major version X as <= X.999.
>>
>>> Even if developers remembered, it would be icky to have to spell out
>>> something like >=3.4 <=3.99 on everwhere.
>>
>> Not as icky (IMHO) as having distribution names with embedded major
>> version numbers. I'm interested in other people's opinions here.
>
> I don't like version numbers encoded in package names. I consider this
> to be a work-around for packaging systems that aren't rich enough.
>
> (Gentoo for example gets this right.)
Could you elaborate on this?
>>> Maybe there is some kind of dependency syntax that reads well that
>>> means "I want this major version". Can you think of a syntax
>>> that is
>>> actually nicer than foo2?
>>
>> I can think of a syntax, but don't know if setuptools supports it.
>> Perhaps I should look that up. But I wont.
>
> I read the documentation on the version numbers multiple times and
> can't
> remember anything that supports our use case.
>
> Maybe we should as pje whether there is something like what we
> imagine?
I think I know what the answer will be. After all, there is a syntax
for getting what we want. The problem with it, IMO, and I think in
other people's opinion is that it is too cumbersome.
IMO, having every dependency look like:
project_name >=X.y.z <X.999
Is too cumbersome. Maybe we should get over that. Maybe many other
people don't think it's too cumbersome. Alternatively, maybe someone
can think of a prettier/more-concise syntax and sell it to PJE.
I'll note that this is especially cumbersome if, as I believe, for
90% of packages, there isn't any good reason to make backward
compatible changes, at least after initial development. So all
packages would end up getting a dependency-specification tax even
though only a few packages will need backward compatibility changes.
Jim
--
Jim Fulton mailto:jim at zope.com Python Powered!
CTO (540) 361-1714 http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org
More information about the Zope3-dev
mailing list