[Zope3-dev] Re: faulty releases and pypi access [update]

Jim Fulton jim at zope.com
Wed Sep 26 18:31:53 EDT 2007


On Sep 26, 2007, at 6:23 PM, Philipp von Weitershausen wrote:

> On 27 Sep 2007, at 00:14 , Jim Fulton wrote:
>>> Let's say X depends on Y and I'm developing them simultaneously  
>>> as development eggs in one sandbox (e.g. buildout). I add a  
>>> feature to Y that I'd like to use in X. That means I'll have to  
>>> change X's version dependency regarding Y so that it now depends  
>>> on Y>a.b where a.b is the latest release that didn't have the  
>>> feature I added.
>>>
>>> Will Y with the setup.py stating version='unreleased' satisfy the  
>>> Y>a.b requirement that X (rightfully) has? If not, then I think  
>>> we have a problem. If yes, then I find that very confusing.
>>
>> Leaving aside for the moment the fact that "develop" eggs are used  
>> for system egg installs :(,
>>
>> I think if a buildout uses a develop egg, there should be a very  
>> strong presumption that it it should be used. OTOH, if you have a  
>> part that depends on a previous major version, then you don't  
>> really want to use a develop egg for the later release.  This is a  
>> bit of an edge case though.
>
> It is as long as you ignore the fact that all major Linux distros  
> install develop eggs into site-packages.

I already left that aside. :)

Buildout should be able to detect this case and deal with it, which  
is why I left it aside.

>
>>> I still see the development egg case the best argument for  
>>> putting the next anticipated version number into setup.py. I  
>>> think the compromise of version number + 'dev' marker would work  
>>> best.
>>
>> I agree that the develop egg case is problematic.  I'd like to  
>> think about that.
>>
>> If you ever actually make dev releases, then guessing wrong about  
>> the next version could cause real problems.
>
> Oh, I'm not actually thinking about dev releases. I too think  
> they're very problematic. I just suggested using the 'dev' marker  
> as a way to tell branches or the trunk apart from tags.

But people will make these releases and leaving the version out will  
mean that these releases will be harmless.

> On the branches and trunk, setup.py's version is the next  
> anticipated release + 'dev', while on tags it's just release  
> version. That way people won't accidentally make releases from  
> branches or the trunk (because they'd get an egg with a 'dev' in  
> the version). They'll have to use a tag.

You think getting an egg with dev in the version will stop them?

Jim

--
Jim Fulton
Zope Corporation




More information about the Zope3-dev mailing list