On Apr 2, 2008, at 3:44 PM, Hanno Schlichting wrote: > Hi. > > I ran into a problem with zc.buildout while upgrading a customers > buildout and wondered if the problem I encountered is a general one. > > The buildout in question had one recipe pinned down to an exact > version > as in: > > [buildout] > parts = > plone > > [plone] > recipe = plone.recipe.plone==3.0.2 > > To upgrade this environment I changed the explicit version to 3.0.6: > > [buildout] > parts = > plone > > [plone] > recipe = plone.recipe.plone==3.0.6 > > When rerunning the buildout script I got an error during uninstall of > the plone part. It complained that the plone.recipe.plone recipe > version > 3.0.2 was not available. > > From my understanding of this, buildout parses the version > requirements > first and at the point where it wants to uninstall the plone part, > only > the newer 3.0.6 version of the recipe is available. > > The workaround was to change .installed.cfg and remove the version > restriction, so any version of the recipe would be accepted to > uninstall > the part, but I wonder if there is a general problem here or if we are > misusing the version restrictions?
I think there is a general problem and no, you aren't miss-using the the version restriction. > I have the feeling that buildout should either add the old recipe to > the > environment to satisfy the uninstall requirement Unfortunately, there can be only one version in the environment at a time. > or accept newer > versions of a recipe to uninstall older versions. That is probably better. Another option might be to uninstall in a separate process. (Just thinking out loud.) > Thoughts? I need to think about this. :) I haven't seen this situation before, although I should have expected it. I'll think about this and respond in a day or 2. If I forget, bug me, or create a launchpad issue. Jim -- Jim Fulton Zope Corporation _______________________________________________ Distutils-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/distutils-sig
