Merge remote-tracking branch 'origin/erp5' into erp5-z2.13
[slapos.git] / stack / erp5 / buildout.cfg
1 [buildout]
2 # Local development
3 develop =
4   ${:parts-directory}/slapos.cookbook-repository
5   ${:parts-directory}/cloudooo-repository
6
7 extensions =
8   slapos.zcbworkarounds
9   mr.developer
10
11 find-links =
12     http://www.nexedi.org/static/packages/source/slapos.buildout/
13     http://www.nexedi.org/static/packages/source/hexagonit.recipe.download/
14     http://dist.repoze.org
15     http://www.nexedi.org/static/packages/source/
16     http://www.owlfish.com/software/wsgiutils/download.html
17
18 extends =
19 # Exact version of Zope
20   http://svn.zope.org/repos/main/Zope/tags/2.13.19/versions.cfg
21   ../../stack/slapos.cfg
22   ../../component/logrotate/buildout.cfg
23   ../../component/dcron/buildout.cfg
24   ../../component/file/buildout.cfg
25   ../../component/fonts/buildout.cfg
26   ../../component/ghostscript/buildout.cfg
27   ../../component/git/buildout.cfg
28   ../../component/graphviz/buildout.cfg
29   ../../component/gzip/buildout.cfg
30   ../../component/haproxy/buildout.cfg
31   ../../component/hookbox/buildout.cfg
32   ../../component/librsvg/buildout.cfg
33   ../../component/imagemagick/buildout.cfg
34   ../../component/kumo/buildout.cfg
35   ../../component/libdmtx/buildout.cfg
36   ../../component/libpng/buildout.cfg
37   ../../component/libreoffice-bin/buildout.cfg
38   ../../component/lxml-python/buildout.cfg
39   ../../component/percona-toolkit/buildout.cfg
40   ../../component/mariadb/buildout.cfg
41   ../../component/memcached/buildout.cfg
42   ../../component/mysql-python/buildout.cfg
43   ../../component/pdftk/buildout.cfg
44   ../../component/pil-python/buildout.cfg
45   ../../component/pycrypto-python/buildout.cfg
46   ../../component/pysvn-python/buildout.cfg
47   ../../component/python-2.7/buildout.cfg
48   ../../component/python-ldap-python/buildout.cfg
49   ../../component/rdiff-backup/buildout.cfg
50   ../../component/subversion/buildout.cfg
51   ../../component/tesseract/buildout.cfg
52   ../../component/varnish/buildout.cfg
53   ../../component/w3-validator/buildout.cfg
54   ../../component/w3m/buildout.cfg
55   ../../component/xorg/buildout.cfg
56   ../../component/poppler/buildout.cfg
57   ../../component/xtrabackup/buildout.cfg
58   ../../component/zabbix/buildout.cfg
59   ../../component/sed/buildout.cfg
60   ../../component/coreutils/buildout.cfg
61   ../../component/grep/buildout.cfg
62   ../../component/dash/buildout.cfg
63   ../../component/wget/buildout.cfg
64   ../../component/aspell/buildout.cfg
65   ../../component/cloudooo/buildout.cfg
66
67 parts =
68   rdiff-backup
69   aspell
70   aspell-en-dictionary
71   apache
72   apache-antiloris
73   file
74   graphviz
75   memcached
76   haproxy
77   varnish-3.0
78   w3m
79   poppler
80   libpng
81   ghostscript
82   mariadb
83   mroonga-mariadb
84   imagemagick
85   libdmtx
86   dmtx-utils
87   kumo
88   libreoffice-bin
89   w3-validator
90   tesseract
91   hookbox
92   perl-DBD-mariadb
93   perl-DBI
94   percona-toolkit
95   zabbix-agent
96   pdftk
97   dcron
98   dash
99   wget
100
101 # Buildoutish
102   eggs
103   testrunner
104   test_suite_runner
105
106 # basic Xorg
107   libXdmcp
108   libXext
109   libXau
110   libSM
111   libXrender
112
113 # fonts
114   liberation-fonts
115   ipaex-fonts
116   ocrb-fonts
117
118 # Cloudooo specific part
119   cloudooo
120
121 # get git repositories
122   erp5
123   genbt5list
124
125 # fix products path (Zeo needs ERP5 Products to be available for
126 # conflict resolution)
127   fix-products-paths
128 # some additional utils
129   slapos-toolbox
130
131 # Local development
132   slapos.cookbook-repository
133   check-recipe
134 # Create instance template
135   template
136
137 # Local development
138 [slapos.cookbook-repository]
139 recipe = slapos.recipe.build:gitclone
140 repository = http://git.erp5.org/repos/slapos.git
141 branch = erp5
142 git-executable = ${git:location}/bin/git
143
144 [check-recipe]
145 recipe = plone.recipe.command
146 stop-on-error = true
147 update-command = ${:command}
148 command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link
149
150 [template-jinja2-base]
151 recipe = slapos.recipe.template:jinja2
152 template = ${:_profile_base_location_}/${:filename}.in
153 rendered = ${buildout:directory}/${:filename}
154 # XXX: extra-context is needed because we cannot append to a key of an extended
155 # section.
156 extra-context =
157 context =
158     key bin_directory buildout:bin-directory
159     key develop_eggs_directory buildout:develop-eggs-directory
160     key eggs_directory buildout:eggs-directory
161     ${:extra-context}
162
163 [template-mariadb]
164 < = template-jinja2-base
165 filename = instance-mariadb.cfg
166 md5sum = 867bd8e3c4f56db2aab2fcad59f2efd8
167 extra-context =
168     key coreutils_location coreutils:location
169     key dcron_location dcron:location
170     key gettext_location gettext:location
171     key grep_location grep:location
172     key gzip_location gzip:location
173     key logrotate_location logrotate:location
174     key mariadb_location mariadb:location
175     key perl_location perl:location
176     key perl_siteprefix perl:siteprefix
177     key sed_location sed:location
178     key xtrabackup_location xtrabackup:location
179
180 [template-zope]
181 recipe = slapos.recipe.build:download
182 url = ${:_profile_base_location_}/instance-zope.cfg.in
183 md5sum = d5981dbe595004c707dd1744be1fe753
184 mode = 640
185
186 [template-kumofs]
187 < = template-jinja2-base
188 filename = instance-kumofs.cfg
189 md5sum = 7e13d689de7163dcab64e8df4711cdd7
190 extra-context =
191     key dash_location dash:location
192     key dcron_location dcron:location
193     key gzip_location gzip:location
194     key kumo_location kumo:location
195     key logrotate_location logrotate:location
196
197 [template-tidstorage]
198 recipe = slapos.recipe.build:download
199 url = ${:_profile_base_location_}/instance-tidstorage.cfg.in
200 md5sum = 5e0c5de5bc17947c152de73b329a5a02
201 mode = 640
202
203 [template-cloudooo]
204 recipe = slapos.recipe.build:download
205 url = ${:_profile_base_location_}/instance-cloudoo.cfg.in
206 md5sum = 53492e520be57f4c6a9eacd107c8d446
207 mode = 640
208
209 [template-zope-conf]
210 recipe = slapos.recipe.build:download
211 url = ${:_profile_base_location_}/zope.conf.in
212 md5sum = bc2154161a1d5baddc4ed4dfaaf94fbe
213 mode = 640
214
215 [template]
216 < = template-jinja2-base
217 # XXX: "template.cfg" is hardcoded in instanciation recipe
218 filename = template.cfg
219 template = ${:_profile_base_location_}/instance.cfg.in
220 md5sum = bee6c2b640efee53e3b6e209127cb0bc
221 extra-context =
222     key apache_location apache:location
223     key aspell_location aspell:location
224     key buildout_bin_directory buildout:bin-directory
225     key coreutils_location coreutils:location
226     key curl_location curl:location
227     key dash_location dash:location
228     key dcron_location dcron:location
229     key dmtx_utils_location dmtx-utils:location
230     key erp5_location erp5:location
231     key file_location file:location
232     key fontconfig_location fontconfig:location
233     key fonts_location fonts:location
234     key freetype_location freetype:location
235     key git_location git:location
236     key graphviz_location graphviz:location
237     key grep_location grep:location
238     key gzip_location gzip:location
239     key haproxy_location haproxy:location
240     key imagemagick_location imagemagick:location
241     key libICE_location libICE:location
242     key libSM_location libSM:location
243     key libX11_location libX11:location
244     key libXau_location libXau:location
245     key libXdmcp_location libXdmcp:location
246     key libXext_location libXext:location
247     key libXrender_location libXrender:location
248     key libpng12_location libpng12:location
249     key libreoffice_bin_location libreoffice-bin:location
250     key librsvg_location librsvg:location
251     key libxcb_location libxcb:location
252     key local_bt5_repository local-bt5-repository:list
253     key logrotate_location logrotate:location
254     key mariadb_location mariadb:location
255     key openssl_location openssl:location
256     key pdftk_location pdftk:location
257     key poppler_location poppler:location
258     key sed_location sed:location
259     key template_cloudooo template-cloudooo:target
260     key template_erp5_single template-erp5-single:target
261     key template_erp5_cluster template-erp5-cluster:target
262     key template_kumofs template-kumofs:rendered
263     key template_mariadb template-mariadb:rendered
264     key template_memcached template-memcached:rendered
265     key template_tidstorage template-tidstorage:target
266     key template_varnish template-varnish:target
267     key template_zope template-zope:target
268     key template_zope_conf template-zope-conf:target
269     key tesseract_location tesseract:location
270     key varnish_location varnish-3.0:location
271     key w3m_location w3m:location
272     key wget_location wget:location
273     key zlib_location zlib:location
274
275 [template-memcached]
276 < = template-jinja2-base
277 filename = instance-memcached.cfg
278 md5sum = 44c507e9eec1003beb99f9063b5e09be
279 extra-context =
280     key dash_location dash:location
281     key memcached_location memcached:location
282
283 [template-erp5-single]
284 recipe = slapos.recipe.build:download
285 url = ${:_profile_base_location_}/instance-erp5-single.cfg.in
286 md5sum = 2a4312202a3160f874c4fa3ee9155a1d
287 mode = 640
288
289 [template-erp5-cluster]
290 recipe = slapos.recipe.build:download
291 url = ${:_profile_base_location_}/instance-erp5-cluster.cfg.in
292 md5sum = eecde68b9a266d8883042540ac077839
293 mode = 640
294
295 [template-varnish]
296 recipe = slapos.recipe.build:download
297 url = ${:_profile_base_location_}/instance-varnish.cfg.in
298 md5sum = 17aee2df57b121343b1fd65f4b51ce80
299 mode = 640
300
301 [bt5-repository]
302 # Format:
303 #   <url or path> [...]
304 #
305 # Use absolute paths for local repositories, and URLs for non-local otherwise.
306 #
307 list = ${local-bt5-repository:list}
308
309 [local-bt5-repository]
310 # Same as bt5-repository, but only local repository.
311 # Used to generate bt5lists.
312 list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap
313
314 [genbt5list]
315 recipe = plone.recipe.command
316 stop-on-error = true
317 genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
318 command =
319   ${buildout:executable} ${:genbt5list} ${local-bt5-repository:list}
320 update-command = ${:command}
321
322 [erp5_repository_list]
323 repository_id_list = erp5
324
325 [erp5]
326 recipe = slapos.recipe.build:gitclone
327 repository = http://git.erp5.org/repos/erp5.git
328 branch = master
329 git-executable = ${git:location}/bin/git
330
331 [fix-products-paths]
332 recipe = plone.recipe.command
333 stop-on-error = true
334 dir = ${erp5:location}
335 command =
336   rm -f "${:dir}/Products" && ln -s product "${:dir}/Products" && touch "${:dir}/product/__init__.py"
337 update-command = ${:command}
338
339 [testrunner]
340 # XXX: Workaround for fact ERP5Type is not an distribution and does not
341 #      expose entry point for test runner
342 recipe = zc.recipe.egg
343 python = python2.7
344 eggs = ${eggs:eggs}
345 extra-paths = ${eggs:extra-paths}
346 entry-points =
347   runUnitTest=runUnitTest:main
348 scripts = runUnitTest
349 initialization =
350   import glob, imp, os, sys
351   import App # prevent Testing from importing Zope2.App instead of App
352   import Products
353   Products.__path__[:0] = filter(None,
354     os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
355   os.environ['SOFTWARE_HOME'] = os.path.abspath(imp.find_module('Zope2')[1])
356   os.environ['ZOPE_SCRIPTS'] = ''
357   parts_directory = '''${buildout:parts-directory}'''
358   repository_id_list = \
359     '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
360   os.environ['erp5_tests_bt5_path'] = ','.join(sum((
361     [bt5_path, os.path.join(bt5_path, '*')]
362     for bt5_path in (os.path.join(parts_directory, x, 'bt5')
363                      for x in repository_id_list)), []))
364   extra_path_list = '''${:extra-paths}'''.split()
365   sys.path[:0] = sum((
366     glob.glob(os.path.join(x, 'tests'))
367     for x in extra_path_list), [])
368   sys.path[:0] = sum((
369     glob.glob(os.path.join(x, 'Products', '*', 'tests'))
370     for x in extra_path_list), [])
371
372 [test_suite_runner]
373 # XXX: Workaround for fact ERP5Type is not an distribution and does not
374 #      expose entry point for test runner
375 recipe = zc.recipe.egg
376 python = python2.7
377 eggs = ${eggs:eggs}
378 extra-paths = ${eggs:extra-paths}
379 entry-points =
380   runTestSuite=Products.ERP5Type.tests.runTestSuite:main
381 scripts = runTestSuite
382 initialization =
383   import os
384   import sys
385   import Products
386   [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
387   import Zope2
388   os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
389   os.environ['ZOPE_SCRIPTS'] = ''
390   repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
391   sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
392
393 [eggs]
394 recipe = zc.recipe.egg
395 python = python2.7
396 eggs =
397   ${mysql-python:egg}
398   ${lxml-python:egg}
399   ${pil-python:egg}
400   ${python-ldap-python:egg}
401   ${pysvn-python:egg}
402   ${pycrypto-python:egg}
403   PyXML
404   SOAPpy
405   cElementTree
406   chardet
407   coverage
408   elementtree
409   erp5diff
410   inotifyx
411   ipdb
412   mechanize
413   numpy
414   ordereddict
415   paramiko
416   ply
417   python-magic
418   python-memcached
419   pytz
420   requests
421   threadframe
422   timerserver
423   urlnorm
424   uuid
425   xml_marshaller
426   xupdate_processor
427   feedparser
428   argparse
429   validictory
430   erp5.util
431   huBarcode
432   qrcode
433   spyne
434
435 # Zope
436   ZODB3
437   Zope2
438 # Zope acquisition patch
439   Acquisition
440
441 # Other Zope 2 packages
442   Products.PluggableAuthService
443   Products.PluginRegistry
444
445 # CMF 2.2
446   Products.CMFActionIcons
447   Products.CMFCalendar
448   Products.CMFCore
449   Products.CMFDefault
450   Products.CMFTopic
451   Products.CMFUid
452   Products.DCWorkflow
453   Products.GenericSetup
454   five.localsitemanager
455
456 # Other products
457   Products.DCWorkflowGraph
458   Products.MimetypesRegistry
459   Products.ExternalEditor
460   Products.TIDStorage
461   Products.LongRequestLogger
462
463 # BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
464 #      (for tests like testCookieCrumbler).
465   zope.app.testing
466
467 # Currently forked in our repository
468 #    Products.PortalTransforms
469 # Dependency for our fork of PortalTransforms
470   StructuredText
471
472 # Needed for parsing .po files from our Localizer subset
473   polib
474
475 # parameterizing the version of the generated python interpreter name by the
476 # python section version causes dependency between this egg section and the
477 # installation of python, which we don't want on an instance
478 interpreter = python2.7
479 scripts =
480   repozo
481   runzope
482   runzeo
483   tidstoraged
484   tidstorage_repozo
485   web_checker_utility = erp5.util.webchecker:web_checker_utility
486
487 extra-paths =
488   ${erp5:location}
489
490 [cloudooo-repository]
491 branch = master
492 revision = 6629837c96ae58e96cac019044ce95d19cb7a659
493
494 [mysql-python]
495 python = python2.7
496
497 [lxml-python]
498 python = python2.7
499
500 [pil-python]
501 python = python2.7
502
503 [python-ldap-python]
504 python = python2.7
505
506 [pysvn-python]
507 python = python2.7
508
509 [slapos-toolbox]
510 recipe = zc.recipe.egg
511 python = ${eggs:python}
512 eggs =
513   ${lxml-python:egg}
514   slapos.toolbox
515   slapos.toolbox[zodbpack]
516
517 scripts =
518   killpidfromfile
519   onetimedownload
520   zodbpack
521
522 [versions]
523 # pin Acquisition and Products.DCWorkflow to Nexedi flavour of eggs
524 Acquisition = 2.13.7nxd001
525 Products.DCWorkflow = 2.2.3nxd002
526
527 # Known version with works
528 numpy = 1.6.2
529 # Patched version which support python 2.6
530 PyXML = 0.8.4nxd001
531 # modified version that works fine for buildout installation
532 SOAPpy = 0.12.0nxd001
533 # we are still using this old stable version.
534 rdiff-backup = 1.0.5
535
536 # official pysvn egg does not supports --include-dirs and
537 # --library-dirs, so we use our modified version
538 pysvn = 1.7.4nxd006
539
540 # CMF 2.3 requries Zope 2.13.
541 Products.CMFCalendar = 2.2.2
542 Products.CMFCore = 2.2.6
543 Products.CMFDefault = 2.2.2
544 Products.CMFTopic = 2.2.1
545 Products.CMFUid = 2.2.1
546
547 # Unpined locally developed egg
548 slapos.cookbook =
549
550 # Pinned versions
551 Flask = 0.9
552 GitPython = 0.3.2.RC1
553 MySQL-python = 1.2.3
554 PIL = 1.1.7
555 Paste = 1.7.5.1
556 PasteDeploy = 1.5.0
557 PasteScript = 1.7.5
558 Products.CMFActionIcons = 2.1.3
559 Products.DCWorkflowGraph = 0.4.1
560 Products.ExternalEditor = 1.1.0
561 Products.GenericSetup = 1.7.2
562 Products.MimetypesRegistry = 2.0.3
563 Products.PluggableAuthService = 1.8.0
564 Products.PluginRegistry = 1.3
565 Products.TIDStorage = 5.4.8
566 Products.Zelenium = 1.0.3
567 StructuredText = 2.11.1
568 WSGIUtils = 0.7
569 Werkzeug = 0.8.3
570 apache-libcloud = 0.11.1
571 argparse = 1.2.1
572 async = 0.6.1
573 atomize = 0.1.1
574 buildout-versions = 1.7
575 cElementTree = 1.0.5-20051216
576 chardet = 1.1
577 coverage = 3.5.2
578 csp-eventlet = 0.7.0
579 elementtree = 1.2.7-20070827-preview
580 erp5.recipe.cmmiforcei686 = 0.1.3
581 erp5.util = 0.4.22
582 erp5diff = 0.8.1.5
583 eventlet = 0.9.17
584 feedparser = 5.1.2
585 five.localsitemanager = 2.0.5
586 fpconst = 0.7.2
587 gitdb = 0.5.4
588 greenlet = 0.4.0
589 hexagonit.recipe.cmmi = 1.6
590 hexagonit.recipe.download = 1.6nxd002
591 http-parser = 0.7.8
592 huBarcode = 0.63
593 inotifyx = 0.2.0
594 ipdb = 0.7
595 ipython = 0.13
596 meld3 = 0.6.8
597 netaddr = 0.7.9
598 netifaces = 0.8
599 ordereddict = 1.1
600 paramiko = 1.7.7.2
601 plone.recipe.command = 1.1
602 ply = 3.4
603 polib = 1.0.0
604 psutil = 0.6.1
605 python-ldap = 2.4.10
606 python-magic = 0.4.3
607 python-memcached = 1.47
608 restkit = 4.2.0
609 rtjp-eventlet = 0.3.2
610 setuptools = 0.6c12dev-r88846
611 slapos.core = 0.28
612 slapos.libnetworkcache = 0.13.2
613 slapos.recipe.build = 0.11.4
614 slapos.recipe.template = 2.4.2
615 slapos.toolbox = 0.29
616 smmap = 0.8.2
617 socketpool = 0.5.2
618 supervisor = 3.0a12
619 threadframe = 0.2
620 timerserver = 2.0.2
621 urlnorm = 1.1.2
622 uuid = 1.30
623 validictory = 0.8.3
624 xml-marshaller = 0.9.7
625 xupdate-processor = 0.4
626 mr.developer = 1.21
627 qrcode = 2.4.1
628 requests = 0.13.2
629 zope.app.testing = 3.8.1 ; BBB