Merge remote-tracking branch 'origin/master' into slapos-testing
[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 extends =
19 # Exact version of Zope
20   http://svn.zope.org/repos/main/Zope/tags/2.12.23/versions.cfg
21   ../../stack/slapos.cfg
22   ../../component/logrotate/buildout.cfg
23   ../../component/dcron/buildout.cfg
24   ../../component/file/buildout.cfg
25   ../../component/fonts/buildout.cfg
26   ../../component/ghostscript/buildout.cfg
27   ../../component/git/buildout.cfg
28   ../../component/graphviz/buildout.cfg
29   ../../component/gzip/buildout.cfg
30   ../../component/haproxy/buildout.cfg
31   ../../component/hookbox/buildout.cfg
32   ../../component/librsvg/buildout.cfg
33   ../../component/imagemagick/buildout.cfg
34   ../../component/kumo/buildout.cfg
35   ../../component/libdmtx/buildout.cfg
36   ../../component/libpng/buildout.cfg
37   ../../component/libreoffice-bin/buildout.cfg
38   ../../component/lxml-python/buildout.cfg
39   ../../component/percona-toolkit/buildout.cfg
40   ../../component/mariadb/buildout.cfg
41   ../../component/memcached/buildout.cfg
42   ../../component/mysql-python/buildout.cfg
43   ../../component/pdftk/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/sphinx/buildout.cfg
52   ../../component/stunnel/buildout.cfg
53   ../../component/subversion/buildout.cfg
54   ../../component/tesseract/buildout.cfg
55   ../../component/varnish/buildout.cfg
56   ../../component/w3-validator/buildout.cfg
57   ../../component/w3m/buildout.cfg
58   ../../component/xorg/buildout.cfg
59   ../../component/poppler/buildout.cfg
60   ../../component/xtrabackup/buildout.cfg
61   ../../component/zabbix/buildout.cfg
62   ../../component/sed/buildout.cfg
63   ../../component/coreutils/buildout.cfg
64   ../../component/grep/buildout.cfg
65   ../../component/dash/buildout.cfg
66   ../../component/wget/buildout.cfg
67   ../../component/aspell/buildout.cfg
68   ../../component/cloudooo/buildout.cfg
69
70 parts =
71   rdiff-backup
72   aspell
73   aspell-en-dictionary
74   apache
75   apache-antiloris
76   file
77   graphviz
78   memcached
79   haproxy
80   varnish-3.0
81   stunnel
82   w3m
83   poppler
84   libpng
85   ghostscript
86   mariadb
87   mroonga-mariadb
88   sphinx
89   imagemagick
90   libdmtx
91   dmtx-utils
92   kumo
93   libreoffice-bin
94   w3-validator
95   tesseract
96   hookbox
97   bootstrap2.6
98   perl-DBD-mariadb
99   perl-DBI
100   percona-toolkit
101   zabbix-agent
102   pdftk
103   dcron
104   dash
105   wget
106
107 # Buildoutish
108   eggs
109   testrunner
110   test_suite_runner
111
112 # basic Xorg
113   libXdmcp
114   libXext
115   libXau
116   libSM
117   libXrender
118
119 # fonts
120   liberation-fonts
121   ipaex-fonts
122
123 # Cloudooo specific part
124   cloudooo
125
126 # get git repositories
127   erp5
128   genbt5list
129
130 # fix products path (Zeo needs ERP5 Products to be available for
131 # conflict resolution)
132   fix-products-paths
133 # some additional utils
134   slapos-toolbox
135
136 # Local development
137   slapos.cookbook-repository
138   check-recipe
139   slapos.cookbook-python2.6
140   slapos.recipe.template-python2.6
141 # Create instance template
142   template
143
144 # Local development
145 [slapos.cookbook-repository]
146 recipe = plone.recipe.command
147 stop-on-error = true
148 branch = erp5
149 revision =
150 location = ${buildout:parts-directory}/${:_buildout_section_name_}
151 command = "${git:location}/bin/git" clone --branch "${:branch}" --quiet http://git.erp5.org/repos/slapos.git "${:location}" && if [ -n "${:revision}" ]; then cd "${:location}" && "${git:location}/bin/git" reset --quiet --hard "${:revision}" ; fi
152 update-command = cd "${:location}" && "${git:location}/bin/git" fetch --quiet && if [ -n "${:revision}" ]; then "${git:location}/bin/git" reset --hard "${:revision}"; else "${git:location}/bin/git" reset --quiet --hard @{upstream} ; fi
153
154 [check-recipe]
155 recipe = plone.recipe.command
156 stop-on-error = true
157 update-command = ${:command}
158 command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link
159
160 [slapos.cookbook-python2.6]
161 recipe = zc.recipe.egg
162 eggs = slapos.cookbook
163 scripts =
164 python = python2.6
165 ugly-depend-on = ${slapos.cookbook-repository:command} ${slapos.cookbook-repository:update-command}
166
167 [slapos.recipe.template-python2.6]
168 recipe = zc.recipe.egg
169 eggs = slapos.recipe.template
170 scripts =
171 python = python2.6
172
173 [template-jinja2-base]
174 recipe = slapos.recipe.template:jinja2
175 template = ${:_profile_base_location_}/${:filename}.in
176 rendered = ${buildout:directory}/${:filename}
177 # XXX: extra-context is needed because we cannot append to a key of an extended
178 # section.
179 extra-context =
180 context =
181     key bin_directory buildout:bin-directory
182     key develop_eggs_directory buildout:develop-eggs-directory
183     key eggs_directory buildout:eggs-directory
184     ${:extra-context}
185
186 [template-mariadb]
187 < = template-jinja2-base
188 filename = instance-mariadb.cfg
189 md5sum = 0e8e9bfc8c8a5f1bd71f5c4f346ef68b
190 extra-context =
191     key coreutils_location coreutils:location
192     key dcron_location dcron:location
193     key gettext_location gettext:location
194     key grep_location grep:location
195     key gzip_location gzip:location
196     key logrotate_location logrotate:location
197     key mariadb_location mariadb:location
198     key perl_location perl:location
199     key perl_siteprefix perl:siteprefix
200     key sed_location sed:location
201     key xtrabackup_location xtrabackup:location
202
203 [template-sphinx]
204 < = template-jinja2-base
205 filename = instance-sphinx.cfg
206 md5sum = e3975afd5220f251d6b6e7024a2ca08b
207 extra-context =
208     key sphinx_location sphinx:location
209
210 [template-zope]
211 recipe = slapos.recipe.build:download
212 url = ${:_profile_base_location_}/instance-zope.cfg.in
213 md5sum = de2918c8ca604f452a69108f6e31e78d
214 mode = 640
215
216 [template-kumofs]
217 < = template-jinja2-base
218 filename = instance-kumofs.cfg
219 md5sum = 7e13d689de7163dcab64e8df4711cdd7
220 extra-context =
221     key dash_location dash:location
222     key dcron_location dcron:location
223     key gzip_location gzip:location
224     key kumo_location kumo:location
225     key logrotate_location logrotate:location
226
227 [template-tidstorage]
228 recipe = slapos.recipe.build:download
229 url = ${:_profile_base_location_}/instance-tidstorage.cfg.in
230 md5sum = 520e39f2612a045b42c0ad914bfdc5a9
231 mode = 640
232
233 [template-cloudooo]
234 recipe = slapos.recipe.build:download
235 url = ${:_profile_base_location_}/instance-cloudoo.cfg.in
236 md5sum = 53492e520be57f4c6a9eacd107c8d446
237 mode = 640
238
239 [template-zope-conf]
240 recipe = slapos.recipe.build:download
241 url = ${:_profile_base_location_}/zope.conf.in
242 md5sum = 599e004c18fd3461aa846ae75bd112f2
243 mode = 640
244
245 [template]
246 < = template-jinja2-base
247 # XXX: "template.cfg" is hardcoded in instanciation recipe
248 filename = template.cfg
249 template = ${:_profile_base_location_}/instance.cfg.in
250 md5sum = 26d26c357053af48602b5110120bd085
251 extra-context =
252     key apache_location apache:location
253     key aspell_location aspell:location
254     key buildout_bin_directory buildout:bin-directory
255     key coreutils_location coreutils:location
256     key curl_location curl:location
257     key dash_location dash:location
258     key dcron_location dcron:location
259     key dmtx_utils_location dmtx-utils:location
260     key erp5_location erp5:location
261     key file_location file:location
262     key fontconfig_location fontconfig:location
263     key fonts_location fonts:location
264     key freetype_location freetype:location
265     key git_location git:location
266     key graphviz_location graphviz:location
267     key grep_location grep:location
268     key gzip_location gzip:location
269     key haproxy_location haproxy:location
270     key imagemagick_location imagemagick:location
271     key libICE_location libICE:location
272     key libSM_location libSM:location
273     key libX11_location libX11:location
274     key libXau_location libXau:location
275     key libXdmcp_location libXdmcp:location
276     key libXext_location libXext:location
277     key libXrender_location libXrender:location
278     key libpng12_location libpng12:location
279     key libreoffice_bin_location libreoffice-bin:location
280     key librsvg_location librsvg:location
281     key libxcb_location libxcb:location
282     key local_bt5_repository local-bt5-repository:list
283     key logrotate_location logrotate:location
284     key mariadb_location mariadb:location
285     key openssl_location openssl:location
286     key pdftk_location pdftk:location
287     key poppler_location poppler:location
288     key sed_location sed:location
289     key template_cloudooo template-cloudooo:target
290     key template_erp5_single template-erp5-single:target
291     key template_erp5_cluster template-erp5-cluster:rendered
292     key template_kumofs template-kumofs:rendered
293     key template_mariadb template-mariadb:rendered
294     key template_memcached template-memcached:rendered
295     key template_sphinx template-sphinx:rendered
296     key template_tidstorage template-tidstorage:target
297     key template_varnish template-varnish:target
298     key template_zope template-zope:target
299     key template_zope_conf template-zope-conf:target
300     key tesseract_location tesseract:location
301     key varnish_location varnish-3.0:location
302     key w3m_location w3m:location
303     key wget_location wget:location
304     key zlib_location zlib:location
305
306 [template-memcached]
307 < = template-jinja2-base
308 filename = instance-memcached.cfg
309 md5sum = 44c507e9eec1003beb99f9063b5e09be
310 extra-context =
311     key dash_location dash:location
312     key memcached_location memcached:location
313
314 [template-erp5-single]
315 recipe = slapos.recipe.build:download
316 url = ${:_profile_base_location_}/instance-erp5-single.cfg.in
317 md5sum = 2a4312202a3160f874c4fa3ee9155a1d
318 mode = 640
319
320 [template-erp5-cluster]
321 < = template-jinja2-base
322 filename = instance-erp5-cluster.cfg
323 md5sum = 3051f3fea39d7409c417dcac26027b56
324 extra-context =
325     key local_bt5_repository local-bt5-repository:list
326
327 [template-varnish]
328 recipe = slapos.recipe.build:download
329 url = ${:_profile_base_location_}/instance-varnish.cfg.in
330 md5sum = 17aee2df57b121343b1fd65f4b51ce80
331 mode = 640
332
333 [bt5-repository]
334 # Format:
335 #   <url or path> [...]
336 #
337 # Use absolute paths for local repositories, and URLs for non-local otherwise.
338 #
339 list = ${local-bt5-repository:list}
340
341 [local-bt5-repository]
342 # Same as bt5-repository, but only local repository.
343 # Used to generate bt5lists.
344 list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap
345
346 [genbt5list]
347 recipe = plone.recipe.command
348 stop-on-error = true
349 genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
350 command =
351   ${buildout:executable} ${:genbt5list} ${local-bt5-repository:list}
352 update-command = ${:command}
353
354 [bootstrap2.6]
355 python = python2.6
356
357 [erp5_repository_list]
358 repository_id_list = erp5
359
360 [erp5]
361 # Recipe zerokspot.recipe.git is disabled, as is not possible to change its
362 # environment to use localy delivered git.
363 # plone.recipe.command can do same job, but it is controllable which binary
364 # will be used
365 recipe = plone.recipe.command
366 location = ${buildout:parts-directory}/${:_buildout_section_name_}
367 stop-on-error = true
368 repository = http://git.erp5.org/repos/erp5.git
369 branch = master
370 revision =
371 command = "${git:location}/bin/git" clone --quiet --branch "${:branch}" "${:repository}" "${:location}" && if [ -n "${:revision}" ]; then cd "${:location}" && "${git:location}/bin/git" reset --quiet --hard "${:revision}" ; fi
372 update-command = cd "${:location}" && "${git:location}/bin/git" fetch && if [ -n "${:revision}" ]; then "${git:location}/bin/git" reset --hard "${:revision}"; else "${git:location}/bin/git" reset --hard @{upstream} ; fi
373
374 [fix-products-paths]
375 recipe = plone.recipe.command
376 stop-on-error = true
377 command =
378   for DIR in "${erp5:location}"; do cd "$DIR"; rm -f Products ; ln -s product Products; touch product/__init__.py; done
379 update-command = ${:command}
380
381 [testrunner]
382 # XXX: Workaround for fact ERP5Type is not an distribution and does not
383 #      expose entry point for test runner
384 recipe = zc.recipe.egg
385 python = python2.6
386 eggs = ${eggs:eggs}
387 extra-paths = ${eggs:extra-paths}
388 entry-points =
389   runUnitTest=runUnitTest:main
390 scripts = runUnitTest
391 initialization =
392   import glob, imp, os, sys
393   import App # prevent Testing from importing Zope2.App instead of App
394   import Products
395   Products.__path__[:0] = filter(None,
396     os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
397   os.environ['SOFTWARE_HOME'] = os.path.abspath(imp.find_module('Zope2')[1])
398   os.environ['ZOPE_SCRIPTS'] = ''
399   parts_directory = '''${buildout:parts-directory}'''
400   repository_id_list = \
401     '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
402   os.environ['erp5_tests_bt5_path'] = ','.join(sum((
403     [bt5_path, os.path.join(bt5_path, '*')]
404     for bt5_path in (os.path.join(parts_directory, x, 'bt5')
405                      for x in repository_id_list)), []))
406   extra_path_list = '''${:extra-paths}'''.split()
407   sys.path[:0] = sum((
408     glob.glob(os.path.join(x, 'tests'))
409     for x in extra_path_list), [])
410   sys.path[:0] = sum((
411     glob.glob(os.path.join(x, 'Products', '*', 'tests'))
412     for x in extra_path_list), [])
413
414 [test_suite_runner]
415 # XXX: Workaround for fact ERP5Type is not an distribution and does not
416 #      expose entry point for test runner
417 recipe = zc.recipe.egg
418 python = python2.6
419 eggs = ${eggs:eggs}
420 extra-paths = ${eggs:extra-paths}
421 entry-points =
422   runTestSuite=Products.ERP5Type.tests.runTestSuite:main
423 scripts = runTestSuite
424 initialization =
425   import os
426   import sys
427   import Products
428   [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
429   import Zope2
430   os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
431   os.environ['ZOPE_SCRIPTS'] = ''
432   repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
433   sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
434
435 [eggs]
436 recipe = zc.recipe.egg
437 python = python2.6
438 eggs =
439   ${mysql-python:egg}
440   ${lxml-python:egg}
441   ${pil-python:egg}
442   ${python-ldap-python:egg}
443   ${pysvn-python:egg}
444   ${pycrypto-python:egg}
445   PyXML
446   SOAPpy
447   cElementTree
448   chardet
449   coverage
450   elementtree
451   erp5diff
452   inotifyx
453   ipdb
454   mechanize
455   numpy
456   ordereddict
457   paramiko
458   ply
459   python-magic
460   python-memcached
461   pytz
462   requests
463   threadframe
464   timerserver
465   urlnorm
466   uuid
467   xml_marshaller
468   xupdate_processor
469   feedparser
470   argparse
471   validictory
472   erp5.util
473   huBarcode
474   qrcode
475
476 # Zope 2.12 with patched acquisition
477   ZODB3
478   Zope2
479   Acquisition
480
481 # Other Zope 2 packages
482   Products.PluggableAuthService
483   Products.PluginRegistry
484
485 # CMF 2.2
486   Products.CMFActionIcons
487   Products.CMFCalendar
488   Products.CMFCore
489   Products.CMFDefault
490   Products.CMFTopic
491   Products.CMFUid
492   Products.DCWorkflow
493   Products.GenericSetup
494   five.localsitemanager
495
496 # Other products
497   Products.DCWorkflowGraph
498   Products.MimetypesRegistry
499   Products.ExternalEditor
500   Products.TIDStorage
501
502 # Currently forked in our repository
503 #    Products.PortalTransforms
504 # Dependency for our fork of PortalTransforms
505   StructuredText
506
507 # Needed for parsing .po files from our Localizer subset
508   polib
509
510 # parameterizing the version of the generated python interpreter name by the
511 # python section version causes dependency between this egg section and the
512 # installation of python, which we don't want on an instance
513 interpreter = python2.6
514 scripts =
515   repozo
516   runzope
517   runzeo
518   tidstoraged
519   tidstorage_repozo
520   web_checker_utility = erp5.util.webchecker:web_checker_utility
521
522 extra-paths =
523   ${erp5:location}
524
525 [cloudooo-repository]
526 branch = master
527 revision = 4cdfffb3f81a0fdbb7b372d92de664e716f12d4b
528
529 [mysql-python]
530 python = python2.6
531
532 [lxml-python]
533 python = python2.6
534
535 [pil-python]
536 python = python2.6
537
538 [python-ldap-python]
539 python = python2.6
540
541 [pysvn-python]
542 python = python2.6
543
544 [slapos-toolbox]
545 recipe = zc.recipe.egg
546 python = ${eggs:python}
547 eggs =
548   ${lxml-python:egg}
549   slapos.toolbox
550   slapos.toolbox[zodbpack]
551
552 scripts =
553   killpidfromfile
554   onetimedownload
555   zodbpack
556
557 [versions]
558 # pin Acquisition and Products.DCWorkflow to Nexedi flavour of eggs
559 Acquisition = 2.13.7nxd001
560 Products.DCWorkflow = 2.2.3nxd002
561
562 # Known version with works
563 numpy = 1.6.2
564 # Patched version which support python 2.6
565 PyXML = 0.8.4nxd001
566 # modified version that works fine for buildout installation
567 SOAPpy = 0.12.0nxd001
568 # we are still using this old stable version.
569 rdiff-backup = 1.0.5
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 # CMF 2.3 requries Zope 2.13.
576 Products.CMFCalendar = 2.2.2
577 Products.CMFCore = 2.2.5
578 Products.CMFDefault = 2.2.2
579 Products.CMFTopic = 2.2.1
580 Products.CMFUid = 2.2.1
581
582 # Unpined locally developed egg
583 slapos.cookbook =
584
585 # Pinned versions
586 Flask = 0.8
587 GitPython = 0.3.2.RC1
588 MySQL-python = 1.2.3
589 PIL = 1.1.7
590 Paste = 1.7.5.1
591 PasteDeploy = 1.5.0
592 PasteScript = 1.7.5
593 Products.CMFActionIcons = 2.1.3
594 Products.CMFCalendar = 2.2.2
595 Products.CMFCore = 2.2.5
596 Products.CMFDefault = 2.2.2
597 Products.CMFTopic = 2.2.1
598 Products.CMFUid = 2.2.1
599 Products.DCWorkflowGraph = 0.4.1
600 Products.ExternalEditor = 1.1.0
601 Products.GenericSetup = 1.7.1
602 Products.MimetypesRegistry = 2.0.3
603 Products.PluggableAuthService = 1.7.7
604 Products.PluginRegistry = 1.3b1
605 Products.TIDStorage = 5.4.7.dev-r45842
606 Products.Zelenium = 1.0.3
607 StructuredText = 2.11.1
608 WSGIUtils = 0.7
609 Werkzeug = 0.8.3
610 apache-libcloud = 0.9.1
611 argparse = 1.1
612 async = 0.6.1
613 atomize = 0.1.1
614 buildout-versions = 1.7
615 cElementTree = 1.0.5-20051216
616 chardet = 1.0.1
617 coverage = 3.5.1
618 csp-eventlet = 0.7.0
619 elementtree = 1.2.7-20070827-preview
620 erp5.recipe.cmmiforcei686 = 0.1.3
621 erp5.util = 0.4.6
622 erp5diff = 0.8.1.5
623 eventlet = 0.9.16
624 feedparser = 5.1.1
625 five.localsitemanager = 2.0.5
626 fpconst = 0.7.2
627 gitdb = 0.5.4
628 greenlet = 0.3.4
629 hexagonit.recipe.cmmi = 1.5.0
630 http-parser = 0.7.5
631 huBarcode = 0.63
632 inotifyx = 0.2.0
633 ipdb = 0.6.1
634 ipython = 0.12
635 meld3 = 0.6.8
636 netaddr = 0.7.6
637 netifaces = 0.8
638 ordereddict = 1.1
639 paramiko = 1.7.7.1
640 plone.recipe.command = 1.1
641 ply = 3.4
642 polib = 1.0.0
643 psutil = 0.4.1
644 python-ldap = 2.4.9
645 python-magic = 0.4.2
646 python-memcached = 1.47
647 restkit = 4.1.2
648 rtjp-eventlet = 0.3.2
649 setuptools = 0.6c12dev-r88846
650 slapos.core = 0.24
651 slapos.recipe.build = 0.7
652 slapos.recipe.template = 2.4
653 slapos.toolbox = 0.23
654 smmap = 0.8.2
655 socketpool = 0.3.0
656 supervisor = 3.0a12
657 threadframe = 0.2
658 timerserver = 2.0.2
659 urlnorm = 1.1.2
660 uuid = 1.30
661 validictory = 0.8.3
662 xml-marshaller = 0.9.7
663 xupdate-processor = 0.4