erp5: Make mysqlbinlog command easily reachable from mariadb partition.
[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/w3-validator/buildout.cfg
54   ../../component/w3m/buildout.cfg
55   ../../component/xorg/buildout.cfg
56   ../../component/poppler/buildout.cfg
57   ../../component/zabbix/buildout.cfg
58   ../../component/sed/buildout.cfg
59   ../../component/coreutils/buildout.cfg
60   ../../component/grep/buildout.cfg
61   ../../component/dash/buildout.cfg
62   ../../component/wget/buildout.cfg
63   ../../component/aspell/buildout.cfg
64   ../../component/cloudooo/buildout.cfg
65   ../../component/jsl/buildout.cfg
66   ../../component/6tunnel/buildout.cfg
67   ../../component/findutils/buildout.cfg
68
69 parts =
70   rdiff-backup
71   aspell
72   aspell-en-dictionary
73   apache
74   apache-antiloris
75   file
76   findutils
77   graphviz
78   haproxy
79   jsl
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   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 [download-base]
141 recipe = slapos.recipe.build:download
142 url = ${:_profile_base_location_}/${:filename}
143 mode = 644
144
145 # Local development
146 [slapos.cookbook-repository]
147 recipe = slapos.recipe.build:gitclone
148 repository = http://git.erp5.org/repos/slapos.git
149 branch = erp5-cluster
150 git-executable = ${git:location}/bin/git
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 [template-jinja2-base]
159 recipe = slapos.recipe.template:jinja2
160 template = ${:_profile_base_location_}/${:filename}.in
161 rendered = ${buildout:directory}/${:filename}
162 # XXX: extra-context is needed because we cannot append to a key of an extended
163 # section.
164 extra-context =
165 context =
166     key bin_directory buildout:bin-directory
167     key develop_eggs_directory buildout:develop-eggs-directory
168     key eggs_directory buildout:eggs-directory
169     ${:extra-context}
170
171 [template-mariadb]
172 < = download-base
173 filename = instance-mariadb.cfg.in
174 md5sum = a6e40c2d9f223e5d29d80d81a35d422f
175 link-binary =
176   ${coreutils:location}/bin/basename
177   ${coreutils:location}/bin/cat
178   ${coreutils:location}/bin/cp
179   ${coreutils:location}/bin/ls
180   ${coreutils:location}/bin/tr
181   ${coreutils:location}/bin/uname
182   ${gettext:location}/bin/hostname
183   ${grep:location}/bin/grep
184   ${sed:location}/bin/sed
185   ${mariadb:location}/bin/mysqlbinlog
186
187 [template-kumofs]
188 < = download-base
189 filename = instance-kumofs.cfg.in
190 md5sum = 90cfea3b4b38a5a1682e016eb82b391c
191
192 [template-cloudooo]
193 < = download-base
194 filename = instance-cloudoo.cfg.in
195 md5sum = 9622cc0a21b6caf9c9beb5efea3e1998
196
197 [template-zope-conf]
198 < = download-base
199 filename = zope.conf.in
200 md5sum = c4c42d06c63d33de703fc03415e34d84
201
202 [template-my-cnf]
203 < = download-base
204 filename = my.cnf.in
205 md5sum = 774b0e5d167b75a0ad8ead45fa2eadf6
206
207 [template-mariadb-initial-setup]
208 < = download-base
209 filename = mariadb_initial_setup.sql.in
210 md5sum = 564006953b7d7a12d40a14b6648b32f0
211
212 [template]
213 < = template-jinja2-base
214 # XXX: "template.cfg" is hardcoded in instanciation recipe
215 filename = template.cfg
216 template = ${:_profile_base_location_}/instance.cfg.in
217 md5sum = f71e14621d90903eba1b943401548b8a
218 extra-context =
219     key mariadb_link_binary template-mariadb:link-binary
220     key zope_link_binary template-zope:link-binary
221     key apache_location apache:location
222     key aspell_location aspell:location
223     key buildout_bin_directory buildout:bin-directory
224     key coreutils_location coreutils:location
225     key curl_location curl:location
226     key dash_location dash:location
227     key dcron_location dcron:location
228     key erp5_location erp5:location
229     key file_location file:location
230     key findutils_location findutils:location
231     key fontconfig_location fontconfig:location
232     key fonts_location fonts:location
233     key freetype_location freetype:location
234     key gzip_location gzip:location
235     key haproxy_location haproxy:location
236     key jsl_location jsl:location
237     key kumo_location kumo:location
238     key libICE_location libICE:location
239     key libSM_location libSM:location
240     key libX11_location libX11:location
241     key libXau_location libXau:location
242     key libXdmcp_location libXdmcp:location
243     key libXext_location libXext:location
244     key libXrender_location libXrender:location
245     key libpng12_location libpng12:location
246     key libreoffice_bin_location libreoffice-bin:location
247     key librsvg_location librsvg:location
248     key libxcb_location libxcb:location
249     key local_bt5_repository local-bt5-repository:list
250     key logrotate_location logrotate:location
251     key mariadb_location mariadb:location
252     key openssl_location openssl:location
253     key sixtunnel_location 6tunnel:location
254     key stunnel_location stunnel:location
255     key template_balancer template-balancer:target
256     key template_cloudooo template-cloudooo:target
257     key template_erp5 template-erp5:target
258     key template_haproxy_cfg template-haproxy-cfg:target
259     key template_kumofs template-kumofs:target
260     key template_logrotate_base template-logrotate-base:rendered
261     key template_mariadb template-mariadb:target
262     key template_mariadb_initial_setup template-mariadb-initial-setup:target
263     key template_my_cnf template-my-cnf:target
264     key template_neo template-neo:target
265     key template_zeo template-zeo:target
266     key template_zope template-zope:target
267     key template_zope_conf template-zope-conf:target
268     key wget_location wget:location
269     key zlib_location zlib:location
270
271 [template-erp5]
272 < = download-base
273 filename = instance-erp5.cfg.in
274 md5sum = 5b11875e6beba48db7d45c5d462a6d2d
275
276 [template-neo]
277 < = download-base
278 filename = instance-neo.cfg.in
279 md5sum = 7735d535aa34dfdc18a776b80bc0ca3d
280
281 [template-zeo]
282 < = download-base
283 filename = instance-zeo.cfg.in
284 md5sum = 32de16140a294a7e456a9665124bdb93
285
286 [template-zope]
287 < = download-base
288 filename = instance-zope.cfg.in
289 md5sum = 882927b01ee5d5d5c05b9eb8bf3b5255
290 link-binary =
291   ${coreutils:location}/bin/basename
292   ${coreutils:location}/bin/cat
293   ${coreutils:location}/bin/cp
294   ${coreutils:location}/bin/ls
295   ${coreutils:location}/bin/tr
296   ${coreutils:location}/bin/uname
297   ${dmtx-utils:location}/bin/dmtxwrite
298   ${git:location}/bin/git
299   ${graphviz:location}/bin/dot
300   ${grep:location}/bin/grep
301   ${imagemagick:location}/bin/convert
302   ${imagemagick:location}/bin/identify
303   ${mariadb:location}/bin/mysql
304   ${mariadb:location}/bin/mysqldump
305   ${openssl:location}/bin/openssl
306   ${poppler:location}/bin/pdfinfo
307   ${poppler:location}/bin/pdftohtml
308   ${poppler:location}/bin/pdftotext
309   ${sed:location}/bin/sed
310   ${tesseract:location}/bin/tesseract
311   ${w3m:location}/bin/w3m
312
313 [template-balancer]
314 < = download-base
315 filename = instance-balancer.cfg.in
316 md5sum = 722ce9bfd981aa6a246e595902086b65
317
318 [template-haproxy-cfg]
319 < = download-base
320 filename = haproxy.cfg.in
321 md5sum = 9f8bdf49366eee04c2add5c203d20cd0
322
323 [template-logrotate-base]
324 < = template-jinja2-base
325 filename = instance-logrotate-base.cfg
326 md5sum = af19ff0c7817df85987c69738fb083f2
327 extra-context =
328     key dcron_location dcron:location
329     key gzip_location gzip:location
330     key logrotate_location logrotate:location
331
332 [bt5-repository]
333 # Format:
334 #   <url or path> [...]
335 #
336 # Use absolute paths for local repositories, and URLs for non-local otherwise.
337 #
338 list = ${local-bt5-repository:list}
339
340 [local-bt5-repository]
341 # Same as bt5-repository, but only local repository.
342 # Used to generate bt5lists.
343 list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap
344
345 [genbt5list]
346 recipe = plone.recipe.command
347 stop-on-error = true
348 genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
349 command =
350   ${buildout:executable} ${:genbt5list} ${local-bt5-repository:list}
351 update-command = ${:command}
352
353 [erp5_repository_list]
354 repository_id_list = erp5
355
356 [erp5]
357 recipe = slapos.recipe.build:gitclone
358 repository = http://git.erp5.org/repos/erp5.git
359 branch = master
360 git-executable = ${git:location}/bin/git
361
362 [fix-products-paths]
363 recipe = plone.recipe.command
364 stop-on-error = true
365 dir = ${erp5:location}
366 command =
367   rm -f "${:dir}/Products" && ln -s product "${:dir}/Products" && touch "${:dir}/product/__init__.py"
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.7
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   sys.path[:0] = sum((
403     glob.glob(os.path.join(x, 'Products', '*', 'tests'))
404     for x in os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep)), [])
405   os.environ['PATH'] = '${jsl:location}/bin:%s' % os.environ['PATH']
406   os.environ['CGI_PATH'] = '${w3-validator:location}/httpd/cgi-bin'
407
408 [test_suite_runner]
409 # XXX: Workaround for fact ERP5Type is not an distribution and does not
410 #      expose entry point for test runner
411 recipe = zc.recipe.egg
412 python = python2.7
413 eggs = ${eggs:eggs}
414 extra-paths = ${eggs:extra-paths}
415 entry-points =
416   runTestSuite=Products.ERP5Type.tests.runTestSuite:main
417 scripts = runTestSuite
418 initialization =
419   import os
420   import sys
421   import Products
422   [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
423   import Zope2
424   os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
425   os.environ['ZOPE_SCRIPTS'] = ''
426   repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
427   sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
428
429 [eggs]
430 recipe = zc.recipe.egg
431 python = python2.7
432 eggs =
433   ${mysql-python:egg}
434   ${lxml-python:egg}
435   ${pil-python:egg}
436   ${python-ldap-python:egg}
437   ${pysvn-python:egg}
438   ${pycrypto-python:egg}
439   lock_file
440   PyXML
441   SOAPpy
442   cElementTree
443   chardet
444   coverage
445   elementtree
446   erp5diff
447   inotifyx
448   ipdb
449   mechanize
450   numpy
451   ordereddict
452   paramiko
453   ply
454   pyflakes
455   pyPdf # should be replaced by PyPDF2, but it is not installable
456   python-magic
457   python-memcached
458   pytz
459   requests
460   threadframe
461   timerserver
462   urlnorm
463   uuid
464   xml_marshaller
465   xupdate_processor
466   feedparser
467   argparse
468   validictory
469   erp5.util
470   huBarcode
471   qrcode
472   spyne
473
474 # Zope
475   ZODB3
476   Zope2
477 # Zope acquisition patch
478   Acquisition
479
480 # Other Zope 2 packages
481   Products.PluggableAuthService
482   Products.PluginRegistry
483
484 # CMF 2.2
485   Products.CMFActionIcons
486   Products.CMFCalendar
487   Products.CMFCore
488   Products.CMFDefault
489   Products.CMFTopic
490   Products.CMFUid
491   Products.DCWorkflow
492   Products.GenericSetup
493   five.localsitemanager
494
495 # Other products
496   Products.DCWorkflowGraph
497   Products.MimetypesRegistry
498   Products.ExternalEditor
499   Products.TIDStorage
500   Products.LongRequestLogger
501
502 # BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
503 #      (for tests like testCookieCrumbler).
504   zope.app.testing
505
506 # Currently forked in our repository
507 #    Products.PortalTransforms
508 # Dependency for our fork of PortalTransforms
509   StructuredText
510
511 # Needed for parsing .po files from our Localizer subset
512   polib
513
514 # parameterizing the version of the generated python interpreter name by the
515 # python section version causes dependency between this egg section and the
516 # installation of python, which we don't want on an instance
517 interpreter = python2.7
518 scripts =
519   repozo
520   runzope
521   runzeo
522   tidstoraged
523   tidstorage_repozo
524   web_checker_utility = erp5.util.webchecker:web_checker_utility
525
526 extra-paths =
527   ${erp5:location}
528
529 [zodbanalyze]
530 recipe = zc.recipe.egg
531 python = python2.7
532 eggs =
533   ZODB3
534   erp5.util
535 entry-points =
536   zodbanalyze=erp5.util.zodbanalyze:main
537 scripts = zodbanalyze
538
539 [cloudooo-repository]
540 branch =
541 revision = 5c67568c403239bd8e25993602d03c553236fcec
542
543 [mysql-python]
544 python = python2.7
545
546 [lxml-python]
547 python = python2.7
548
549 [pil-python]
550 python = python2.7
551
552 [python-ldap-python]
553 python = python2.7
554
555 [pysvn-python]
556 python = python2.7
557
558 [slapos-toolbox]
559 recipe = zc.recipe.egg
560 python = ${eggs:python}
561 eggs =
562   ${lxml-python:egg}
563   slapos.toolbox
564   slapos.toolbox[zodbpack]
565
566 scripts =
567   killpidfromfile
568   onetimedownload
569   zodbpack
570
571 [versions]
572 # pin Acquisition and Products.DCWorkflow to Nexedi flavour of eggs
573 Acquisition = 2.13.7nxd001
574 Products.DCWorkflow = 2.2.3nxd002
575
576 # specify dev version to be sure that an old released version is not used
577 cloudooo = 1.2.5-dev
578
579 # use newer version than specified in ZTK
580 lxml = 2.3.6
581
582 # Known version with works
583 numpy = 1.6.2
584
585 # test_UserManagerInterfaces in testERP5Security fails with 1.10.0.
586 Products.PluggableAuthService = 1.9.0
587
588 # official pysvn egg does not supports --include-dirs and
589 # --library-dirs, so we use our modified version
590 pysvn = 1.7.4nxd006
591
592 # modified version to support ipv6
593 python-memcached = 1.47-ipv6-1
594
595 # use newest version of pytz
596 pytz =
597
598 # Patched version which support python 2.6
599 PyXML = 0.8.4nxd001
600
601 # we are still using this old stable version.
602 rdiff-backup = 1.0.5
603
604 # use dev version
605 setuptools = 0.6c12dev-r88846
606
607 # use newest version of slapos.cookbook
608 slapos.cookbook =
609
610 # modified version that works fine for buildout installation
611 SOAPpy = 0.12.0nxd001
612
613 # CMF 2.3 requries Zope 2.13.
614 Products.CMFCalendar = 2.2.2
615 Products.CMFCore = 2.2.6
616 Products.CMFDefault = 2.2.2
617 Products.CMFTopic = 2.2.1
618 Products.CMFUid = 2.2.1
619
620 # newer version requires zope.traversing>=4.0.0a2.
621 zope.app.appsetup = 3.16.0
622
623 # newer version requires zope.i18n>=4.0.0a3
624 zope.app.publication = 3.14.0
625
626 # BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
627 #      (for tests like testCookieCrumbler).
628 zope.app.testing = 3.8.1
629
630 # Pinned versions
631 Flask = 0.9
632 GitPython = 0.3.2.RC1
633 Jinja2 = 2.6
634 MySQL-python = 1.2.4
635 PIL = 1.1.7
636 Paste = 1.7.5.1
637 PasteDeploy = 1.5.0
638 PasteScript = 1.7.5
639 Products.CMFActionIcons = 2.1.3
640 Products.DCWorkflowGraph = 0.4.1
641 Products.ExternalEditor = 1.1.0
642 Products.GenericSetup = 1.7.3
643 Products.LongRequestLogger = 1.1.0
644 Products.MimetypesRegistry = 2.0.4
645 Products.PluginRegistry = 1.3
646 Products.TIDStorage = 5.4.8
647 Products.ZSQLMethods = 2.13.4
648 Pygments = 1.6
649 StructuredText = 2.11.1
650 WSGIUtils = 0.7
651 Werkzeug = 0.8.3
652 apache-libcloud = 0.12.4
653 argparse = 1.2.1
654 async = 0.6.1
655 atomize = 0.1.1
656 cElementTree = 1.0.5-20051216
657 chardet = 2.1.1
658 coverage = 3.6
659 csp-eventlet = 0.7.0
660 elementtree = 1.2.7-20070827-preview
661 erp5.recipe.cmmiforcei686 = 0.1.3
662 erp5.util = 0.4.34
663 erp5diff = 0.8.1.5
664 eventlet = 0.12.1
665 feedparser = 5.1.3
666 five.formlib = 1.0.4
667 five.localsitemanager = 2.0.5
668 fpconst = 0.7.2
669 gitdb = 0.5.4
670 greenlet = 0.4.0
671 hexagonit.recipe.cmmi = 1.6
672 http-parser = 0.8.1
673 huBarcode = 0.63
674 inotifyx = 0.2.0
675 ipdb = 0.7
676 ipython = 0.13.2
677 meld3 = 0.6.10
678 mr.developer = 1.25
679 netaddr = 0.7.10
680 netifaces = 0.8_1
681 ordereddict = 1.1
682 paramiko = 1.10.1
683 plone.recipe.command = 1.1
684 ply = 3.4
685 polib = 1.0.3
686 psutil = 0.7.1
687 pyPdf = 1.13
688 pyflakes = 0.7.2
689 python-ldap = 2.4.10
690 python-magic = 0.4.3
691 qrcode = 2.7
692 requests = 1.2.3
693 restkit = 4.2.1
694 rtjp-eventlet = 0.3.2
695 slapos.core = 0.35.1
696 slapos.recipe.build = 0.12
697 slapos.recipe.template = 2.5
698 slapos.toolbox = 0.33.1
699 smmap = 0.8.2
700 socketpool = 0.5.2
701 spyne = 2.10.7
702 supervisor = 3.0b2
703 threadframe = 0.2
704 timerserver = 2.0.2
705 urlnorm = 1.1.2
706 uuid = 1.30
707 validictory = 0.9.1
708 xml-marshaller = 0.9.7
709 xupdate-processor = 0.4
710 zope.app.debug = 3.4.1
711 zope.app.dependable = 3.5.1
712 zope.app.form = 4.0.2