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