develop slapos.cookbook in erp5
[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   ../../stack/slapos.cfg
9   ../../component/logrotate/buildout.cfg
10   ../../component/cups/buildout.cfg
11   ../../component/dbus/buildout.cfg
12   ../../component/dcron/buildout.cfg
13   ../../component/file/buildout.cfg
14   ../../component/fonts/buildout.cfg
15   ../../component/ghostscript/buildout.cfg
16   ../../component/git/buildout.cfg
17   ../../component/graphviz/buildout.cfg
18   ../../component/gzip/buildout.cfg
19   ../../component/haproxy/buildout.cfg
20   ../../component/hookbox/buildout.cfg
21   ../../component/librsvg/buildout.cfg
22   ../../component/imagemagick/buildout.cfg
23   ../../component/inkscape/buildout.cfg
24   ../../component/kumo/buildout.cfg
25   ../../component/libdmtx/buildout.cfg
26   ../../component/libffi/buildout.cfg
27   ../../component/libpng/buildout.cfg
28   ../../component/libreoffice-bin/buildout.cfg
29   ../../component/lxml-python/buildout.cfg
30   ../../component/percona-toolkit/buildout.cfg
31   ../../component/mariadb/buildout.cfg
32   ../../component/mysql-python/buildout.cfg
33   ../../component/patch/buildout.cfg
34   ../../component/pillow/buildout.cfg
35   ../../component/pycrypto-python/buildout.cfg
36   ../../component/pysvn-python/buildout.cfg
37   ../../component/python-2.7/buildout.cfg
38   ../../component/python-ldap-python/buildout.cfg
39   ../../component/rdiff-backup/buildout.cfg
40   ../../component/stunnel/buildout.cfg
41   ../../component/subversion/buildout.cfg
42   ../../component/tesseract/buildout.cfg
43   ../../component/varnish/buildout.cfg
44   ../../component/w3-validator/buildout.cfg
45   ../../component/w3m/buildout.cfg
46   ../../component/xorg/buildout.cfg
47   ../../component/poppler/buildout.cfg
48   ../../component/xtrabackup/buildout.cfg
49   ../../component/zabbix/buildout.cfg
50   ../../component/sed/buildout.cfg
51   ../../component/coreutils/buildout.cfg
52   ../../component/grep/buildout.cfg
53   ../../component/dash/buildout.cfg
54   ../../component/wget/buildout.cfg
55   ../../component/aspell/buildout.cfg
56   ../../component/cloudooo/buildout.cfg
57   ../../component/jsl/buildout.cfg
58
59 parts =
60   erp5-util-develop
61   slapos-cookbook-develop
62   slapos-cookbook
63   rdiff-backup
64   aspell
65   aspell-en-dictionary
66   apache
67   apache-antiloris
68   file
69   graphviz
70   haproxy
71   jsl
72   stunnel
73   varnish-3.0
74   w3m
75   poppler
76   libpng
77   ghostscript
78   mariadb
79   mroonga-mariadb
80   imagemagick
81   inkscape
82   libdmtx
83   dmtx-utils
84   kumo
85   libreoffice-bin
86   w3-validator
87   tesseract
88   hookbox
89   perl-DBD-mariadb
90   perl-DBI
91   percona-toolkit
92   zabbix-agent
93   dcron
94   dash
95   wget
96
97 # Buildoutish
98   patched-eggs
99   eggs
100   testrunner
101   test_suite_runner
102
103 # basic Xorg
104   libXdmcp
105   libXext
106   libXau
107   libSM
108   libXrender
109
110 # fonts
111   liberation-fonts
112   ipaex-fonts
113   ipa-fonts
114   ocrb-fonts
115   android-fonts
116
117 # Cloudooo specific part
118   cloudooo-develop
119   cloudooo
120
121 # get git repositories
122   erp5
123   genbt5list
124
125 # fix products path (Zeo needs ERP5 Products to be available for
126 # conflict resolution)
127   fix-products-paths
128 # some additional utils
129   slapos-toolbox
130   zodbanalyze
131
132 # Create instance template
133   template
134
135 [template-jinja2-base]
136 recipe = slapos.recipe.template:jinja2
137 template = ${:_profile_base_location_}/${:filename}.in
138 rendered = ${buildout:directory}/${:filename}
139 # XXX: extra-context is needed because we cannot append to a key of an extended
140 # section.
141 extra-context =
142 context =
143     key bin_directory buildout:bin-directory
144     key develop_eggs_directory buildout:develop-eggs-directory
145     key eggs_directory buildout:eggs-directory
146     key slapos_core_version versions:slapos.core
147     ${:extra-context}
148
149 [template-mariadb]
150 < = template-jinja2-base
151 filename = instance-mariadb.cfg
152 md5sum = e0c923a8195b5a36c7df766c1fb4bfdb
153 extra-context =
154     key coreutils_location coreutils:location
155     key dcron_location dcron:location
156     key gettext_location gettext:location
157     key grep_location grep:location
158     key gzip_location gzip:location
159     key logrotate_location logrotate:location
160     key mariadb_location mariadb:location
161     key perl_location perl:location
162     key perl_siteprefix perl:siteprefix
163     key sed_location sed:location
164     key xtrabackup_location xtrabackup:location
165
166 [template-zope]
167 recipe = slapos.recipe.build:download
168 url = ${:_profile_base_location_}/instance-zope.cfg.in
169 md5sum = 23baedc096a3ee046d2efe2195e19b96
170 mode = 640
171
172 [template-kumofs]
173 < = template-jinja2-base
174 filename = instance-kumofs.cfg
175 md5sum = 40817014a41497bceb696e512436e670
176 extra-context =
177     key dash_location dash:location
178     key dcron_location dcron:location
179     key gzip_location gzip:location
180     key kumo_location kumo:location
181     key logrotate_location logrotate:location
182
183 [template-tidstorage]
184 recipe = slapos.recipe.build:download
185 url = ${:_profile_base_location_}/instance-tidstorage.cfg.in
186 md5sum = 2bc13fc6cd52c7b8e2b4ddb99a69974b
187 mode = 640
188
189 [template-cloudooo]
190 recipe = slapos.recipe.build:download
191 url = ${:_profile_base_location_}/instance-cloudoo.cfg.in
192 md5sum = 45f8a58568fb7e6eb832802551f3ff03
193 mode = 640
194
195 [template-zope-conf]
196 recipe = slapos.recipe.build:download
197 url = ${:_profile_base_location_}/zope.conf.in
198 md5sum = bc2154161a1d5baddc4ed4dfaaf94fbe
199 mode = 640
200
201 [template]
202 < = template-jinja2-base
203 # XXX: "template.cfg" is hardcoded in instanciation recipe
204 filename = template.cfg
205 template = ${:_profile_base_location_}/instance.cfg.in
206 md5sum = 66a1be44c72437d87a7b609eb58c3526
207 extra-context =
208     key apache_location apache:location
209     key aspell_location aspell:location
210     key buildout_bin_directory buildout:bin-directory
211     key coreutils_location coreutils:location
212     key cups_location cups:location
213     key curl_location curl:location
214     key dash_location dash:location
215     key dbus_location dbus:location
216     key dbus_glib_location dbus-glib:location
217     key dcron_location dcron:location
218     key dmtx_utils_location dmtx-utils:location
219     key erp5_location erp5:location
220     key file_location file:location
221     key fontconfig_location fontconfig:location
222     key fonts_location fonts:location
223     key freetype_location freetype:location
224     key git_location git:location
225     key graphviz_location graphviz:location
226     key grep_location grep:location
227     key glib_location glib:location
228     key gzip_location gzip:location
229     key haproxy_location haproxy:location
230     key imagemagick_location imagemagick:location
231     key jsl_location jsl:location
232     key libICE_location libICE:location
233     key libSM_location libSM:location
234     key libX11_location libX11:location
235     key libXau_location libXau:location
236     key libXdmcp_location libXdmcp:location
237     key libXext_location libXext:location
238     key libXrender_location libXrender:location
239     key libffi_location libffi:location
240     key libpng12_location libpng12:location
241     key libreoffice_bin_location libreoffice-bin:location
242     key librsvg_location librsvg:location
243     key libxcb_location libxcb:location
244     key local_bt5_repository local-bt5-repository:list
245     key logrotate_location logrotate:location
246     key mariadb_location mariadb:location
247     key openssl_location openssl:location
248     key poppler_location poppler:location
249     key sed_location sed:location
250     key stunnel_location stunnel:location
251     key template_cloudooo template-cloudooo:target
252     key template_erp5_single template-erp5-single:target
253     key template_erp5_cluster template-erp5-cluster:target
254     key template_kumofs template-kumofs:rendered
255     key template_mariadb template-mariadb:rendered
256     key template_memcached template-memcached:rendered
257     key template_tidstorage template-tidstorage:target
258     key template_varnish template-varnish:target
259     key template_zope template-zope:target
260     key template_zope_conf template-zope-conf:target
261     key tesseract_location tesseract:location
262     key varnish_location varnish-3.0:location
263     key w3m_location w3m:location
264     key wget_location wget:location
265     key zlib_location zlib:location
266
267 [template-memcached]
268 < = template-jinja2-base
269 filename = instance-memcached.cfg
270 md5sum = 346c864c1f119360eddb5e163f16d4f3
271 extra-context =
272     key dash_location dash:location
273     key dcron_location dcron:location
274     key gzip_location gzip:location
275     key kumo_location kumo:location
276     key logrotate_location logrotate:location
277
278 [template-erp5-single]
279 recipe = slapos.recipe.build:download
280 url = ${:_profile_base_location_}/instance-erp5-single.cfg.in
281 md5sum = becf4faf3df849bb90ddf5f587f02d5e
282 mode = 640
283
284 [template-erp5-cluster]
285 recipe = slapos.recipe.build:download
286 url = ${:_profile_base_location_}/instance-erp5-cluster.cfg.in
287 md5sum = f4c9cdbbac82232b84db080461bd0007
288 mode = 640
289
290 [template-varnish]
291 recipe = slapos.recipe.build:download
292 url = ${:_profile_base_location_}/instance-varnish.cfg.in
293 md5sum = ae0465591c22c0cb316c1706965c6b18
294 mode = 640
295
296 [bt5-repository]
297 # Format:
298 #   <url or path> [...]
299 #
300 # Use absolute paths for local repositories, and URLs for non-local otherwise.
301 #
302 list = ${local-bt5-repository:list}
303
304 [local-bt5-repository]
305 # Same as bt5-repository, but only local repository.
306 # Used to generate bt5lists.
307 list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap
308
309 [genbt5list]
310 recipe = plone.recipe.command
311 stop-on-error = true
312 genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
313 command =
314   ${buildout:executable} ${:genbt5list} ${local-bt5-repository:list}
315 update-command = ${:command}
316
317 [erp5_repository_list]
318 repository_id_list = erp5
319
320 [erp5]
321 recipe = slapos.recipe.build:gitclone
322 repository = http://git.erp5.org/repos/erp5.git
323 branch = master
324 git-executable = ${git:location}/bin/git
325
326 [fix-products-paths]
327 recipe = plone.recipe.command
328 stop-on-error = true
329 dir = ${erp5:location}
330 command =
331   rm -f "${:dir}/Products" && ln -s product "${:dir}/Products" && touch "${:dir}/product/__init__.py"
332 update-command = ${:command}
333
334 [testrunner]
335 # XXX: Workaround for fact ERP5Type is not an distribution and does not
336 #      expose entry point for test runner
337 recipe = zc.recipe.egg
338 eggs = ${eggs:eggs}
339 extra-paths = ${eggs:extra-paths}
340 entry-points =
341   runUnitTest=runUnitTest:main
342 scripts = runUnitTest
343 initialization =
344   import glob, imp, os, sys
345   import App # prevent Testing from importing Zope2.App instead of App
346   import Products
347   Products.__path__[:0] = filter(None,
348     os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
349   os.environ['SOFTWARE_HOME'] = os.path.abspath(imp.find_module('Zope2')[1])
350   os.environ['ZOPE_SCRIPTS'] = ''
351   parts_directory = '''${buildout:parts-directory}'''
352   repository_id_list = \
353     '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
354   os.environ['erp5_tests_bt5_path'] = ','.join(sum((
355     [bt5_path, os.path.join(bt5_path, '*')]
356     for bt5_path in (os.path.join(parts_directory, x, 'bt5')
357                      for x in repository_id_list)), []))
358   extra_path_list = '''${:extra-paths}'''.split()
359   sys.path[:0] = sum((
360     glob.glob(os.path.join(x, 'tests'))
361     for x in extra_path_list), [])
362   sys.path[:0] = sum((
363     glob.glob(os.path.join(x, 'Products', '*', 'tests'))
364     for x in extra_path_list), [])
365   sys.path[:0] = sum((
366     glob.glob(os.path.join(x, 'Products', '*', 'tests'))
367     for x in os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep)), [])
368   os.environ['PATH'] = '${jsl:location}/bin:%s' % os.environ['PATH']
369   os.environ['CGI_PATH'] = '${w3-validator:location}/httpd/cgi-bin'
370
371 [test_suite_runner]
372 # XXX: Workaround for fact ERP5Type is not an distribution and does not
373 #      expose entry point for test runner
374 recipe = zc.recipe.egg
375 eggs = ${eggs:eggs}
376 extra-paths = ${eggs:extra-paths}
377 entry-points =
378   runTestSuite=Products.ERP5Type.tests.runTestSuite:main
379 scripts = runTestSuite
380 initialization =
381   import os
382   import sys
383   import Products
384   [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
385   import Zope2
386   os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
387   os.environ['ZOPE_SCRIPTS'] = ''
388   repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
389   sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
390
391 [patched-eggs]
392 recipe = minitage.recipe.egg
393 eggs =
394   Acquisition
395   Products.DCWorkflow
396   ZODB3
397 Acquisition-patches = ${:_profile_base_location_}/../../component/egg-patch/Acquisition/aq_dynamic.patch
398 Acquisition-patch-options = -p1
399 Acquisition-patch-binary = ${patch:location}/bin/patch
400 Products.DCWorkflow-patches = ${:_profile_base_location_}/../../component/egg-patch/Products.DCWorkflow/workflow_method.patch
401 Products.DCWorkflow-patch-options = -p1
402 Products.DCWorkflow-patch-binary = ${patch:location}/bin/patch
403 ZODB3-patches = ${:_profile_base_location_}/../../component/egg-patch/ZODB3-3.10.5.patch
404 ZODB3-patch-options = -p1
405 ZODB3-patch-binary = ${patch:location}/bin/patch
406
407 [eggs]
408 recipe = zc.recipe.egg
409 eggs =
410   ${mysql-python:egg}
411   ${lxml-python:egg}
412   ${pillow-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   chardet
421   coverage
422   elementtree
423   erp5diff
424   inotifyx
425   interval
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   pycountry
455 # Needed for checking ZODB Components source code
456   pylint
457
458 # Zope
459   ZODB3
460   Zope2
461 # Zope acquisition patch
462   Acquisition
463
464 # Other Zope 2 packages
465   Products.PluggableAuthService
466   Products.PluginRegistry
467
468 # CMF 2.2
469   Products.CMFActionIcons
470   Products.CMFCalendar
471   Products.CMFCore
472   Products.CMFDefault
473   Products.CMFTopic
474   Products.CMFUid
475   Products.DCWorkflow
476   Products.GenericSetup
477   five.localsitemanager
478
479 # Other products
480   Products.DCWorkflowGraph
481   Products.MimetypesRegistry
482   Products.ExternalEditor
483   Products.TIDStorage
484   Products.LongRequestLogger
485
486 # BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
487 #      (for tests like testCookieCrumbler).
488   zope.app.testing
489
490 # Currently forked in our repository
491 #    Products.PortalTransforms
492 # Dependency for our fork of PortalTransforms
493   StructuredText
494
495 # Needed for parsing .po files from our Localizer subset
496   polib
497
498 # parameterizing the version of the generated python interpreter name by the
499 # python section version causes dependency between this egg section and the
500 # installation of python, which we don't want on an instance
501 interpreter = ${buildout:python}
502 scripts =
503   repozo
504   runzope
505   runzeo
506   tidstoraged
507   tidstorage_repozo
508   web_checker_utility = erp5.util.webchecker:web_checker_utility
509
510 extra-paths =
511   ${erp5:location}
512
513 [zodbanalyze]
514 recipe = zc.recipe.egg
515 eggs =
516   ZODB3
517   erp5.util
518 entry-points =
519   zodbanalyze=erp5.util.zodbanalyze:main
520 scripts = zodbanalyze
521
522 # develop erp5.util from parts/erp5/
523 [erp5-util-develop]
524 recipe = zc.recipe.egg:develop
525 setup = ${erp5:location}
526
527 [cloudooo-repository]
528 branch =
529 revision = f67af2797f74d4212f7221978645552353f341c8
530
531 [slapos.cookbook-repository]
532 branch = erp5
533
534 [slapos-toolbox]
535 recipe = zc.recipe.egg
536 eggs =
537   ${lxml-python:egg}
538   slapos.toolbox
539   slapos.toolbox[zodbpack]
540
541 scripts =
542   killpidfromfile
543   onetimedownload
544   zodbpack
545
546 [versions]
547 # patched eggs
548 Acquisition = 2.13.8-ZMinitagePatched-AqDynamic
549 Products.DCWorkflow = 2.2.4-ZMinitagePatched-WorkflowMethod
550 ZODB3 = 3.10.5-ZMinitagePatched-ZODB33105
551
552 # specify dev version to be sure that an old released version is not used
553 cloudooo = 1.2.5-dev
554
555 # use newer version than specified in ZTK
556 PasteDeploy = 1.5.2
557 Pygments = 1.6
558 coverage = 3.7.1
559
560 # Known version with works
561 numpy = 1.6.2
562
563 # test_UserManagerInterfaces in testERP5Security fails with 1.10.0.
564 Products.PluggableAuthService = 1.9.0
565
566 # official pysvn egg does not supports --include-dirs and
567 # --library-dirs, so we use our modified version
568 pysvn = 1.7.4nxd006
569
570 # we are still using this old stable version.
571 rdiff-backup = 1.0.5
572
573 # use newest version of slapos.cookbook
574 slapos.cookbook =
575
576 # modified version that works fine for buildout installation
577 SOAPpy = 0.12.0nxd001
578
579 # CMF 2.3 is not yet supported.
580 Products.CMFCalendar = 2.2.3
581 Products.CMFCore = 2.2.8
582 Products.CMFDefault = 2.2.4
583 Products.CMFTopic = 2.2.1
584 Products.CMFUid = 2.2.1
585
586 # newer version requires zope.traversing>=4.0.0a2.
587 zope.app.appsetup = 3.16.0
588
589 # newer version requires zope.i18n>=4.0.0a3
590 zope.app.publication = 3.14.0
591
592 # newer version requires zope.testbrowser>=4
593 zope.app.testing = 3.8.1
594
595 # Pinned versions
596 MySQL-python = 1.2.5
597 Products.CMFActionIcons = 2.1.3
598 Products.DCWorkflowGraph = 0.4.1
599 Products.ExternalEditor = 1.1.0
600 Products.GenericSetup = 1.7.4
601 Products.LongRequestLogger = 1.1.0
602 Products.MimetypesRegistry = 2.0.5
603 Products.PluginRegistry = 1.3
604 Products.TIDStorage = 5.4.9
605 PyPDF2 = 1.23
606 PyXML = 0.8.5
607 Pympler = 0.3.1
608 StructuredText = 2.11.1
609 WSGIUtils = 0.7
610 apache-libcloud = 0.15.1
611 astroid = 1.2.1
612 async = 0.6.1
613 chardet = 2.2.1
614 csp-eventlet = 0.7.0
615 elementtree = 1.2.7-20070827-preview
616 erp5diff = 0.8.1.5
617 eventlet = 0.15.0
618 five.formlib = 1.0.4
619 five.localsitemanager = 2.0.5
620 gitdb = 0.5.4
621 greenlet = 0.4.3
622 http-parser = 0.8.3
623 httplib2 = 0.9
624 huBarcode = 1.0.0
625 interval = 1.0.0
626 ipdb = 0.8
627 ipython = 2.2.0
628 logilab-common = 0.62.1
629 minitage.paste = 1.4.6
630 minitage.recipe.egg = 1.107
631 pillow = 2.5.3
632 plone.recipe.command = 1.1
633 ply = 3.4
634 polib = 1.0.5
635 pprofile = 1.7.2
636 pycountry = 1.8
637 pyflakes = 0.8.1
638 pylint = 1.3.1
639 python-ldap = 2.4.15
640 python-magic = 0.4.6
641 python-memcached = 1.53
642 pytz = 2014.4
643 qrcode = 5.0.1
644 restkit = 4.2.2
645 rtjp-eventlet = 0.3.2
646 slapos.recipe.build = 0.12
647 slapos.recipe.template = 2.5
648 slapos.toolbox = 0.39.4
649 smmap = 0.8.2
650 socketpool = 0.5.3
651 spyne = 2.11.0
652 suds = 0.4
653 threadframe = 0.2
654 timerserver = 2.0.2
655 urlnorm = 1.1.2
656 uuid = 1.30
657 validictory = 1.0.0a2
658 xupdate-processor = 0.4
659
660 # Required by:
661 # slapos.toolbox==0.39.4
662 GitPython = 0.3.2.RC1
663
664 # Required by:
665 # Products.CMFCore==2.2.8
666 Products.ZSQLMethods = 2.13.4
667
668 # Required by:
669 # slapos.toolbox==0.39.4
670 atomize = 0.2.0
671
672 # Required by:
673 # paramiko==1.14.1
674 ecdsa = 0.11
675
676 # Required by:
677 # cloudooo==1.2.5-dev
678 erp5.util = 0.4.41
679
680 # Required by:
681 # slapos.toolbox==0.39.4
682 feedparser = 5.1.3
683
684 # Required by:
685 # SOAPpy==0.12.0nxd001
686 fpconst = 0.7.2
687
688 # Required by:
689 # minitage.recipe.egg==1.107
690 iniparse = 0.4
691
692 # Required by:
693 # minitage.core==2.0.57
694 minitage = 2.0.67
695
696 # Required by:
697 # minitage.recipe.common==1.90
698 # minitage.recipe.egg==1.107
699 minitage.core = 2.0.57
700
701 # Required by:
702 # minitage.recipe.egg==1.107
703 minitage.recipe.common = 1.90
704
705 # Required by:
706 # minitage.recipe.egg==1.107
707 ordereddict = 1.1
708
709 # Required by:
710 # slapos.toolbox==0.39.4
711 paramiko = 1.14.1
712
713 # Required by:
714 # zope.app.testing==3.8.1
715 zope.app.debug = 3.4.1
716
717 # Required by:
718 # zope.app.testing==3.8.1
719 zope.app.dependable = 3.5.1
720
721 # Required by:
722 # Products.CMFCalendar==2.2.3
723 # five.formlib==1.0.4
724 zope.app.form = 4.0.2