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