specify slapos.core version in instance-erp5-*.cfg.in and instance-zope.cfg.in.
[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   https://raw.github.com/zopefoundation/Zope/2.13.21/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.7/buildout.cfg
48   ../../component/python-ldap-python/buildout.cfg
49   ../../component/rdiff-backup/buildout.cfg
50   ../../component/stunnel/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   ../../component/jsl/buildout.cfg
68
69 parts =
70   rdiff-backup
71   aspell
72   aspell-en-dictionary
73   apache
74   apache-antiloris
75   file
76   graphviz
77   haproxy
78   jsl
79   stunnel
80   varnish-3.0
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   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   zodbanalyze
133
134 # Local development
135   slapos.cookbook-repository
136   check-recipe
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
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 [template-jinja2-base]
154 recipe = slapos.recipe.template:jinja2
155 template = ${:_profile_base_location_}/${:filename}.in
156 rendered = ${buildout:directory}/${:filename}
157 # XXX: extra-context is needed because we cannot append to a key of an extended
158 # section.
159 extra-context =
160 context =
161     key bin_directory buildout:bin-directory
162     key develop_eggs_directory buildout:develop-eggs-directory
163     key eggs_directory buildout:eggs-directory
164     key slapos_core_version versions:slapos.core
165     ${:extra-context}
166
167 [template-mariadb]
168 < = template-jinja2-base
169 filename = instance-mariadb.cfg
170 md5sum = 49ae6f1bf97d3755978fe08b8e29fb5a
171 extra-context =
172     key coreutils_location coreutils:location
173     key dcron_location dcron:location
174     key gettext_location gettext:location
175     key grep_location grep:location
176     key gzip_location gzip:location
177     key logrotate_location logrotate:location
178     key mariadb_location mariadb:location
179     key perl_location perl:location
180     key perl_siteprefix perl:siteprefix
181     key sed_location sed:location
182     key xtrabackup_location xtrabackup:location
183
184 [template-zope]
185 recipe = slapos.recipe.build:download
186 url = ${:_profile_base_location_}/instance-zope.cfg.in
187 md5sum = 23baedc096a3ee046d2efe2195e19b96
188 mode = 640
189
190 [template-kumofs]
191 < = template-jinja2-base
192 filename = instance-kumofs.cfg
193 md5sum = 40817014a41497bceb696e512436e670
194 extra-context =
195     key dash_location dash:location
196     key dcron_location dcron:location
197     key gzip_location gzip:location
198     key kumo_location kumo:location
199     key logrotate_location logrotate:location
200
201 [template-tidstorage]
202 recipe = slapos.recipe.build:download
203 url = ${:_profile_base_location_}/instance-tidstorage.cfg.in
204 md5sum = 2bc13fc6cd52c7b8e2b4ddb99a69974b
205 mode = 640
206
207 [template-cloudooo]
208 recipe = slapos.recipe.build:download
209 url = ${:_profile_base_location_}/instance-cloudoo.cfg.in
210 md5sum = 53492e520be57f4c6a9eacd107c8d446
211 mode = 640
212
213 [template-zope-conf]
214 recipe = slapos.recipe.build:download
215 url = ${:_profile_base_location_}/zope.conf.in
216 md5sum = bc2154161a1d5baddc4ed4dfaaf94fbe
217 mode = 640
218
219 [template]
220 < = template-jinja2-base
221 # XXX: "template.cfg" is hardcoded in instanciation recipe
222 filename = template.cfg
223 template = ${:_profile_base_location_}/instance.cfg.in
224 md5sum = 4504529abf707c4a5cd6ccacc761ec71
225 extra-context =
226     key apache_location apache:location
227     key aspell_location aspell:location
228     key buildout_bin_directory buildout:bin-directory
229     key coreutils_location coreutils:location
230     key curl_location curl:location
231     key dash_location dash:location
232     key dcron_location dcron:location
233     key dmtx_utils_location dmtx-utils:location
234     key erp5_location erp5:location
235     key file_location file:location
236     key fontconfig_location fontconfig:location
237     key fonts_location fonts:location
238     key freetype_location freetype:location
239     key git_location git:location
240     key graphviz_location graphviz:location
241     key grep_location grep:location
242     key gzip_location gzip:location
243     key haproxy_location haproxy:location
244     key imagemagick_location imagemagick:location
245     key jsl_location jsl:location
246     key libICE_location libICE:location
247     key libSM_location libSM:location
248     key libX11_location libX11:location
249     key libXau_location libXau:location
250     key libXdmcp_location libXdmcp:location
251     key libXext_location libXext:location
252     key libXrender_location libXrender:location
253     key libpng12_location libpng12:location
254     key libreoffice_bin_location libreoffice-bin:location
255     key librsvg_location librsvg:location
256     key libxcb_location libxcb:location
257     key local_bt5_repository local-bt5-repository:list
258     key logrotate_location logrotate:location
259     key mariadb_location mariadb:location
260     key openssl_location openssl:location
261     key poppler_location poppler:location
262     key sed_location sed:location
263     key stunnel_location stunnel:location
264     key template_cloudooo template-cloudooo:target
265     key template_erp5_single template-erp5-single:target
266     key template_erp5_cluster template-erp5-cluster:target
267     key template_kumofs template-kumofs:rendered
268     key template_mariadb template-mariadb:rendered
269     key template_memcached template-memcached:rendered
270     key template_tidstorage template-tidstorage:target
271     key template_varnish template-varnish:target
272     key template_zope template-zope:target
273     key template_zope_conf template-zope-conf:target
274     key tesseract_location tesseract:location
275     key varnish_location varnish-3.0:location
276     key w3m_location w3m:location
277     key wget_location wget:location
278     key zlib_location zlib:location
279
280 [template-memcached]
281 < = template-jinja2-base
282 filename = instance-memcached.cfg
283 md5sum = 346c864c1f119360eddb5e163f16d4f3
284 extra-context =
285     key dash_location dash:location
286     key dcron_location dcron:location
287     key gzip_location gzip:location
288     key kumo_location kumo:location
289     key logrotate_location logrotate:location
290
291 [template-erp5-single]
292 recipe = slapos.recipe.build:download
293 url = ${:_profile_base_location_}/instance-erp5-single.cfg.in
294 md5sum = becf4faf3df849bb90ddf5f587f02d5e
295 mode = 640
296
297 [template-erp5-cluster]
298 recipe = slapos.recipe.build:download
299 url = ${:_profile_base_location_}/instance-erp5-cluster.cfg.in
300 md5sum = f4c9cdbbac82232b84db080461bd0007
301 mode = 640
302
303 [template-varnish]
304 recipe = slapos.recipe.build:download
305 url = ${:_profile_base_location_}/instance-varnish.cfg.in
306 md5sum = ae0465591c22c0cb316c1706965c6b18
307 mode = 640
308
309 [bt5-repository]
310 # Format:
311 #   <url or path> [...]
312 #
313 # Use absolute paths for local repositories, and URLs for non-local otherwise.
314 #
315 list = ${local-bt5-repository:list}
316
317 [local-bt5-repository]
318 # Same as bt5-repository, but only local repository.
319 # Used to generate bt5lists.
320 list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap
321
322 [genbt5list]
323 recipe = plone.recipe.command
324 stop-on-error = true
325 genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
326 command =
327   ${buildout:executable} ${:genbt5list} ${local-bt5-repository:list}
328 update-command = ${:command}
329
330 [erp5_repository_list]
331 repository_id_list = erp5
332
333 [erp5]
334 recipe = slapos.recipe.build:gitclone
335 repository = http://git.erp5.org/repos/erp5.git
336 branch = master
337 git-executable = ${git:location}/bin/git
338
339 [fix-products-paths]
340 recipe = plone.recipe.command
341 stop-on-error = true
342 dir = ${erp5:location}
343 command =
344   rm -f "${:dir}/Products" && ln -s product "${:dir}/Products" && touch "${:dir}/product/__init__.py"
345 update-command = ${:command}
346
347 [testrunner]
348 # XXX: Workaround for fact ERP5Type is not an distribution and does not
349 #      expose entry point for test runner
350 recipe = zc.recipe.egg
351 python = python2.7
352 eggs = ${eggs:eggs}
353 extra-paths = ${eggs:extra-paths}
354 entry-points =
355   runUnitTest=runUnitTest:main
356 scripts = runUnitTest
357 initialization =
358   import glob, imp, os, sys
359   import App # prevent Testing from importing Zope2.App instead of App
360   import Products
361   Products.__path__[:0] = filter(None,
362     os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
363   os.environ['SOFTWARE_HOME'] = os.path.abspath(imp.find_module('Zope2')[1])
364   os.environ['ZOPE_SCRIPTS'] = ''
365   parts_directory = '''${buildout:parts-directory}'''
366   repository_id_list = \
367     '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
368   os.environ['erp5_tests_bt5_path'] = ','.join(sum((
369     [bt5_path, os.path.join(bt5_path, '*')]
370     for bt5_path in (os.path.join(parts_directory, x, 'bt5')
371                      for x in repository_id_list)), []))
372   extra_path_list = '''${:extra-paths}'''.split()
373   sys.path[:0] = sum((
374     glob.glob(os.path.join(x, 'tests'))
375     for x in extra_path_list), [])
376   sys.path[:0] = sum((
377     glob.glob(os.path.join(x, 'Products', '*', 'tests'))
378     for x in extra_path_list), [])
379   sys.path[:0] = sum((
380     glob.glob(os.path.join(x, 'Products', '*', 'tests'))
381     for x in os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep)), [])
382   os.environ['PATH'] = '${jsl:location}/bin:%s' % os.environ['PATH']
383   os.environ['CGI_PATH'] = '${w3-validator:location}/httpd/cgi-bin'
384
385 [test_suite_runner]
386 # XXX: Workaround for fact ERP5Type is not an distribution and does not
387 #      expose entry point for test runner
388 recipe = zc.recipe.egg
389 python = python2.7
390 eggs = ${eggs:eggs}
391 extra-paths = ${eggs:extra-paths}
392 entry-points =
393   runTestSuite=Products.ERP5Type.tests.runTestSuite:main
394 scripts = runTestSuite
395 initialization =
396   import os
397   import sys
398   import Products
399   [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
400   import Zope2
401   os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
402   os.environ['ZOPE_SCRIPTS'] = ''
403   repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
404   sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
405
406 [eggs]
407 recipe = zc.recipe.egg
408 python = python2.7
409 eggs =
410   ${mysql-python:egg}
411   ${lxml-python:egg}
412   ${pil-python:egg}
413   ${python-ldap-python:egg}
414   ${pysvn-python:egg}
415   ${pycrypto-python:egg}
416   lock_file
417   PyXML
418   Pympler
419   SOAPpy
420   cElementTree
421   chardet
422   coverage
423   elementtree
424   erp5diff
425   inotifyx
426   ipdb
427   Jinja2
428   mechanize
429   numpy
430   paramiko
431   ply
432   pyflakes
433   pypdf2
434   python-magic
435   python-memcached
436   pytz
437   requests
438   threadframe
439   timerserver
440   urlnorm
441   uuid
442   xml_marshaller
443   xupdate_processor
444   feedparser
445   argparse
446   validictory
447   erp5.util
448   huBarcode
449   qrcode
450   spyne
451   httplib2
452   suds
453   pprofile
454 # Needed for checking ZODB Components source code
455   pylint
456
457 # Zope
458   ZODB3
459   Zope2
460 # Zope acquisition patch
461   Acquisition
462
463 # Other Zope 2 packages
464   Products.PluggableAuthService
465   Products.PluginRegistry
466
467 # CMF 2.2
468   Products.CMFActionIcons
469   Products.CMFCalendar
470   Products.CMFCore
471   Products.CMFDefault
472   Products.CMFTopic
473   Products.CMFUid
474   Products.DCWorkflow
475   Products.GenericSetup
476   five.localsitemanager
477
478 # Other products
479   Products.DCWorkflowGraph
480   Products.MimetypesRegistry
481   Products.ExternalEditor
482   Products.TIDStorage
483   Products.LongRequestLogger
484
485 # BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
486 #      (for tests like testCookieCrumbler).
487   zope.app.testing
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.7
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.7
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 =
524 revision = 5c67568c403239bd8e25993602d03c553236fcec
525
526 [mysql-python]
527 python = python2.7
528
529 [lxml-python]
530 python = python2.7
531
532 [pil-python]
533 python = python2.7
534
535 [python-ldap-python]
536 python = python2.7
537
538 [pysvn-python]
539 python = python2.7
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.8nxd001
557 Products.DCWorkflow = 2.2.4nxd001
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 Jinja2 = 2.7.1
564 PasteDeploy = 1.5.2
565 Pygments = 1.6
566 argparse = 1.2.1
567 coverage = 3.7.1
568 lxml = 3.2.5
569 mr.developer = 1.26
570 setuptools = 2.1
571
572 # Known version with works
573 numpy = 1.6.2
574
575 # test_UserManagerInterfaces in testERP5Security fails with 1.10.0.
576 Products.PluggableAuthService = 1.9.0
577
578 # official pysvn egg does not supports --include-dirs and
579 # --library-dirs, so we use our modified version
580 pysvn = 1.7.4nxd006
581
582 # modified version to support ipv6
583 python-memcached = 1.47-ipv6-1
584
585 # use newest version of pytz
586 pytz =
587
588 # we are still using this old stable version.
589 rdiff-backup = 1.0.5
590
591 # use newest version of slapos.cookbook
592 slapos.cookbook =
593
594 # modified version that works fine for buildout installation
595 SOAPpy = 0.12.0nxd001
596
597 # CMF 2.3 is not yet supported.
598 Products.CMFCalendar = 2.2.2
599 Products.CMFCore = 2.2.8
600 Products.CMFDefault = 2.2.3
601 Products.CMFTopic = 2.2.1
602 Products.CMFUid = 2.2.1
603
604 # newer version requires zope.traversing>=4.0.0a2.
605 zope.app.appsetup = 3.16.0
606
607 # newer version requires zope.i18n>=4.0.0a3
608 zope.app.publication = 3.14.0
609
610 # newer version requires zope.testbrowser>=4
611 zope.app.testing = 3.8.1
612
613 # Pinned versions
614 Flask = 0.9
615 GitPython = 0.3.2.RC1
616 MySQL-python = 1.2.5
617 PIL = 1.1.7
618 PyXML = 0.8.5
619 Products.CMFActionIcons = 2.1.3
620 Products.DCWorkflowGraph = 0.4.1
621 Products.ExternalEditor = 1.1.0
622 Products.GenericSetup = 1.7.4
623 Products.LongRequestLogger = 1.1.0
624 Products.MimetypesRegistry = 2.0.5
625 Products.PluginRegistry = 1.3
626 Products.TIDStorage = 5.4.9
627 Products.ZSQLMethods = 2.13.4
628 PyPDF2 = 1.19
629 StructuredText = 2.11.1
630 WSGIUtils = 0.7
631 Werkzeug = 0.8.3
632 apache-libcloud = 0.12.4
633 async = 0.6.1
634 atomize = 0.1.1
635 cElementTree = 1.0.5-20051216
636 chardet = 2.2.1
637 csp-eventlet = 0.7.0
638 elementtree = 1.2.7-20070827-preview
639 erp5.recipe.cmmiforcei686 = 0.1.3
640 erp5.util = 0.4.36
641 erp5diff = 0.8.1.5
642 eventlet = 0.14.0
643 feedparser = 5.1.3
644 five.formlib = 1.0.4
645 five.localsitemanager = 2.0.5
646 fpconst = 0.7.2
647 gitdb = 0.5.4
648 greenlet = 0.4.1
649 hexagonit.recipe.cmmi = 2.0
650 http-parser = 0.8.3
651 huBarcode = 0.63
652 inotifyx = 0.2.0
653 ipdb = 0.8
654 ipython = 1.1.0
655 meld3 = 0.6.10
656 netaddr = 0.7.10
657 netifaces = 0.8_1
658 paramiko = 1.12.0
659 plone.recipe.command = 1.1
660 ply = 3.4
661 polib = 1.0.3
662 psutil = 1.2.1
663 pyflakes = 0.7.2
664 python-ldap = 2.4.13
665 python-magic = 0.4.6
666 qrcode = 4.0.4
667 requests = 2.1.0
668 restkit = 4.2.2
669 rtjp-eventlet = 0.3.2
670 slapos.core = 0.35.1
671 slapos.recipe.build = 0.12
672 slapos.recipe.template = 2.4.2
673 slapos.toolbox = 0.33.1
674 smmap = 0.8.2
675 socketpool = 0.5.3
676 spyne = 2.10.9
677 supervisor = 3.0b2
678 threadframe = 0.2
679 timerserver = 2.0.2
680 urlnorm = 1.1.2
681 uuid = 1.30
682 validictory = 0.9.3
683 xml-marshaller = 0.9.7
684 xupdate-processor = 0.4
685 zope.app.debug = 3.4.1
686 zope.app.dependable = 3.5.1
687 zope.app.form = 4.0.2
688 pylint = 1.1.0