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