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 = 90a321be12ee977800d590bf941021ef
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 = 5572d10b343bd2de90deeaf55dd0fdc7
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   SOAPpy
418   cElementTree
419   chardet
420   coverage
421   elementtree
422   erp5diff
423   inotifyx
424   ipdb
425   mechanize
426   numpy
427   ordereddict
428   paramiko
429   ply
430   pyflakes
431   pyPdf # should be replaced by PyPDF2, but it is not installable
432   python-magic
433   python-memcached
434   pytz
435   requests
436   threadframe
437   timerserver
438   urlnorm
439   uuid
440   xml_marshaller
441   xupdate_processor
442   feedparser
443   argparse
444   validictory
445   erp5.util
446   huBarcode
447   qrcode
448   spyne
449
450 # Zope
451   ZODB3
452   Zope2
453 # Zope acquisition patch
454   Acquisition
455
456 # Other Zope 2 packages
457   Products.PluggableAuthService
458   Products.PluginRegistry
459
460 # CMF 2.2
461   Products.CMFActionIcons
462   Products.CMFCalendar
463   Products.CMFCore
464   Products.CMFDefault
465   Products.CMFTopic
466   Products.CMFUid
467   Products.DCWorkflow
468   Products.GenericSetup
469   five.localsitemanager
470
471 # Other products
472   Products.DCWorkflowGraph
473   Products.MimetypesRegistry
474   Products.ExternalEditor
475   Products.TIDStorage
476   Products.LongRequestLogger
477
478 # BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
479 #      (for tests like testCookieCrumbler).
480   zope.app.testing
481
482 # Currently forked in our repository
483 #    Products.PortalTransforms
484 # Dependency for our fork of PortalTransforms
485   StructuredText
486
487 # Needed for parsing .po files from our Localizer subset
488   polib
489
490 # parameterizing the version of the generated python interpreter name by the
491 # python section version causes dependency between this egg section and the
492 # installation of python, which we don't want on an instance
493 interpreter = python2.7
494 scripts =
495   repozo
496   runzope
497   runzeo
498   tidstoraged
499   tidstorage_repozo
500   web_checker_utility = erp5.util.webchecker:web_checker_utility
501
502 extra-paths =
503   ${erp5:location}
504
505 [zodbanalyze]
506 recipe = zc.recipe.egg
507 python = python2.7
508 eggs =
509   ZODB3
510   erp5.util
511 entry-points =
512   zodbanalyze=erp5.util.zodbanalyze:main
513 scripts = zodbanalyze
514
515 [cloudooo-repository]
516 branch = master
517 revision = 5c67568c403239bd8e25993602d03c553236fcec
518
519 [mysql-python]
520 python = python2.7
521
522 [lxml-python]
523 python = python2.7
524
525 [pil-python]
526 python = python2.7
527
528 [python-ldap-python]
529 python = python2.7
530
531 [pysvn-python]
532 python = python2.7
533
534 [slapos-toolbox]
535 recipe = zc.recipe.egg
536 python = ${eggs:python}
537 eggs =
538   ${lxml-python:egg}
539   slapos.toolbox
540   slapos.toolbox[zodbpack]
541
542 scripts =
543   killpidfromfile
544   onetimedownload
545   zodbpack
546
547 [versions]
548 # pin Acquisition and Products.DCWorkflow to Nexedi flavour of eggs
549 Acquisition = 2.13.7nxd001
550 Products.DCWorkflow = 2.2.3nxd002
551
552 # specify dev version to be sure that an old released version is not used
553 cloudooo = 1.2.5-dev
554
555 # use newer version than specified in ZTK
556 lxml = 2.3.6
557
558 # Known version with works
559 numpy = 1.6.2
560
561 # test_UserManagerInterfaces in testERP5Security fails with 1.10.0.
562 Products.PluggableAuthService = 1.9.0
563
564 # official pysvn egg does not supports --include-dirs and
565 # --library-dirs, so we use our modified version
566 pysvn = 1.7.4nxd006
567
568 # modified version to support ipv6
569 python-memcached = 1.47-ipv6-1
570
571 # use newest version of pytz
572 pytz =
573
574 # Patched version which support python 2.6
575 PyXML = 0.8.4nxd001
576
577 # we are still using this old stable version.
578 rdiff-backup = 1.0.5
579
580 # use dev version
581 setuptools = 0.6c12dev-r88846
582
583 # use newest version of slapos.cookbook
584 slapos.cookbook =
585
586 # modified version that works fine for buildout installation
587 SOAPpy = 0.12.0nxd001
588
589 # CMF 2.3 requries Zope 2.13.
590 Products.CMFCalendar = 2.2.2
591 Products.CMFCore = 2.2.6
592 Products.CMFDefault = 2.2.2
593 Products.CMFTopic = 2.2.1
594 Products.CMFUid = 2.2.1
595
596 # newer version requires zope.traversing>=4.0.0a2.
597 zope.app.appsetup = 3.16.0
598
599 # newer version requires zope.i18n>=4.0.0a3
600 zope.app.publication = 3.14.0
601
602 # BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
603 #      (for tests like testCookieCrumbler).
604 zope.app.testing = 3.8.1
605
606 # Pinned versions
607 Flask = 0.9
608 GitPython = 0.3.2.RC1
609 Jinja2 = 2.6
610 MySQL-python = 1.2.4
611 PIL = 1.1.7
612 Paste = 1.7.5.1
613 PasteDeploy = 1.5.0
614 PasteScript = 1.7.5
615 Products.CMFActionIcons = 2.1.3
616 Products.DCWorkflowGraph = 0.4.1
617 Products.ExternalEditor = 1.1.0
618 Products.GenericSetup = 1.7.3
619 Products.LongRequestLogger = 1.1.0
620 Products.MimetypesRegistry = 2.0.4
621 Products.PluginRegistry = 1.3
622 Products.TIDStorage = 5.4.8
623 Products.ZSQLMethods = 2.13.4
624 Pygments = 1.6
625 StructuredText = 2.11.1
626 WSGIUtils = 0.7
627 Werkzeug = 0.8.3
628 apache-libcloud = 0.12.4
629 argparse = 1.2.1
630 async = 0.6.1
631 atomize = 0.1.1
632 cElementTree = 1.0.5-20051216
633 chardet = 2.1.1
634 coverage = 3.6
635 csp-eventlet = 0.7.0
636 elementtree = 1.2.7-20070827-preview
637 erp5.recipe.cmmiforcei686 = 0.1.3
638 erp5.util = 0.4.34
639 erp5diff = 0.8.1.5
640 eventlet = 0.12.1
641 feedparser = 5.1.3
642 five.formlib = 1.0.4
643 five.localsitemanager = 2.0.5
644 fpconst = 0.7.2
645 gitdb = 0.5.4
646 greenlet = 0.4.0
647 hexagonit.recipe.cmmi = 1.6
648 http-parser = 0.8.1
649 huBarcode = 0.63
650 inotifyx = 0.2.0
651 ipdb = 0.7
652 ipython = 0.13.2
653 meld3 = 0.6.10
654 mr.developer = 1.25
655 netaddr = 0.7.10
656 netifaces = 0.8_1
657 ordereddict = 1.1
658 paramiko = 1.10.1
659 plone.recipe.command = 1.1
660 ply = 3.4
661 polib = 1.0.3
662 psutil = 0.7.1
663 pyPdf = 1.13
664 pyflakes = 0.7.2
665 python-ldap = 2.4.10
666 python-magic = 0.4.3
667 qrcode = 2.7
668 requests = 1.2.3
669 restkit = 4.2.1
670 rtjp-eventlet = 0.3.2
671 slapos.core = 0.35.1
672 slapos.recipe.build = 0.11.6
673 slapos.recipe.template = 2.4.2
674 slapos.toolbox = 0.33.1
675 smmap = 0.8.2
676 socketpool = 0.5.2
677 spyne = 2.10.7
678 supervisor = 3.0b2
679 threadframe = 0.2
680 timerserver = 2.0.2
681 urlnorm = 1.1.2
682 uuid = 1.30
683 validictory = 0.9.1
684 xml-marshaller = 0.9.7
685 xupdate-processor = 0.4
686 zope.app.debug = 3.4.1
687 zope.app.dependable = 3.5.1
688 zope.app.form = 4.0.2