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