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