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   ordereddict
430   paramiko
431   ply
432   pyflakes
433   pypdf2
434   python-magic
435   python-memcached
436   pytz
437   requests
438   threadframe
439   timerserver
440   urlnorm
441   uuid
442   xml_marshaller
443   xupdate_processor
444   feedparser
445   argparse
446   validictory
447   erp5.util
448   huBarcode
449   qrcode
450   spyne
451   httplib2
452   suds
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 = master
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.7nxd001
556 Products.DCWorkflow = 2.2.3nxd002
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 lxml = 2.3.6
563
564 # Known version with works
565 numpy = 1.6.2
566
567 # test_UserManagerInterfaces in testERP5Security fails with 1.10.0.
568 Products.PluggableAuthService = 1.9.0
569
570 # official pysvn egg does not supports --include-dirs and
571 # --library-dirs, so we use our modified version
572 pysvn = 1.7.4nxd006
573
574 # modified version to support ipv6
575 python-memcached = 1.47-ipv6-1
576
577 # use newest version of pytz
578 pytz =
579
580 # Patched version which support python 2.6
581 PyXML = 0.8.4nxd001
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 requries Zope 2.13.
596 Products.CMFCalendar = 2.2.2
597 Products.CMFCore = 2.2.6
598 Products.CMFDefault = 2.2.2
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 # BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
609 #      (for tests like testCookieCrumbler).
610 zope.app.testing = 3.8.1
611
612 # Pinned versions
613 Flask = 0.9
614 GitPython = 0.3.2.RC1
615 Jinja2 = 2.6
616 MySQL-python = 1.2.4
617 PIL = 1.1.7
618 Paste = 1.7.5.1
619 PasteDeploy = 1.5.0
620 PasteScript = 1.7.5
621 Products.CMFActionIcons = 2.1.3
622 Products.DCWorkflowGraph = 0.4.1
623 Products.ExternalEditor = 1.1.0
624 Products.GenericSetup = 1.7.3
625 Products.LongRequestLogger = 1.1.0
626 Products.MimetypesRegistry = 2.0.4
627 Products.PluginRegistry = 1.3
628 Products.TIDStorage = 5.4.8
629 Products.ZSQLMethods = 2.13.4
630 Pygments = 1.6
631 StructuredText = 2.11.1
632 WSGIUtils = 0.7
633 Werkzeug = 0.8.3
634 apache-libcloud = 0.12.4
635 argparse = 1.2.1
636 async = 0.6.1
637 atomize = 0.1.1
638 cElementTree = 1.0.5-20051216
639 chardet = 2.1.1
640 coverage = 3.6
641 csp-eventlet = 0.7.0
642 elementtree = 1.2.7-20070827-preview
643 erp5.recipe.cmmiforcei686 = 0.1.3
644 erp5.util = 0.4.34
645 erp5diff = 0.8.1.5
646 eventlet = 0.12.1
647 feedparser = 5.1.3
648 five.formlib = 1.0.4
649 five.localsitemanager = 2.0.5
650 fpconst = 0.7.2
651 gitdb = 0.5.4
652 greenlet = 0.4.0
653 hexagonit.recipe.cmmi = 1.6
654 http-parser = 0.8.1
655 huBarcode = 0.63
656 inotifyx = 0.2.0
657 ipdb = 0.7
658 ipython = 0.13.2
659 meld3 = 0.6.10
660 mr.developer = 1.25
661 netaddr = 0.7.10
662 netifaces = 0.8_1
663 ordereddict = 1.1
664 paramiko = 1.10.1
665 plone.recipe.command = 1.1
666 ply = 3.4
667 polib = 1.0.3
668 psutil = 0.7.1
669 pyPdf = 1.13
670 pyflakes = 0.7.2
671 python-ldap = 2.4.10
672 python-magic = 0.4.3
673 qrcode = 2.7
674 requests = 1.2.3
675 restkit = 4.2.1
676 rtjp-eventlet = 0.3.2
677 slapos.core = 0.35.1
678 slapos.recipe.build = 0.11.6
679 slapos.recipe.template = 2.4.2
680 slapos.toolbox = 0.33.1
681 smmap = 0.8.2
682 socketpool = 0.5.2
683 spyne = 2.10.7
684 supervisor = 3.0b2
685 threadframe = 0.2
686 timerserver = 2.0.2
687 urlnorm = 1.1.2
688 uuid = 1.30
689 validictory = 0.9.1
690 xml-marshaller = 0.9.7
691 xupdate-processor = 0.4
692 zope.app.debug = 3.4.1
693 zope.app.dependable = 3.5.1
694 zope.app.form = 4.0.2
695 pylint = 1.0.0