[Zope3-dev] Re: zc.buildout: When is recipe.install run?

Jim Fulton jim at zope.com
Fri Sep 15 11:19:21 EDT 2006


On Sep 12, 2006, at 9:44 AM, Jim Fulton wrote:

>
> On Sep 12, 2006, at 9:03 AM, Martijn Faassen wrote:
> ...
>> The 'svn update' usecase is the reason we could think of why  
>> install is always called, even if recipe and buildout config  
>> hasn't changed.
>>
>> Right now the install method can be called in a number of  
>> different cases:
>>
>> a) when the part isn't there yet
>>
>> b) when the part is there, and the configuration or recipe has  
>> changed. In this case the part is removed again automatically, so  
>> this is equivalent to a).
>>
>> c) when the part is there, and the recipe and configuration have  
>> not changed. In this case there needs to be code that bails out if  
>> the part is there and looks okay, or alternatively update code  
>> that updates the part (svn up).
>>
>> Case c) looks different. If there was an update method that got  
>> called in case c), the install method wouldn't need to be called  
>> anymore, and:
>>
>> * the install method can *always* assume the part isn't there and  
>> that it needs to freshly install it.
>>
>> * the update method can *always* assume the part is already there  
>> and it needs to be updated (if necessary).
>>
>> * we don't need to implement our 'bail-out' method in install  
>> anymore.
>
> Let me mull that a bit.

I like this idea.  So, in the (not too distant) future, one of  
install or update will be run, but not both.  install will be called  
when a part is not installed, and update otherwise.  If a recipe  
doesn't have an update method, then install will be called instead  
and a warning will be issued.

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