Merge branch 'erp5-cluster'
[slapos.git] / stack / erp5 / buildout.cfg
1 [buildout]
2 find-links +=
3   http://www.owlfish.com/software/wsgiutils/download.html
4
5 extends =
6 # Exact version of Zope
7   https://raw.github.com/zopefoundation/Zope/2.13.22/versions.cfg
8   ../../component/cups/buildout.cfg
9   ../../component/dbus/buildout.cfg
10   ../../component/file/buildout.cfg
11   ../../component/fonts/buildout.cfg
12   ../../component/ghostscript/buildout.cfg
13   ../../component/git/buildout.cfg
14   ../../component/graphviz/buildout.cfg
15   ../../component/gzip/buildout.cfg
16   ../../component/haproxy/buildout.cfg
17   ../../component/hookbox/buildout.cfg
18   ../../component/findutils/buildout.cfg
19   ../../component/librsvg/buildout.cfg
20   ../../component/imagemagick/buildout.cfg
21   ../../component/inkscape/buildout.cfg
22   ../../component/kumo/buildout.cfg
23   ../../component/libdmtx/buildout.cfg
24   ../../component/libffi/buildout.cfg
25   ../../component/libpng/buildout.cfg
26   ../../component/libreoffice-bin/buildout.cfg
27   ../../component/mesa/buildout.cfg
28   ../../component/numpy/buildout.cfg
29   ../../component/percona-toolkit/buildout.cfg
30   ../../component/patch/buildout.cfg
31   ../../component/pillow/buildout.cfg
32   ../../component/pycrypto-python/buildout.cfg
33   ../../component/pysvn-python/buildout.cfg
34   ../../component/python-ldap-python/buildout.cfg
35   ../../component/rdiff-backup/buildout.cfg
36   ../../component/stunnel/buildout.cfg
37   ../../component/subversion/buildout.cfg
38   ../../component/tesseract/buildout.cfg
39   ../../component/w3-validator/buildout.cfg
40   ../../component/w3m/buildout.cfg
41   ../../component/xorg/buildout.cfg
42   ../../component/poppler/buildout.cfg
43   ../../component/zabbix/buildout.cfg
44   ../../component/sed/buildout.cfg
45   ../../component/coreutils/buildout.cfg
46   ../../component/grep/buildout.cfg
47   ../../component/dash/buildout.cfg
48   ../../component/wget/buildout.cfg
49   ../../component/aspell/buildout.cfg
50   ../../component/cloudooo/buildout.cfg
51   ../../component/jsl/buildout.cfg
52   ../../component/6tunnel/buildout.cfg
53   ../../component/findutils/buildout.cfg
54   ../../component/userhosts/buildout.cfg
55   ../../software/neoppod/software-common.cfg
56
57 parts +=
58   erp5-util-develop
59   slapos-cookbook-develop
60   slapos-cookbook
61   rdiff-backup
62   aspell
63   aspell-en-dictionary
64   apache
65   apache-antiloris
66   file
67   findutils
68   graphviz
69   haproxy
70   jsl
71   stunnel
72   w3m
73   poppler
74   libpng
75   ghostscript
76   mroonga-mariadb
77   imagemagick
78   inkscape
79   libdmtx
80   dmtx-utils
81   kumo
82   libreoffice-bin
83   w3-validator
84   tesseract
85   hookbox
86   perl-DBD-mariadb
87   perl-DBI
88   percona-toolkit
89   zabbix-agent
90   dash
91   wget
92   userhosts
93
94 # Buildoutish
95   eggs
96   testrunner
97   test_suite_runner
98
99 # basic Xorg
100   libXdmcp
101   libXext
102   libXau
103   libSM
104   libXrender
105
106 # fonts
107   liberation-fonts
108   ipaex-fonts
109   ipa-fonts
110   ocrb-fonts
111   android-fonts
112
113 # Cloudooo specific part
114   cloudooo-develop
115   cloudooo
116
117 # get git repositories
118   erp5
119   genbt5list
120
121 # some additional utils
122   slapos-toolbox
123   zodbanalyze
124
125 # Create instance template
126   template
127
128 [download-base]
129 <= download-base-neo
130 url = ${:_profile_base_location_}/${:filename}
131
132 [check-recipe]
133 recipe = plone.recipe.command
134 stop-on-error = true
135 update-command = ${:command}
136 command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link
137
138 [mariadb-resiliency-after-import-script]
139 recipe = slapos.recipe.build:download
140 url = ${:_profile_base_location_}/template/instance-mariadb-resiliency-after-import-script.sh.in
141 md5sum = b32d9ee1cb85f85d8d2f2b58f58459f1
142 mode = 755
143
144 [template-mariadb]
145 <= download-base
146 filename = instance-mariadb.cfg.in
147 md5sum = 4d46ab5aa651a39c4021de6f647e8be9
148 link-binary =
149   ${coreutils:location}/bin/basename
150   ${coreutils:location}/bin/cat
151   ${coreutils:location}/bin/cp
152   ${coreutils:location}/bin/ls
153   ${coreutils:location}/bin/tr
154   ${coreutils:location}/bin/uname
155   ${gettext:location}/lib/gettext/hostname
156   ${grep:location}/bin/grep
157   ${sed:location}/bin/sed
158   ${mariadb:location}/bin/mysqlbinlog
159
160 [template-kumofs]
161 <= download-base
162 filename = instance-kumofs.cfg.in
163 md5sum = 7d9760fe65f454700342eeffec14c884
164
165 [template-cloudooo]
166 <= download-base
167 filename = instance-cloudoo.cfg.in
168 md5sum = 050fa6ff4eb397c5d4cb41a9f75afb3f
169
170 [template-zope-conf]
171 <= download-base
172 filename = zope.conf.in
173 md5sum = 0bf51218ecbf2bd319214192448a3ef7
174
175 [template-runzope-userhosts-preloaded]
176 <= download-base
177 filename = runzope_userhosts_preloaded.in
178 md5sum = bc6048b85b410693e60e5a77399dd1b7
179
180 [template-my-cnf]
181 <= download-base
182 filename = my.cnf.in
183 md5sum = dd779e54d22105702aa72cadc994d957
184
185 [template-mariadb-initial-setup]
186 <= download-base
187 filename = mariadb_initial_setup.sql.in
188 md5sum = b8d2d9af0c4cab45c8337aeac28d5fae
189
190 [template-create-erp5-site]
191 <= download-base
192 filename = instance-create-erp5-site.cfg.in
193 md5sum = 408fd955a876a1004ed35f578029a7d2
194
195 [template-create-erp5-site-real]
196 <= download-base
197 filename = instance-create-erp5-site-real.cfg.in
198 md5sum = e40e2e39f4941c6372f4357e8589a5cf
199
200 [template]
201 recipe = slapos.recipe.template:jinja2
202 # XXX: "template.cfg" is hardcoded in instanciation recipe
203 rendered = ${buildout:directory}/template.cfg
204 template = ${:_profile_base_location_}/instance.cfg.in
205 md5sum = 6a2c99f8df8bb8fe8e2b7fa96f68f62b
206 mode = 640
207 context =
208     key mariadb_link_binary template-mariadb:link-binary
209     key zope_link_binary template-zope:link-binary
210     key apache_location apache:location
211     key aspell_location aspell:location
212     key bin_directory buildout:bin-directory
213     key buildout_bin_directory buildout:bin-directory
214     key coreutils_location coreutils:location
215     key cups_location cups:location
216     key curl_location curl:location
217     key dash_location dash:location
218     key dbus_glib_location dbus-glib:location
219     key dbus_location dbus:location
220     key dcron_location dcron:location
221     key erp5_location erp5:location
222     key file_location file:location
223     key findutils_location findutils:location
224     key fontconfig_location fontconfig:location
225     key fonts_location fonts:location
226     key freetype_location freetype:location
227     key glib_location glib:location
228     key glu_location glu:location
229     key gzip_location gzip:location
230     key haproxy_location haproxy:location
231     key instance_common_cfg instance-common:rendered
232     key jsl_location jsl:location
233     key kumo_location kumo:location
234     key libICE_location libICE:location
235     key libSM_location libSM:location
236     key libX11_location libX11:location
237     key libXau_location libXau:location
238     key libXdmcp_location libXdmcp:location
239     key libXext_location libXext:location
240     key libXrender_location libXrender:location
241     key libexpat_location libexpat:location
242     key libffi_location libffi:location
243     key libpng12_location libpng12:location
244     key libreoffice_bin_location libreoffice-bin:location
245     key librsvg_location librsvg:location
246     key libxcb_location libxcb:location
247     key local_bt5_repository local-bt5-repository:list
248     key logrotate_location logrotate:location
249     key mariadb_location mariadb:location
250     key mariadb_resiliency_after_import_script mariadb-resiliency-after-import-script:target
251     key mesa_location mesa:location
252     key openssl_location openssl:location
253     key root_common root-common:target
254     key sixtunnel_location 6tunnel:location
255     key slapos_core_version versions:slapos.core
256     key stunnel_location stunnel:location
257     key template_apache_conf template-apache-conf:target
258     key template_balancer template-balancer:target
259     key template_cloudooo template-cloudooo:target
260     key template_create_erp5_site template-create-erp5-site:target
261     key template_create_erp5_site_real template-create-erp5-site-real:target
262     key template_erp5 template-erp5:target
263     key template_haproxy_cfg template-haproxy-cfg:target
264     key template_kumofs template-kumofs:target
265     key template_mariadb template-mariadb:target
266     key template_mariadb_initial_setup template-mariadb-initial-setup:target
267     key template_my_cnf template-my-cnf:target
268     key template_runzope_userhosts_preloaded template-runzope-userhosts-preloaded:target
269     key template_zeo template-zeo:target
270     key template_zope template-zope:target
271     key template_zope_conf template-zope-conf:target
272     key userhosts_location userhosts:location
273     key wget_location wget:location
274     key xdamage_location xdamage:location
275     key xfixes_location xfixes:location
276     key zlib_location zlib:location
277
278 [template-erp5]
279 <= download-base
280 filename = instance-erp5.cfg.in
281 md5sum = 70820c1608edfc923d57ec2d92aed012
282
283 [template-zeo]
284 <= download-base
285 filename = instance-zeo.cfg.in
286 md5sum = 9670cf63099e2c520017a23defff51a4
287
288 [template-zope]
289 <= download-base
290 filename = instance-zope.cfg.in
291 md5sum = 74f2fbd7d653b0e6cfe29efcd1042ace
292 link-binary =
293   ${aspell:location}/bin/aspell
294   ${dmtx-utils:location}/bin/dmtxwrite
295   ${git:location}/bin/git
296   ${graphviz:location}/bin/dot
297   ${grep:location}/bin/grep
298   ${imagemagick:location}/bin/convert
299   ${imagemagick:location}/bin/identify
300   ${jsl:location}/bin/jsl
301   ${librsvg:location}/bin/rsvg-convert
302   ${mariadb:location}/bin/mysql
303   ${mariadb:location}/bin/mysqldump
304   ${openssl:location}/bin/openssl
305   ${poppler:location}/bin/pdfinfo
306   ${poppler:location}/bin/pdftohtml
307   ${poppler:location}/bin/pdftotext
308   ${sed:location}/bin/sed
309   ${tesseract:location}/bin/tesseract
310   ${w3m:location}/bin/w3m
311
312 [template-balancer]
313 <= download-base
314 filename = instance-balancer.cfg.in
315 md5sum = 3628f0ba358e7ee96a8d0185c4775911
316
317 [template-apache-conf]
318 <= download-base
319 filename = apache.conf.in
320 md5sum = 713b22938d7212c8506449bc0508452b
321
322 [template-haproxy-cfg]
323 <= download-base
324 filename = haproxy.cfg.in
325 md5sum = 7f13123698afe017dfcde9de6beea0f5
326
327 [bt5-repository]
328 # Format:
329 #   <url or path> [...]
330 #
331 # Use absolute paths for local repositories, and URLs for non-local otherwise.
332 #
333 list = ${local-bt5-repository:list}
334
335 [local-bt5-repository]
336 # Same as bt5-repository, but only local repository.
337 # Used to generate bt5lists.
338 list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap
339
340 [genbt5list]
341 recipe = plone.recipe.command
342 stop-on-error = true
343 genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
344 command =
345   ${buildout:executable} ${:genbt5list} ${local-bt5-repository:list}
346 update-command = ${:command}
347
348 [erp5_repository_list]
349 repository_id_list = erp5
350
351 [erp5]
352 recipe = slapos.recipe.build:gitclone
353 repository = http://git.erp5.org/repos/erp5.git
354 branch = master
355 git-executable = ${git:location}/bin/git
356
357 [testrunner]
358 # XXX: Workaround for fact ERP5Type is not an distribution and does not
359 #      expose entry point for test runner
360 recipe = zc.recipe.egg
361 eggs = ${eggs:eggs}
362 extra-paths = ${eggs:extra-paths}
363 entry-points =
364   runUnitTest=runUnitTest:main
365 scripts = runUnitTest
366 initialization =
367   import glob, imp, os, sys
368   import App # prevent Testing from importing Zope2.App instead of App
369   import Products
370   Products.__path__[:0] = filter(None,
371     os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
372   os.environ['SOFTWARE_HOME'] = os.path.abspath(imp.find_module('Zope2')[1])
373   os.environ['ZOPE_SCRIPTS'] = ''
374   parts_directory = '''${buildout:parts-directory}'''
375   repository_id_list = \
376     '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
377   os.environ['erp5_tests_bt5_path'] = ','.join(sum((
378     [bt5_path, os.path.join(bt5_path, '*')]
379     for bt5_path in (os.path.join(parts_directory, x, 'bt5')
380                      for x in repository_id_list)), []))
381   extra_path_list = '''${:extra-paths}'''.split()
382   sys.path[:0] = sum((
383     glob.glob(os.path.join(x, 'tests'))
384     for x in extra_path_list), [])
385   sys.path[:0] = sum((
386     glob.glob(os.path.join(x, 'Products', '*', 'tests'))
387     for x in extra_path_list), [])
388   sys.path[:0] = sum((
389     glob.glob(os.path.join(x, 'Products', '*', 'tests'))
390     for x in os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep)), [])
391   os.environ['PATH'] = '${jsl:location}/bin:%s' % os.environ['PATH']
392   os.environ['CGI_PATH'] = '${w3-validator:location}/httpd/cgi-bin'
393
394 [test_suite_runner]
395 # XXX: Workaround for fact ERP5Type is not an distribution and does not
396 #      expose entry point for test runner
397 recipe = zc.recipe.egg
398 eggs = ${eggs:eggs}
399 extra-paths = ${eggs:extra-paths}
400 entry-points =
401   runTestSuite=Products.ERP5Type.tests.runTestSuite:main
402 scripts = runTestSuite
403 initialization =
404   import os
405   import sys
406   import Products
407   [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
408   import Zope2
409   os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
410   os.environ['ZOPE_SCRIPTS'] = ''
411   repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
412   sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
413
414 [eggs]
415 <= neoppod
416 eggs =
417   ${numpy:egg}
418   ${mysql-python:egg}
419   ${lxml-python:egg}
420   ${pillow-python:egg}
421   ${python-ldap-python:egg}
422   ${pysvn-python:egg}
423   ${pycrypto-python:egg}
424   lock_file
425   PyXML
426   Pympler
427   SOAPpy
428   chardet
429   collective.recipe.template
430   coverage
431   elementtree
432   erp5diff
433   inotifyx
434   interval
435   ipdb
436   Jinja2
437   jsonschema
438   mechanize
439   paramiko
440   ply
441   pyflakes
442   pypdf2
443   python-magic
444   python-memcached
445   pytz
446   requests
447   threadframe
448   timerserver
449   urlnorm
450   uuid
451   xml_marshaller
452   xupdate_processor
453   feedparser
454   argparse
455   validictory
456   erp5.util
457   huBarcode
458   qrcode
459   spyne
460   httplib2
461   suds
462   pprofile
463   pycountry
464   xfw
465   jsonschema
466 # Needed for checking ZODB Components source code
467   pylint
468
469   neoppod[client]
470 # Zope
471   ZODB3
472   Zope2
473 # Zope acquisition patch
474   Acquisition
475
476 # Other Zope 2 packages
477   Products.PluggableAuthService
478   Products.PluginRegistry
479
480 # CMF 2.2
481   Products.CMFActionIcons
482   Products.CMFCalendar
483   Products.CMFCore
484   Products.CMFDefault
485   Products.CMFTopic
486   Products.CMFUid
487   Products.DCWorkflow
488   Products.GenericSetup
489   five.localsitemanager
490
491 # Other products
492   Products.DCWorkflowGraph
493   Products.MimetypesRegistry
494   Products.ExternalEditor
495   Products.TIDStorage
496   Products.LongRequestLogger
497
498 # BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
499 #      (for tests like testCookieCrumbler).
500   zope.app.testing
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 = ${buildout:python}
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 # patches for eggs
526 patch-binary = ${patch:location}/bin/patch
527 Acquisition-patches = ${:_profile_base_location_}/../../component/egg-patch/Acquisition/aq_dynamic.patch
528 Acquisition-patch-options = -p1
529 Products.DCWorkflow-patches = ${:_profile_base_location_}/../../component/egg-patch/Products.DCWorkflow/workflow_method.patch
530 Products.DCWorkflow-patch-options = -p1
531
532 [zodbanalyze]
533 recipe = zc.recipe.egg
534 eggs =
535   ZODB3
536   erp5.util
537 entry-points =
538   zodbanalyze=erp5.util.zodbanalyze:main
539 scripts = zodbanalyze
540
541 # develop erp5.util from parts/erp5/
542 [erp5-util-develop]
543 recipe = zc.recipe.egg:develop
544 setup = ${erp5:location}
545
546 [cloudooo-repository]
547 branch =
548 revision = 3241978a6ec832f6aa71d1df1a62e22a8feae2f1
549
550 [slapos-toolbox]
551 recipe = zc.recipe.egg
552 eggs =
553   ${lxml-python:egg}
554   slapos.toolbox
555   slapos.toolbox[zodbpack]
556
557 scripts =
558   is-local-tcp-port-opened
559   onetimedownload
560   slapos-kill
561   zodbpack
562
563 [versions]
564 # patched eggs
565 Acquisition = 2.13.8+SlapOSPatched001
566 Products.DCWorkflow = 2.2.4+SlapOSPatched001
567
568 # specify dev version to be sure that an old released version is not used
569 cloudooo = 1.2.5-dev
570
571 # use newer version than specified in ZTK
572 PasteDeploy = 1.5.2
573 Pygments = 2.0.2
574 coverage = 3.7.1
575 zope.dottedname = 4.1.0
576
577 # test_UserManagerInterfaces in testERP5Security fails with 1.10.0.
578 Products.PluggableAuthService = 1.9.0
579
580 # official pysvn egg does not supports --include-dirs and
581 # --library-dirs, so we use our modified version
582 pysvn = 1.7.4nxd006
583
584 # we are still using this old stable version.
585 rdiff-backup = 1.0.5
586
587 # use newest version of slapos.cookbook
588 slapos.cookbook =
589
590 # modified version that works fine for buildout installation
591 SOAPpy = 0.12.0nxd001
592
593 # CMF 2.3 is not yet supported.
594 Products.CMFCalendar = 2.2.3
595 Products.CMFCore = 2.2.8
596 Products.CMFDefault = 2.2.4
597 Products.CMFTopic = 2.2.1
598 Products.CMFUid = 2.2.1
599
600 # newer version requires zope.traversing>=4.0.0a2.
601 zope.app.appsetup = 3.16.0
602
603 # newer version requires zope.i18n>=4.0.0a3
604 zope.app.publication = 3.14.0
605
606 # newer version requires zope.testbrowser>=4
607 zope.app.testing = 3.8.1
608
609 # Pinned versions
610 MySQL-python = 1.2.5
611 Pillow = 2.9.0
612 Products.CMFActionIcons = 2.1.3
613 Products.DCWorkflowGraph = 0.4.1
614 Products.ExternalEditor = 1.1.0
615 Products.GenericSetup = 1.7.6
616 Products.LongRequestLogger = 1.1.0
617 Products.MimetypesRegistry = 2.0.8
618 Products.PluginRegistry = 1.3
619 Products.TIDStorage = 5.4.9
620 PyPDF2 = 1.25
621 PyXML = 0.8.5
622 Pympler = 0.4.1
623 StructuredText = 2.11.1
624 WSGIUtils = 0.7
625 apache-libcloud = 0.17.0
626 astroid = 1.3.6
627 chardet = 2.3.0
628 collective.recipe.template = 1.11
629 csp-eventlet = 0.7.0
630 ecdsa = 0.13
631 elementtree = 1.2.6.post20050316
632 erp5diff = 0.8.1.7
633 eventlet = 0.17.4
634 five.formlib = 1.0.4
635 five.localsitemanager = 2.0.5
636 gitdb = 0.6.4
637 greenlet = 0.4.7
638 http-parser = 0.8.3
639 httplib2 = 0.9.1
640 huBarcode = 1.0.0
641 interval = 1.0.0
642 ipdb = 0.8.1
643 ipython = 3.2.0
644 logilab-common = 1.0.2
645 numpy = 1.9.2
646 plone.recipe.command = 1.1
647 ply = 3.6
648 polib = 1.0.7
649 pprofile = 1.7.3
650 pycountry = 1.13
651 pycrypto = 2.6.1
652 pyflakes = 0.9.2
653 pylint = 1.4.4
654 python-ldap = 2.4.20
655 python-magic = 0.4.6
656 python-memcached = 1.54
657 qrcode = 5.1
658 restkit = 4.2.2
659 rtjp-eventlet = 0.3.2
660 slapos.recipe.template = 2.8
661 slapos.toolbox = 0.49
662 smmap = 0.9.0
663 socketpool = 0.5.3
664 spyne = 2.11.0
665 suds = 0.4
666 threadframe = 0.2
667 timerserver = 2.0.2
668 urlnorm = 1.1.2
669 uuid = 1.30
670 validictory = 1.0.0
671 xupdate-processor = 0.4
672
673 # Required by:
674 # slapos.toolbox==0.49
675 GitPython = 1.0.1
676
677 # Required by:
678 # Products.CMFCore==2.2.8
679 Products.ZSQLMethods = 2.13.4
680
681 # Required by:
682 # slapos.toolbox==0.49
683 atomize = 0.2.0
684
685 # Required by:
686 # apache-libcloud==0.17.0
687 backports.ssl-match-hostname = 3.4.0.2
688
689 # Required by:
690 # slapos.toolbox==0.49
691 feedparser = 5.2.0.post1
692
693 # Required by:
694 # SOAPpy===0.12.0nxd001
695 fpconst = 0.7.2
696
697 # Required by:
698 # slapos.toolbox==0.49
699 lockfile = 0.10.2
700
701 # Required by:
702 # slapos.toolbox==0.49
703 paramiko = 1.15.2
704
705 # Required by:
706 # slapos.toolbox==0.49
707 rpdb = 0.1.5
708
709 # Required by:
710 # zope.app.testing==3.8.1
711 zope.app.debug = 3.4.1
712
713 # Required by:
714 # zope.app.testing==3.8.1
715 zope.app.dependable = 3.5.1
716
717 # Required by:
718 # Products.CMFCalendar==2.2.3
719 # five.formlib==1.0.4
720 zope.app.form = 4.0.2