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