zc.recipe.cmmi destroys shared builds inadvertently

Bug #695977 reported by Thomas Lotze
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Buildout
Fix Released
Undecided
Unassigned

Bug Description

The location where a package is installed by the cmmi routine is considered a file-system resource of the buildout part in question, i.e. the recipe's install method returns the path to the installation. This happens even if the build is shared.

However, if two projects share a build and one of them decides to no longer need it (by turning shared builds off or removing the cmmi part altogether), buildout removes the shared build because it is considered to belong to the part, without knowing that the second project still needs the shared build.

A solution would need to do at least the following:

- stop returning the path of the shared installation from the install method
- still return the path to the installation if the build is *not* shared, so buildout can clean up parts that are self-contained
- provide some mechanism for the recipe itself to detect when a shared build has been removed and needs to be rebuilt since buildout can no longer detect such a condition

Thomas Lotze (tlotze)
Changed in zc.buildout:
status: New → Fix Committed
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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