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 allow-hosts += pybrary.net
19
20 extends =
21 # Exact version of Zope
22   http://svn.zope.org/repos/main/Zope/tags/2.13.19/versions.cfg
23   ../../stack/slapos.cfg
24   ../../component/logrotate/buildout.cfg
25   ../../component/dcron/buildout.cfg
26   ../../component/file/buildout.cfg
27   ../../component/fonts/buildout.cfg
28   ../../component/ghostscript/buildout.cfg
29   ../../component/git/buildout.cfg
30   ../../component/graphviz/buildout.cfg
31   ../../component/gzip/buildout.cfg
32   ../../component/haproxy/buildout.cfg
33   ../../component/hookbox/buildout.cfg
34   ../../component/librsvg/buildout.cfg
35   ../../component/imagemagick/buildout.cfg
36   ../../component/kumo/buildout.cfg
37   ../../component/libdmtx/buildout.cfg
38   ../../component/libpng/buildout.cfg
39   ../../component/libreoffice-bin/buildout.cfg
40   ../../component/lxml-python/buildout.cfg
41   ../../component/percona-toolkit/buildout.cfg
42   ../../component/mariadb/buildout.cfg
43   ../../component/memcached/buildout.cfg
44   ../../component/mysql-python/buildout.cfg
45   ../../component/pil-python/buildout.cfg
46   ../../component/pycrypto-python/buildout.cfg
47   ../../component/pysvn-python/buildout.cfg
48   ../../component/python-2.7/buildout.cfg
49   ../../component/python-ldap-python/buildout.cfg
50   ../../component/rdiff-backup/buildout.cfg
51   ../../component/subversion/buildout.cfg
52   ../../component/tesseract/buildout.cfg
53   ../../component/varnish/buildout.cfg
54   ../../component/w3-validator/buildout.cfg
55   ../../component/w3m/buildout.cfg
56   ../../component/xorg/buildout.cfg
57   ../../component/poppler/buildout.cfg
58   ../../component/xtrabackup/buildout.cfg
59   ../../component/zabbix/buildout.cfg
60   ../../component/sed/buildout.cfg
61   ../../component/coreutils/buildout.cfg
62   ../../component/grep/buildout.cfg
63   ../../component/dash/buildout.cfg
64   ../../component/wget/buildout.cfg
65   ../../component/aspell/buildout.cfg
66   ../../component/cloudooo/buildout.cfg
67
68 parts =
69   rdiff-backup
70   aspell
71   aspell-en-dictionary
72   apache
73   apache-antiloris
74   file
75   graphviz
76   memcached
77   haproxy
78   varnish-3.0
79   w3m
80   poppler
81   libpng
82   ghostscript
83   mariadb
84   mroonga-mariadb
85   imagemagick
86   libdmtx
87   dmtx-utils
88   kumo
89   libreoffice-bin
90   w3-validator
91   tesseract
92   hookbox
93   perl-DBD-mariadb
94   perl-DBI
95   percona-toolkit
96   zabbix-agent
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 = 49ae6f1bf97d3755978fe08b8e29fb5a
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 = 918b972679d5c06082363d41483324a7
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 = bd5872108f812c6823a8915670e51c4c
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 = 2576de300d1a74fd1a99388af9723d42
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 poppler_location poppler:location
257     key sed_location sed:location
258     key template_cloudooo template-cloudooo:target
259     key template_erp5_single template-erp5-single:target
260     key template_erp5_cluster template-erp5-cluster:target
261     key template_kumofs template-kumofs:rendered
262     key template_mariadb template-mariadb:rendered
263     key template_memcached template-memcached:rendered
264     key template_tidstorage template-tidstorage:target
265     key template_varnish template-varnish:target
266     key template_zope template-zope:target
267     key template_zope_conf template-zope-conf:target
268     key tesseract_location tesseract:location
269     key varnish_location varnish-3.0:location
270     key w3m_location w3m:location
271     key wget_location wget:location
272     key zlib_location zlib:location
273
274 [template-memcached]
275 < = template-jinja2-base
276 filename = instance-memcached.cfg
277 md5sum = 44c507e9eec1003beb99f9063b5e09be
278 extra-context =
279     key dash_location dash:location
280     key memcached_location memcached:location
281
282 [template-erp5-single]
283 recipe = slapos.recipe.build:download
284 url = ${:_profile_base_location_}/instance-erp5-single.cfg.in
285 md5sum = 2a4312202a3160f874c4fa3ee9155a1d
286 mode = 640
287
288 [template-erp5-cluster]
289 recipe = slapos.recipe.build:download
290 url = ${:_profile_base_location_}/instance-erp5-cluster.cfg.in
291 md5sum = eecde68b9a266d8883042540ac077839
292 mode = 640
293
294 [template-varnish]
295 recipe = slapos.recipe.build:download
296 url = ${:_profile_base_location_}/instance-varnish.cfg.in
297 md5sum = 17aee2df57b121343b1fd65f4b51ce80
298 mode = 640
299
300 [bt5-repository]
301 # Format:
302 #   <url or path> [...]
303 #
304 # Use absolute paths for local repositories, and URLs for non-local otherwise.
305 #
306 list = ${local-bt5-repository:list}
307
308 [local-bt5-repository]
309 # Same as bt5-repository, but only local repository.
310 # Used to generate bt5lists.
311 list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap
312
313 [genbt5list]
314 recipe = plone.recipe.command
315 stop-on-error = true
316 genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
317 command =
318   ${buildout:executable} ${:genbt5list} ${local-bt5-repository:list}
319 update-command = ${:command}
320
321 [erp5_repository_list]
322 repository_id_list = erp5
323
324 [erp5]
325 recipe = slapos.recipe.build:gitclone
326 repository = http://git.erp5.org/repos/erp5.git
327 branch = master
328 git-executable = ${git:location}/bin/git
329
330 [fix-products-paths]
331 recipe = plone.recipe.command
332 stop-on-error = true
333 dir = ${erp5:location}
334 command =
335   rm -f "${:dir}/Products" && ln -s product "${:dir}/Products" && touch "${:dir}/product/__init__.py"
336 update-command = ${:command}
337
338 [testrunner]
339 # XXX: Workaround for fact ERP5Type is not an distribution and does not
340 #      expose entry point for test runner
341 recipe = zc.recipe.egg
342 python = python2.7
343 eggs = ${eggs:eggs}
344 extra-paths = ${eggs:extra-paths}
345 entry-points =
346   runUnitTest=runUnitTest:main
347 scripts = runUnitTest
348 initialization =
349   import glob, imp, os, sys
350   import App # prevent Testing from importing Zope2.App instead of App
351   import Products
352   Products.__path__[:0] = filter(None,
353     os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
354   os.environ['SOFTWARE_HOME'] = os.path.abspath(imp.find_module('Zope2')[1])
355   os.environ['ZOPE_SCRIPTS'] = ''
356   parts_directory = '''${buildout:parts-directory}'''
357   repository_id_list = \
358     '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
359   os.environ['erp5_tests_bt5_path'] = ','.join(sum((
360     [bt5_path, os.path.join(bt5_path, '*')]
361     for bt5_path in (os.path.join(parts_directory, x, 'bt5')
362                      for x in repository_id_list)), []))
363   extra_path_list = '''${:extra-paths}'''.split()
364   sys.path[:0] = sum((
365     glob.glob(os.path.join(x, 'tests'))
366     for x in extra_path_list), [])
367   sys.path[:0] = sum((
368     glob.glob(os.path.join(x, 'Products', '*', 'tests'))
369     for x in extra_path_list), [])
370
371 [test_suite_runner]
372 # XXX: Workaround for fact ERP5Type is not an distribution and does not
373 #      expose entry point for test runner
374 recipe = zc.recipe.egg
375 python = python2.7
376 eggs = ${eggs:eggs}
377 extra-paths = ${eggs:extra-paths}
378 entry-points =
379   runTestSuite=Products.ERP5Type.tests.runTestSuite:main
380 scripts = runTestSuite
381 initialization =
382   import os
383   import sys
384   import Products
385   [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
386   import Zope2
387   os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
388   os.environ['ZOPE_SCRIPTS'] = ''
389   repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
390   sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
391
392 [eggs]
393 recipe = zc.recipe.egg
394 python = python2.7
395 eggs =
396   ${mysql-python:egg}
397   ${lxml-python:egg}
398   ${pil-python:egg}
399   ${python-ldap-python:egg}
400   ${pysvn-python:egg}
401   ${pycrypto-python:egg}
402   PyXML
403   SOAPpy
404   cElementTree
405   chardet
406   coverage
407   elementtree
408   erp5diff
409   inotifyx
410   ipdb
411   mechanize
412   numpy
413   ordereddict
414   paramiko
415   ply
416   pyPdf # should be replaced by PyPDF2, but it is not installable
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 http-parser = 0.7.8
591 huBarcode = 0.63
592 inotifyx = 0.2.0
593 ipdb = 0.7
594 ipython = 0.13
595 meld3 = 0.6.8
596 netaddr = 0.7.9
597 netifaces = 0.8
598 ordereddict = 1.1
599 paramiko = 1.7.7.2
600 plone.recipe.command = 1.1
601 ply = 3.4
602 polib = 1.0.0
603 psutil = 0.6.1
604 python-ldap = 2.4.10
605 python-magic = 0.4.3
606 python-memcached = 1.47
607 restkit = 4.2.0
608 rtjp-eventlet = 0.3.2
609 setuptools = 0.6c12dev-r88846
610 slapos.core = 0.28
611 slapos.libnetworkcache = 0.13.2
612 slapos.recipe.build = 0.11.6
613 slapos.recipe.template = 2.4.2
614 slapos.toolbox = 0.29
615 smmap = 0.8.2
616 socketpool = 0.5.2
617 supervisor = 3.0a12
618 threadframe = 0.2
619 timerserver = 2.0.2
620 urlnorm = 1.1.2
621 uuid = 1.30
622 validictory = 0.8.3
623 xml-marshaller = 0.9.7
624 xupdate-processor = 0.4
625 mr.developer = 1.21
626 qrcode = 2.4.1
627 spyne = 2.9.3
628 requests = 0.13.2
629 cloudooo = 1.2.5-dev
630 zope.app.testing = 3.8.1 ; BBB