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