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