Resurrecting old Plone 3 buildouts

by Matt Sital-Singh on Nov 22, 2013
Filed Under:

Back in the early days of Plone 3, when buildout was still in it's infancy, nobody remembered to pin their versions. If you return to one of these buildouts, you get scary looking messages like this:

Error: There is a version conflict.
We already have: zope.location 0.0
but zope.site 3.9.2 requires 'zope.location>=3.7.0'.

Here's how to try and rescue an old Plone 3 buildout: 

Pin versions to a known good set

If the site is running successfully somewhere, you can grab the working versions from it by following these instructions.

Set up fake-eggs

Make sure your buildout [zope2] section looks something like this:

[zope2]
recipe = plone.recipe.zope2install
url = ${versions:zope2-url}
fake-zope-eggs = true
additional-fake-eggs =
    Plone
    Zope2
    ZODB3

 

Pin troublesome eggs

There are some key plone eggs that require separate versions for Plone 3 and Plone 4. If you use the Plone 4 versions in your Plone 3 buildout (or just don't pin them correctly), they will try and pull incompatible stuff from Zope2 and Plone4 into your buildout.

Make sure these in particular are pinned:

[versions]
plone.recipe.zope2instance = 3.6
plone.reload = 1.5

If you are still stuck, try some of these pages:

http://plone.org/documentation/kb/repair-a-plone-3.1-buildout

http://developer.plone.org/troubleshooting/buildout.html

Filed under: ,
Steve McMahon
Steve McMahon says:
Nov 22, 2013 05:06 PM
I haven't checked earlier versions, but the 3.3.6 Unified Installer is still robust. Just run it, then edit the buildout to do whatever you need.
keul
keul says:
Nov 25, 2013 01:28 PM
Puttin "Plone" in the fake-eggs section is only for Plone<3.2 versions, when it was not eggified.

Also: in some situation you can use ZODB3 real egg (for example, when you want to get the blob support).

Finally: sometimes I get a lot of help including the old plone.app.discussion 1.0 pinning at http://good-py.appspot.com/release/plone.app.discussion/1.0

Commenting has now closed on this post.