Buildout and ExternalMethods - ZEO install

It's not enough to tell buildout that you're using

eggs =
    Products.ExternalMethod

Your Extensions folder will be deleted when running buildout. Fortunately, there's this:

zope-conf-additional = extensions ${buildout:directory}/Extensions

and an Extensions folder will be created. That's nice. [edit] it didn't work for me [/edit]

But what about a ZEO installation? The classic way is to have a unique Extensions folder higher up, and symlinks named "Extensions" under each client.

Is there any way that buildout could create those symlinks?

Plone 3 we did in buildout:

[extensions_dir]
recipe = plone.recipe.command
command =        
        rm -rf ${zeo1:location}/Extensions
        ln -sf /opt/plone/Extensions ${zeo1:location}
        rm -rf ${zeo2:location}/Extensions
        ln -sf /opt/plone/Extensions ${zeo2:location}
        rm -rf ${zeo3:location}/Extensions
        ln -sf /opt/plone/Extensions ${zeo3:location}
        rm -rf ${zeo4:location}/Extensions
        ln -sf /opt/plone/Extensions ${zeo4:location}

update-command = ${extensions_dir:command}

maybe still possible, good luck.

Thanks, I'll let you know!

Plone Foundation Code of Conduct