[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