How to handle difficult old-style add-ons.
Sometimes an “old-style” add-on is distributed as
foo.tar.gz and extracts to
foo/, but the package is called
bar. This can be a problem when using the
plone.recipe.productdistros recipe because when
bar is extracted to
parts/productdistros/foo it will not work.
Fortunately there is
hexagonit.recipe.download, which allows you to specify the destination. For example, ZNagios (an add-on that integrates Zope with Nagios) is available as a tarball here:
If we use productdistros, we end up with ZNagios installed in
parts/productdistros/trunk. But if we use
hexagonit.recipe.download we can control the destination.
[buildout] parts = znagios [znagios] recipe = hexagonit.recipe.download url = http://svn.gocept.com/viewcvs/ZNagios/trunk.tar.gz?view=tar destination = products/ZNagios strip-top-level-dir = True
After running Buildout you should have the following in your
/products/ZNagios /products/ZNagios/COPYRIGHT.txt /products/ZNagios/LICENSE.txt /products/ZNagios/README.txt /products/ZNagios/__init__.py /products/ZNagios/check_zope.py /products/ZNagios/munin_client.py /products/ZNagios/version.txt /products/ZNagios/zeo_munin.py /products/ZNagios/zope.cfg