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