Am Tue, 24 Mar 2009 10:26:08 +0100 schrieb Wolfgang Schnerring:
I'd like to extend zc.recipe.cmmi to support shared build directories.
Use case example: we use lxml in a lot of our projects, which currently means having to build libxml and libxslt over and over again, since the buildout needs to be standalone and thus can't depend on them being installed on the system. But while that's a necessity for deployment, it's really annoying for development.
So build once and use often, we do this i.e. for ldap by compiling in a separate buildout located in /opt/openldap and then have a section in the specific buildout like: [python-ldap] recipe = zc.recipe.egg:custom egg = python-ldap include-dirs = /opt/is/openldap/parts/open-ldap/include library-dirs = /opt/is/openldap/parts/open-ldap/lib rpath = /opt/is/openldap/parts/open-ldap/lib
Plan of attack: Introduce an option "shared" (defaults to False). If that is set, a) calculate HASH as a hash of the recipe's current options (e. g. configure parameters, environment variables) b) perform the cmmi in ${buildout:download-cache}/cmmi/build/<HASH>, if that directory is not present yet. (Probably needs a little thought about how to differentiate between "present and has a complete build" and "present but we errored out")
Any thoughts?
sounds good to me, it would simplify our infrastructure a lot. important is the hash: it needs to include all parameters, environment et al passed to the cmmi. regards Jens -- Jens W. Klein - Klein & Partner KEG - BlueDynamics Alliance