Unify cloudooo with erp5 and install it direct from git
[slapos.git] / stack / erp5.cfg
1 [buildout]
2 extensions =
3   slapos.rebootstrap
4   slapos.zcbworkarounds
5   buildout-versions
6   mr.developer
7
8 find-links =
9     http://www.nexedi.org/static/packages/source/slapos.buildout/
10     http://www.nexedi.org/static/packages/source/hexagonit.recipe.download/
11     http://dist.repoze.org
12     http://www.nexedi.org/static/packages/source/
13     http://www.owlfish.com/software/wsgiutils/download.html
14
15 # Separate from site eggs
16 allowed-eggs-from-site-packages =
17 include-site-packages = false
18 exec-sitecustomize = false
19
20 # Use only quite well working sites.
21 allow-hosts =
22   *.nexedi.org
23   *.python.org
24   *.sourceforge.net
25   alastairs-place.net
26   dist.repoze.org
27   effbot.org
28   github.com
29   peak.telecommunity.com
30   psutil.googlecode.com
31   www.dabeaz.com
32   www.owlfish.com
33   launchpad.net
34
35 extends =
36 # Exact version of Zope
37   http://svn.zope.org/repos/main/Zope/tags/2.12.23/versions.cfg
38   ../component/logrotate/buildout.cfg
39   ../component/dcron/buildout.cfg
40   ../component/file/buildout.cfg
41   ../component/fonts/buildout.cfg
42   ../component/ghostscript/buildout.cfg
43   ../component/git/buildout.cfg
44   ../component/glib/buildout.cfg
45   ../component/graphviz/buildout.cfg
46   ../component/gzip/buildout.cfg
47   ../component/haproxy/buildout.cfg
48   ../component/hookbox/buildout.cfg
49   ../component/librsvg/buildout.cfg
50   ../component/imagemagick/buildout.cfg
51   ../component/kumo/buildout.cfg
52   ../component/libdmtx/buildout.cfg
53   ../component/libpng/buildout.cfg
54   ../component/libreoffice-bin/buildout.cfg
55   ../component/lxml-python/buildout.cfg
56   ../component/percona-toolkit/buildout.cfg
57   ../component/mariadb/buildout.cfg
58   ../component/memcached/buildout.cfg
59   ../component/mysql-python/buildout.cfg
60   ../component/pdftk/buildout.cfg
61   ../component/pil-python/buildout.cfg
62   ../component/pycrypto-python/buildout.cfg
63   ../component/pysvn-python/buildout.cfg
64   ../component/python-2.6/buildout.cfg
65   ../component/python-2.7/buildout.cfg
66   ../component/python-ldap-python/buildout.cfg
67   ../component/rdiff-backup/buildout.cfg
68   ../component/sphinx/buildout.cfg
69   ../component/stunnel/buildout.cfg
70   ../component/subversion/buildout.cfg
71   ../component/tesseract/buildout.cfg
72   ../component/varnish/buildout.cfg
73   ../component/w3-validator/buildout.cfg
74   ../component/w3m/buildout.cfg
75   ../component/xorg/buildout.cfg
76   ../component/poppler/buildout.cfg
77   ../component/xtrabackup/buildout.cfg
78   ../component/zabbix/buildout.cfg
79   ../component/sed/buildout.cfg
80   ../component/coreutils/buildout.cfg
81   ../component/grep/buildout.cfg
82   ../component/dash/buildout.cfg
83   ../component/wget/buildout.cfg
84   ../component/aspell/buildout.cfg
85   ../component/cloudooo/buildout.cfg
86
87 versions = versions
88
89 parts =
90   itools-build
91   rdiff-backup
92   aspell
93   aspell-en-dictionary
94   apache
95   apache-antiloris
96   file
97   graphviz
98   memcached
99   haproxy
100   varnish-3.0
101   stunnel
102   w3m
103   poppler
104   libpng
105   ghostscript
106   mariadb
107   mroonga-mariadb
108   sphinx
109   imagemagick
110   libdmtx
111   dmtx-utils
112   kumo
113   libreoffice-bin
114   w3-validator
115   tesseract-eng-traineddata-unzip
116   tesseract
117   hookbox
118   bootstrap2.6
119   perl-DBD-mariadb
120   perl-DBI
121   percona-toolkit
122   zabbix-agent
123   pdftk
124   dcron
125   dash
126   wget
127
128 # Buildoutish
129   eggs
130   testrunner
131   test_suite_runner
132
133 # basic Xorg
134   libXdmcp
135   libXext
136   libXau
137   libSM
138   libXrender
139
140 # fonts
141   liberation-fonts
142   ipaex-fonts
143
144 # Zope products
145   products-deps
146
147 # Cloudooo specific part
148   cloudooo
149
150 # get git repositories
151   erp5
152   genbt5list
153
154 # fix products path (Zeo needs ERP5 Products to be available for
155 # conflict resolution)
156   fix-products-paths
157 # some additional utils
158   slapos-toolbox
159
160 [bt5-repository]
161 # Format:
162 #   <url or path> [...]
163 #
164 # Use absolute paths for local repositories, and URLs for non-local otherwise.
165 #
166 list = ${local-bt5-repository:list}
167
168 [local-bt5-repository]
169 # Same as bt5-repository, but only local repository.
170 # Used to generate bt5lists.
171 list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap
172
173 [genbt5list]
174 recipe = plone.recipe.command
175 stop-on-error = true
176 genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
177 command =
178   ${buildout:executable} ${:genbt5list} ${local-bt5-repository:list}
179 update-command = ${:command}
180
181 [bootstrap2.6]
182 python = python2.6
183
184 [rebootstrap]
185 version = 3
186 section = python2.7
187 eggs = slapos.libnetworkcache
188
189 [itools]
190 pkgname = itools-0.50.8
191 location = ${buildout:parts-directory}/${:_buildout_section_name_}
192 lib = ${:location}/lib
193 source = ${:location}/src
194
195 # ugly itools building sections until itools and setuptools learn to get
196 # along:
197
198 [itools-download]
199 recipe = hexagonit.recipe.download
200 strip-top-level-dir = true
201 url = http://download.hforge.org/itools/0.50/${itools:pkgname}.tar.gz
202 md5sum = 12704cc354e2201e0921a832bf6b1556
203 destination = ${itools:source}
204
205 [itools-build]
206 recipe = plone.recipe.command
207 # reference itools-download:destination instead of itools:source to trigger its
208 # execution
209 # here, we unset PYTHONPATH to invoke different python than buildout one.
210 command =
211     cd ${itools-download:destination} &&
212     sed -i -e 's,GLIB_INCLUDE_PATH = .*,GLIB_INCLUDE_PATH = [],' setup.py
213     PYTHONPATH= ${python2.6:executable} setup.py build_ext -L ${glib:location}/lib -I ${glib:location}/include/glib-2.0:${glib:location}/lib/glib-2.0/include -R ${glib:location}/lib &&
214     PYTHONPATH= ${python2.6:executable} setup.py install_lib -d ${itools:lib}
215
216 update-command = ${:command}
217 location = ${itools:location}
218 stop-on-error = true
219
220 [products-deps]
221 # Recipe minitage.recipe.fetch is disabled, as it uses PATH variable, but it
222 # is not possible to change its environment to use localy delivered subversion
223 # nor git. plone.recipe.command can do same job, but it is controllable which
224 # binary will be used
225 recipe = plone.recipe.command
226 svn_param =--trust-server-cert --non-interactive --quiet
227 location = ${buildout:parts-directory}/${:_buildout_section_name_}
228 stop-on-error = true
229 command =
230   ${subversion:location}/bin/svn checkout -r 98997 ${:svn_param} https://svn.plone.org/svn/collective/ExtFile/trunk ${:location}/ExtFile &&
231   ${git:location}/bin/git clone --quiet git://git.hforge.org/Localizer.git ${:location}/Localizer && cd ${:location}/Localizer && ${git:location}/bin/git reset --quiet --hard dacb6ba0ae559cd9bdb8822812d24a12a21e9e37
232
233 [erp5_repository_list]
234 repository_id_list = erp5
235
236 [erp5]
237 # Recipe zerokspot.recipe.git is disabled, as is not possible to change its
238 # environment to use localy delivered git.
239 # plone.recipe.command can do same job, but it is controllable which binary
240 # will be used
241 recipe = plone.recipe.command
242 location = ${buildout:parts-directory}/${:_buildout_section_name_}
243 stop-on-error = true
244 repository = http://git.erp5.org/repos/erp5.git
245 branch = master
246 revision =
247 command = ${git:location}/bin/git clone --quiet --branch ${:branch} ${:repository} ${:location} && if [ -n "${:revision}" ]; then cd ${:location} && ${git:location}/bin/git reset --quiet --hard ${:revision} ; fi
248 update-command = cd ${:location} && GIT_COMMITTER_EMAIL=nobody@example.com GIT_AUTHOR_NAME=Nobody GIT_AUTHOR_EMAIL=nobody@example.com ${git:location}/bin/git pull && if [ -n "${:revision}" ]; then echo "Resetting." ; cd ${:location} && ${git:location}/bin/git reset --hard ${:revision} ; fi
249
250 [products]
251 # XXX: ERP5 related products are not defined as python distributions, so it is
252 #      required to configure them in declarative manner
253 list =
254
255 [fix-products-paths]
256 recipe = plone.recipe.command
257 stop-on-error = true
258 command =
259   for DIR in "${products-deps:location}"; do cd "$DIR"; rm -f Products ; ln -s . Products; touch __init__.py; done
260   for DIR in "${erp5:location}"; do cd "$DIR"; rm -f Products ; ln -s product Products; touch product/__init__.py; done
261 update-command = ${:command}
262
263 [testrunner]
264 # XXX: Workaround for fact ERP5Type is not an distribution and does not
265 #      expose entry point for test runner
266 recipe = zc.recipe.egg
267 python = python2.6
268 eggs = ${eggs:eggs}
269 extra-paths = ${eggs:extra-paths}
270 entry-points =
271   runUnitTest=runUnitTest:main
272 scripts = runUnitTest
273 initialization =
274   import glob, imp, os, sys
275   import App # prevent Testing from importing Zope2.App instead of App
276   import Products
277   Products.__path__[:0] = filter(None,
278     os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
279   Products.__path__.extend(reversed('''${products:list}'''.split()))
280   os.environ['SOFTWARE_HOME'] = os.path.abspath(imp.find_module('Zope2')[1])
281   os.environ['ZOPE_SCRIPTS'] = ''
282   parts_directory = '''${buildout:parts-directory}'''
283   repository_id_list = \
284     '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
285   os.environ['erp5_tests_bt5_path'] = ','.join(sum((
286     [bt5_path, os.path.join(bt5_path, '*')]
287     for bt5_path in (os.path.join(parts_directory, x, 'bt5')
288                      for x in repository_id_list)), []))
289   sys.path[:0] = sum((
290     glob.glob(os.path.join(parts_directory, x, 'tests'))
291     for x in repository_id_list), [])
292   sys.path[:0] = sum((
293     glob.glob(os.path.join(parts_directory, x, 'product', '*', 'tests'))
294     for x in repository_id_list), [])
295   sys.path[:0] = sum((
296     glob.glob(os.path.join(x, '*', 'tests'))
297     for x in reversed('''${products:list}'''.split())), [])
298
299 [test_suite_runner]
300 # XXX: Workaround for fact ERP5Type is not an distribution and does not
301 #      expose entry point for test runner
302 recipe = zc.recipe.egg
303 python = python2.6
304 eggs = ${eggs:eggs}
305 extra-paths = ${eggs:extra-paths}
306 entry-points =
307   runTestSuite=Products.ERP5Type.tests.runTestSuite:main
308 scripts = runTestSuite
309 initialization =
310   import os
311   import sys
312   import Products
313   [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
314   Products.__path__.extend(reversed('''${products:list}'''.split()))
315   import Zope2
316   os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
317   os.environ['ZOPE_SCRIPTS'] = ''
318   repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
319   sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
320
321 [eggs]
322 recipe = zc.recipe.egg
323 python = python2.6
324 eggs =
325   ${mysql-python:egg}
326   ${lxml-python:egg}
327   ${pil-python:egg}
328   ${python-ldap-python:egg}
329   ${pysvn-python:egg}
330   ${pycrypto-python:egg}
331   PyXML
332   SOAPpy
333   cElementTree
334   chardet
335   coverage
336   elementtree
337   erp5diff
338   inotifyx
339   ipdb
340   mechanize
341   numpy
342   ordereddict
343   paramiko
344   ply
345   python-magic
346   python-memcached
347   pytz
348   threadframe
349   timerserver
350   urlnorm
351   uuid
352   xml_marshaller
353   xupdate_processor
354   feedparser
355   argparse
356   validictory
357   erp5.util
358   huBarcode
359   qrcode
360
361 # Zope 2.12 with patched acquisition
362   ZODB3
363   Zope2
364   Acquisition
365
366 # Other Zope 2 packages
367   Products.PluggableAuthService
368   Products.PluginRegistry
369
370 # CMF 2.2
371   Products.CMFActionIcons
372   Products.CMFCalendar
373   Products.CMFCore
374   Products.CMFDefault
375   Products.CMFTopic
376   Products.CMFUid
377   Products.DCWorkflow
378   Products.GenericSetup
379   five.localsitemanager
380
381 # Other products
382   Products.DCWorkflowGraph
383   Products.MimetypesRegistry
384   Products.ExternalEditor
385   Products.TIDStorage
386
387 # Currently forked in our repository
388 #    Products.PortalTransforms
389 # Dependency for our fork of PortalTransforms
390   StructuredText
391
392 # parameterizing the version of the generated python interpreter name by the
393 # python section version causes dependency between this egg section and the
394 # installation of python, which we don't want on an instance
395 interpreter = python2.6
396 scripts =
397   repozo
398   runzope
399   runzeo
400   tidstoraged
401   tidstorage_repozo
402   web_checker_utility = erp5.util.webchecker:web_checker_utility
403
404 extra-paths =
405   ${itools:location}/lib
406   ${products-deps:location}
407   ${erp5:location}
408
409 [mysql-python]
410 python = python2.6
411
412 [lxml-python]
413 python = python2.6
414
415 [pil-python]
416 python = python2.6
417
418 [python-ldap-python]
419 python = python2.6
420
421 [pysvn-python]
422 python = python2.6
423
424 [slapos-toolbox]
425 recipe = zc.recipe.egg
426 python = ${eggs:python}
427 eggs =
428   ${lxml-python:egg}
429   slapos.toolbox
430   slapos.toolbox[zodbpack]
431
432 scripts =
433   killpidfromfile
434   onetimedownload
435   zodbpack
436
437 [versions]
438 # Use SlapOS patched zc.buildout
439 zc.buildout = 1.6.0-dev-SlapOS-005
440
441 # pin Acquisition and Products.DCWorkflow to Nexedi flavour of eggs
442 Acquisition = 2.13.7nxd001
443 Products.DCWorkflow = 2.2.3nxd002
444
445 # Known version with works
446 numpy = 1.3.0
447 # Patched version which support python 2.6
448 PyXML = 0.8.4nxd001
449 # modified version that works fine for buildout installation
450 SOAPpy = 0.12.0nxd001
451 # we are still using this old stable version.
452 rdiff-backup = 1.0.5
453
454 # official pysvn egg does not supports --include-dirs and
455 # --library-dirs, so we use our modified version
456 pysvn = 1.7.4nxd006
457
458 # CMF 2.3 requries Zope 2.13.
459 Products.CMFCalendar = 2.2.2
460 Products.CMFCore = 2.2.5
461 Products.CMFDefault = 2.2.2
462 Products.CMFTopic = 2.2.1
463 Products.CMFUid = 2.2.1
464
465 # Unpined locally developed egg
466 slapos.cookbook =
467
468 # Pinned versions
469 Flask = 0.8
470 GitPython = 0.3.2.RC1
471 MySQL-python = 1.2.3
472 PIL = 1.1.7
473 Paste = 1.7.5.1
474 PasteDeploy = 1.5.0
475 PasteScript = 1.7.5
476 Products.CMFActionIcons = 2.1.3
477 Products.CMFCalendar = 2.2.2
478 Products.CMFCore = 2.2.5
479 Products.CMFDefault = 2.2.2
480 Products.CMFTopic = 2.2.1
481 Products.CMFUid = 2.2.1
482 Products.DCWorkflowGraph = 0.4.1
483 Products.ExternalEditor = 1.1.0
484 Products.GenericSetup = 1.7.1
485 Products.MimetypesRegistry = 2.0.3
486 Products.PluggableAuthService = 1.7.7
487 Products.PluginRegistry = 1.3b1
488 Products.TIDStorage = 5.4.7.dev-r45842
489 Products.Zelenium = 1.0.3
490 StructuredText = 2.11.1
491 WSGIUtils = 0.7
492 Werkzeug = 0.8.3
493 apache-libcloud = 0.9.1
494 argparse = 1.1
495 async = 0.6.1
496 atomize = 0.1.1
497 buildout-versions = 1.7
498 cElementTree = 1.0.5-20051216
499 chardet = 1.0.1
500 cloudooo = 1.2.3
501 cloudooo.handler.ffmpeg = 0.1
502 cloudooo.handler.imagemagick = 0.1
503 cloudooo.handler.ooo = 0.2
504 cloudooo.handler.pdf = 0.1
505 coverage = 3.5.1
506 csp-eventlet = 0.7.0
507 elementtree = 1.2.7-20070827-preview
508 erp5.recipe.cmmiforcei686 = 0.1.3
509 erp5.util = 0.4.1
510 erp5diff = 0.8.1.5
511 eventlet = 0.9.16
512 feedparser = 5.1.1
513 five.localsitemanager = 2.0.5
514 fpconst = 0.7.2
515 gitdb = 0.5.4
516 greenlet = 0.3.4
517 hexagonit.recipe.cmmi = 1.5.0
518 # Use patched hexagonit.recipe.download from
519 # https://github.com/SlapOS/hexagonit.recipe.download
520 hexagonit.recipe.download = 1.5.1-dev-slapos-001
521 http-parser = 0.7.5
522 huBarcode = 0.63
523 inotifyx = 0.2.0
524 ipdb = 0.6.1
525 ipython = 0.12
526 meld3 = 0.6.8
527 netaddr = 0.7.6
528 netifaces = 0.8
529 ordereddict = 1.1
530 paramiko = 1.7.7.1
531 plone.recipe.command = 1.1
532 ply = 3.4
533 psutil = 0.4.1
534 python-ldap = 2.4.9
535 python-magic = 0.4.2
536 python-memcached = 1.47
537 restkit = 4.1.2
538 rtjp-eventlet = 0.3.2
539 setuptools = 0.6c12dev-r88846
540 slapos.core = 0.24
541 slapos.recipe.build = 0.7
542 slapos.recipe.template = 2.3
543 slapos.toolbox = 0.23
544 smmap = 0.8.2
545 socketpool = 0.3.0
546 supervisor = 3.0a12
547 threadframe = 0.2
548 timerserver = 2.0.2
549 urlnorm = 1.1.2
550 uuid = 1.30
551 validictory = 0.8.3
552 xml-marshaller = 0.9.7
553 xupdate-processor = 0.4