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