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