Options are not reliably copied when using nested sections

Bug #676962 reported by Alan Hoey
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Buildout
New
Undecided
Unassigned

Bug Description

This is difficult to explain, please see attached buildout.

I've created two parts (instance1 and instance2), which both extend a part called zeoclient-instance. The zeoclient-instance part itself extends another part called zope-instance. I would expect both instance1 and instance2 to have the options provided by the zope-instance part. In the example, I'd expect the two instances to both have eggs options, but only the first one does.

Basically, when extending parts which themselves are extension, only the first part which extends the nested parts gets the options from the lowest level.

It appears to be caused by the fact that buildout pops the "<" option from any part it does the extensions for while it is doing the extensions. On line 1154 in buildout.py replacing .pop with .get results in the expected behaviour, but would mean that the '<' options would persist. Perhaps the '<' option could be removed outside the recursive call to _do_extend_raw (around line 1125)?

Revision history for this message
Alan Hoey (alan-hoey) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.