Plone 3.2 and next comes with a hardcoded versions.cfg for each Plone release. For the current release:
http://dist.plone.org/release/3.2.2/versions.cfg
The Plone Upgrade Guide will show you how to transform a basic buildout created with paster:
http://plone.org/documentation/manual/upgrade-guide/version/upgrading-from-3-x-to-3.2
This solution will work until you already defined a ‘[versions]‘ section in your main buildout file. What we need is to merge the two ‘[versions]‘ sections.
For example, you current ‘buildout.cfg‘ looks like this:
[buildout] ... eggs = archetypes.schematuning Products.CacheSetup Products.errornumber collective.recipe.omelette collective.workflowed Products.DCWorkflowGraph Products.PrintingMailHost plone.reload Products.PDBDebugMode Products.DocFinderTab versions = versions [versions] zope.testing=3.5.1 zope.interface=3.4.1 Products.errornumber=1.2 archetypes.schematuning=1.1 Products.CacheSetup=1.2
If you add extends = http://dist.plone.org/release/3.2.2/versions.cfg it will be overloaded by the local section displayed above and will be simply ignored by ‘bin/buildout‘. If you run an update now all plone bundle eggs will be updated to the last published eggs (Plone 3.3b1, etc).
The solution consist to use the ‘extends’ directive to merge sections. For that we need to put your local ‘[versions]‘ section in a separate file.
‘dev-versions.cfg‘ will contain:
[versions] zope.testing=3.5.1 zope.interface=3.4.1 Products.errornumber=1.2 archetypes.schematuning=1.1 Products.CacheSetup=1.2
The ‘buildout.cfg‘ will contain:
[buildout] ... eggs = archetypes.schematuning Products.CacheSetup Products.errornumber collective.recipe.omelette collective.workflowed Products.DCWorkflowGraph Products.PrintingMailHost plone.reload Products.PDBDebugMode Products.DocFinderTab extends = dev-versions.cfg http://dist.plone.org/release/3.2.2/versions.cfg versions = versions
We can update now and verify our eggs versions:
- Plone 3.2.2
- plone.app.locales 3.2.0
- Products.CMFPlacefulWorkflow 1.4.0
- Products.CacheSetup 1.2
It is a certified Plone 3.2.2 installation with our specifics packages.
nice, thanks! i just ran across that problem today, good timing
By: Tom Lazar on 2009 March 16
at 6:22 pm
Are you absolutely sure about this?
I have buildouts with an extends and a local [versions] block, and they seem to be merged just as I’d expect.
If that isn’t happening, it’s probably a bug in buildout and worth reporting.
Martin
By: Martin Aspeli on 2009 March 16
at 7:23 pm
I always have a versions.cfg which extends from the Plone versions and my buildout.cfg extends my versions.cfg, maybe that’s why I never ran into this merge issue. But your first way should work anyway, extending Plone versions from your buildout.cfg and having a [versions] section in your buildout.cfg which should merge. If it doesn’t, then it’s, like Martin said, a bug.
By: Florian Schulze on 2009 March 16
at 8:03 pm