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