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