pin slapos.cookbook version
[slapos.git] / stack / erp5 / buildout.cfg
1 [buildout]
2 # Local development
3 develop =
4   ${:parts-directory}/cloudooo-repository
5
6 extensions =
7   slapos.zcbworkarounds
8   mr.developer
9
10 find-links =
11     http://www.nexedi.org/static/packages/source/slapos.buildout/
12     http://www.nexedi.org/static/packages/source/hexagonit.recipe.download/
13     http://dist.repoze.org
14     http://www.nexedi.org/static/packages/source/
15     http://www.owlfish.com/software/wsgiutils/download.html
16
17 extends =
18 # Exact version of Zope
19   http://svn.zope.org/repos/main/Zope/tags/2.12.25/versions.cfg
20   ../../stack/slapos.cfg
21   ../../component/logrotate/buildout.cfg
22   ../../component/dcron/buildout.cfg
23   ../../component/file/buildout.cfg
24   ../../component/fonts/buildout.cfg
25   ../../component/ghostscript/buildout.cfg
26   ../../component/git/buildout.cfg
27   ../../component/graphviz/buildout.cfg
28   ../../component/gzip/buildout.cfg
29   ../../component/haproxy/buildout.cfg
30   ../../component/hookbox/buildout.cfg
31   ../../component/librsvg/buildout.cfg
32   ../../component/imagemagick/buildout.cfg
33   ../../component/kumo/buildout.cfg
34   ../../component/libdmtx/buildout.cfg
35   ../../component/libpng/buildout.cfg
36   ../../component/libreoffice-bin/buildout.cfg
37   ../../component/lxml-python/buildout.cfg
38   ../../component/percona-toolkit/buildout.cfg
39   ../../component/mariadb/buildout.cfg
40   ../../component/memcached/buildout.cfg
41   ../../component/mysql-python/buildout.cfg
42   ../../component/pdftk/buildout.cfg
43   ../../component/pil-python/buildout.cfg
44   ../../component/pycrypto-python/buildout.cfg
45   ../../component/pysvn-python/buildout.cfg
46   ../../component/python-2.6/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
68 parts =
69   rdiff-backup
70   aspell
71   aspell-en-dictionary
72   apache
73   apache-antiloris
74   file
75   graphviz
76   memcached
77   haproxy
78   varnish-3.0
79   stunnel
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   pdftk
100   dcron
101   dash
102   wget
103
104 # Buildoutish
105   eggs
106   testrunner
107   test_suite_runner
108
109 # basic Xorg
110   libXdmcp
111   libXext
112   libXau
113   libSM
114   libXrender
115
116 # fonts
117   liberation-fonts
118   ipaex-fonts
119   ocrb-fonts
120
121 # Cloudooo specific part
122   cloudooo
123
124 # get git repositories
125   erp5
126   genbt5list
127
128 # fix products path (Zeo needs ERP5 Products to be available for
129 # conflict resolution)
130   fix-products-paths
131 # some additional utils
132   slapos-toolbox
133
134 # Local development
135   slapos.cookbook-python2.6
136   slapos.recipe.template-python2.6
137 # Create instance template
138   template
139
140 [slapos.cookbook-python2.6]
141 recipe = zc.recipe.egg
142 eggs = slapos.cookbook
143 scripts =
144 python = python2.6
145
146 [slapos.recipe.template-python2.6]
147 recipe = zc.recipe.egg
148 eggs = slapos.recipe.template
149 scripts =
150 python = python2.6
151
152 [template-jinja2-base]
153 recipe = slapos.recipe.template:jinja2
154 template = ${:_profile_base_location_}/${:filename}.in
155 rendered = ${buildout:directory}/${:filename}
156 # XXX: extra-context is needed because we cannot append to a key of an extended
157 # section.
158 extra-context =
159 context =
160     key bin_directory buildout:bin-directory
161     key develop_eggs_directory buildout:develop-eggs-directory
162     key eggs_directory buildout:eggs-directory
163     ${:extra-context}
164
165 [template-mariadb]
166 < = template-jinja2-base
167 filename = instance-mariadb.cfg
168 md5sum = 867bd8e3c4f56db2aab2fcad59f2efd8
169 extra-context =
170     key coreutils_location coreutils:location
171     key dcron_location dcron:location
172     key gettext_location gettext:location
173     key grep_location grep:location
174     key gzip_location gzip:location
175     key logrotate_location logrotate:location
176     key mariadb_location mariadb:location
177     key perl_location perl:location
178     key perl_siteprefix perl:siteprefix
179     key sed_location sed:location
180     key xtrabackup_location xtrabackup:location
181
182 [template-zope]
183 recipe = slapos.recipe.build:download
184 url = ${:_profile_base_location_}/instance-zope.cfg.in
185 md5sum = de2918c8ca604f452a69108f6e31e78d
186 mode = 640
187
188 [template-kumofs]
189 < = template-jinja2-base
190 filename = instance-kumofs.cfg
191 md5sum = 7e13d689de7163dcab64e8df4711cdd7
192 extra-context =
193     key dash_location dash:location
194     key dcron_location dcron:location
195     key gzip_location gzip:location
196     key kumo_location kumo:location
197     key logrotate_location logrotate:location
198
199 [template-tidstorage]
200 recipe = slapos.recipe.build:download
201 url = ${:_profile_base_location_}/instance-tidstorage.cfg.in
202 md5sum = 1f3e7cfc719d3c2eee4860678f6a67df
203 mode = 640
204
205 [template-cloudooo]
206 recipe = slapos.recipe.build:download
207 url = ${:_profile_base_location_}/instance-cloudoo.cfg.in
208 md5sum = 53492e520be57f4c6a9eacd107c8d446
209 mode = 640
210
211 [template-zope-conf]
212 recipe = slapos.recipe.build:download
213 url = ${:_profile_base_location_}/zope.conf.in
214 md5sum = bc2154161a1d5baddc4ed4dfaaf94fbe
215 mode = 640
216
217 [template]
218 < = template-jinja2-base
219 # XXX: "template.cfg" is hardcoded in instanciation recipe
220 filename = template.cfg
221 template = ${:_profile_base_location_}/instance.cfg.in
222 md5sum = 700b8729a4d9a8423ab2a99de486cc31
223 extra-context =
224     key apache_location apache:location
225     key aspell_location aspell:location
226     key buildout_bin_directory buildout:bin-directory
227     key coreutils_location coreutils:location
228     key curl_location curl:location
229     key dash_location dash:location
230     key dcron_location dcron:location
231     key dmtx_utils_location dmtx-utils:location
232     key erp5_location erp5:location
233     key file_location file:location
234     key fontconfig_location fontconfig:location
235     key fonts_location fonts:location
236     key freetype_location freetype:location
237     key git_location git:location
238     key graphviz_location graphviz:location
239     key grep_location grep:location
240     key gzip_location gzip:location
241     key haproxy_location haproxy:location
242     key imagemagick_location imagemagick:location
243     key libICE_location libICE:location
244     key libSM_location libSM:location
245     key libX11_location libX11:location
246     key libXau_location libXau:location
247     key libXdmcp_location libXdmcp:location
248     key libXext_location libXext:location
249     key libXrender_location libXrender:location
250     key libpng12_location libpng12:location
251     key libreoffice_bin_location libreoffice-bin:location
252     key librsvg_location librsvg:location
253     key libxcb_location libxcb:location
254     key local_bt5_repository local-bt5-repository:list
255     key logrotate_location logrotate:location
256     key mariadb_location mariadb:location
257     key openssl_location openssl:location
258     key pdftk_location pdftk:location
259     key poppler_location poppler:location
260     key sed_location sed:location
261     key template_cloudooo template-cloudooo:target
262     key template_erp5_single template-erp5-single:target
263     key template_erp5_cluster template-erp5-cluster:rendered
264     key template_kumofs template-kumofs:rendered
265     key template_mariadb template-mariadb:rendered
266     key template_memcached template-memcached:rendered
267     key template_tidstorage template-tidstorage:target
268     key template_varnish template-varnish:target
269     key template_zope template-zope:target
270     key template_zope_conf template-zope-conf:target
271     key tesseract_location tesseract:location
272     key varnish_location varnish-3.0:location
273     key w3m_location w3m:location
274     key wget_location wget:location
275     key zlib_location zlib:location
276
277 [template-memcached]
278 < = template-jinja2-base
279 filename = instance-memcached.cfg
280 md5sum = 44c507e9eec1003beb99f9063b5e09be
281 extra-context =
282     key dash_location dash:location
283     key memcached_location memcached:location
284
285 [template-erp5-single]
286 recipe = slapos.recipe.build:download
287 url = ${:_profile_base_location_}/instance-erp5-single.cfg.in
288 md5sum = 2a4312202a3160f874c4fa3ee9155a1d
289 mode = 640
290
291 [template-erp5-cluster]
292 < = template-jinja2-base
293 filename = instance-erp5-cluster.cfg
294 md5sum = b4a9688ca7983fac5dd573e66c6e4263
295 extra-context =
296     key local_bt5_repository local-bt5-repository:list
297
298 [template-varnish]
299 recipe = slapos.recipe.build:download
300 url = ${:_profile_base_location_}/instance-varnish.cfg.in
301 md5sum = 17aee2df57b121343b1fd65f4b51ce80
302 mode = 640
303
304 [bt5-repository]
305 # Format:
306 #   <url or path> [...]
307 #
308 # Use absolute paths for local repositories, and URLs for non-local otherwise.
309 #
310 list = ${local-bt5-repository:list}
311
312 [local-bt5-repository]
313 # Same as bt5-repository, but only local repository.
314 # Used to generate bt5lists.
315 list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap
316
317 [genbt5list]
318 recipe = plone.recipe.command
319 stop-on-error = true
320 genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
321 command =
322   ${buildout:executable} ${:genbt5list} ${local-bt5-repository:list}
323 update-command = ${:command}
324
325 [bootstrap2.6]
326 python = python2.6
327
328 [erp5_repository_list]
329 repository_id_list = erp5
330
331 [erp5]
332 # Recipe zerokspot.recipe.git is disabled, as is not possible to change its
333 # environment to use localy delivered git.
334 # plone.recipe.command can do same job, but it is controllable which binary
335 # will be used
336 recipe = plone.recipe.command
337 location = ${buildout:parts-directory}/${:_buildout_section_name_}
338 stop-on-error = true
339 repository = http://git.erp5.org/repos/erp5.git
340 branch = master
341 revision = 13fc3098ebf086c9174f4196255c965fed87e223
342 command = "${git:location}/bin/git" clone --quiet --branch "${:branch}" "${:repository}" "${:location}" && if [ -n "${:revision}" ]; then cd "${:location}" && "${git:location}/bin/git" reset --quiet --hard "${:revision}" ; fi
343 update-command = cd "${:location}" && "${git:location}/bin/git" fetch && if [ -n "${:revision}" ]; then "${git:location}/bin/git" reset --hard "${:revision}"; else "${git:location}/bin/git" reset --hard @{upstream} ; fi
344
345 [fix-products-paths]
346 recipe = plone.recipe.command
347 stop-on-error = true
348 command =
349   for DIR in "${erp5:location}"; do cd "$DIR"; rm -f Products ; ln -s product Products; touch product/__init__.py; done
350 update-command = ${:command}
351
352 [testrunner]
353 # XXX: Workaround for fact ERP5Type is not an distribution and does not
354 #      expose entry point for test runner
355 recipe = zc.recipe.egg
356 python = python2.6
357 eggs = ${eggs:eggs}
358 extra-paths = ${eggs:extra-paths}
359 entry-points =
360   runUnitTest=runUnitTest:main
361 scripts = runUnitTest
362 initialization =
363   import glob, imp, os, sys
364   import App # prevent Testing from importing Zope2.App instead of App
365   import Products
366   Products.__path__[:0] = filter(None,
367     os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
368   os.environ['SOFTWARE_HOME'] = os.path.abspath(imp.find_module('Zope2')[1])
369   os.environ['ZOPE_SCRIPTS'] = ''
370   parts_directory = '''${buildout:parts-directory}'''
371   repository_id_list = \
372     '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
373   os.environ['erp5_tests_bt5_path'] = ','.join(sum((
374     [bt5_path, os.path.join(bt5_path, '*')]
375     for bt5_path in (os.path.join(parts_directory, x, 'bt5')
376                      for x in repository_id_list)), []))
377   extra_path_list = '''${:extra-paths}'''.split()
378   sys.path[:0] = sum((
379     glob.glob(os.path.join(x, 'tests'))
380     for x in extra_path_list), [])
381   sys.path[:0] = sum((
382     glob.glob(os.path.join(x, 'Products', '*', 'tests'))
383     for x in extra_path_list), [])
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.6
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.6
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   PyXML
417   SOAPpy
418   cElementTree
419   chardet
420   coverage
421   elementtree
422   erp5diff
423   inotifyx
424   ipdb
425   mechanize
426   numpy
427   ordereddict
428   paramiko
429   ply
430   python-magic
431   python-memcached
432   pytz
433   requests
434   threadframe
435   timerserver
436   urlnorm
437   uuid
438   xml_marshaller
439   xupdate_processor
440   feedparser
441   argparse
442   validictory
443   erp5.util
444   huBarcode
445   qrcode
446
447 # Zope
448   ZODB3
449   Zope2
450 # Zope acquisition patch
451   Acquisition
452
453 # Other Zope 2 packages
454   Products.PluggableAuthService
455   Products.PluginRegistry
456
457 # CMF 2.2
458   Products.CMFActionIcons
459   Products.CMFCalendar
460   Products.CMFCore
461   Products.CMFDefault
462   Products.CMFTopic
463   Products.CMFUid
464   Products.DCWorkflow
465   Products.GenericSetup
466   five.localsitemanager
467
468 # Other products
469   Products.DCWorkflowGraph
470   Products.MimetypesRegistry
471   Products.ExternalEditor
472   Products.TIDStorage
473   Products.LongRequestLogger
474
475 # Currently forked in our repository
476 #    Products.PortalTransforms
477 # Dependency for our fork of PortalTransforms
478   StructuredText
479
480 # Needed for parsing .po files from our Localizer subset
481   polib
482
483 # parameterizing the version of the generated python interpreter name by the
484 # python section version causes dependency between this egg section and the
485 # installation of python, which we don't want on an instance
486 interpreter = python2.6
487 scripts =
488   repozo
489   runzope
490   runzeo
491   tidstoraged
492   tidstorage_repozo
493   web_checker_utility = erp5.util.webchecker:web_checker_utility
494
495 extra-paths =
496   ${erp5:location}
497
498 [cloudooo-repository]
499 branch = master
500 revision = 4cdfffb3f81a0fdbb7b372d92de664e716f12d4b
501
502 [mysql-python]
503 python = python2.6
504
505 [lxml-python]
506 python = python2.6
507
508 [pil-python]
509 python = python2.6
510
511 [python-ldap-python]
512 python = python2.6
513
514 [pysvn-python]
515 python = python2.6
516
517 [slapos-toolbox]
518 recipe = zc.recipe.egg
519 python = ${eggs:python}
520 eggs =
521   ${lxml-python:egg}
522   slapos.toolbox
523   slapos.toolbox[zodbpack]
524
525 scripts =
526   killpidfromfile
527   onetimedownload
528   zodbpack
529
530 [versions]
531 # pin Acquisition and Products.DCWorkflow to Nexedi flavour of eggs
532 Acquisition = 2.13.7nxd001
533 Products.DCWorkflow = 2.2.3nxd002
534
535 # Known version with works
536 numpy = 1.6.2
537 # Patched version which support python 2.6
538 PyXML = 0.8.4nxd001
539 # modified version that works fine for buildout installation
540 SOAPpy = 0.12.0nxd001
541 # we are still using this old stable version.
542 rdiff-backup = 1.0.5
543
544 # official pysvn egg does not supports --include-dirs and
545 # --library-dirs, so we use our modified version
546 pysvn = 1.7.4nxd006
547
548 # CMF 2.3 requries Zope 2.13.
549 Products.CMFCalendar = 2.2.2
550 Products.CMFCore = 2.2.6
551 Products.CMFDefault = 2.2.2
552 Products.CMFTopic = 2.2.1
553 Products.CMFUid = 2.2.1
554
555 slapos.cookbook = 0.71.4
556
557 # Pinned versions
558 MySQL-python = 1.2.4
559 PIL = 1.1.7
560 Paste = 1.7.5.1
561 PasteScript = 1.7.5
562 Products.CMFActionIcons = 2.1.3
563 Products.DCWorkflowGraph = 0.4.1
564 Products.ExternalEditor = 1.1.0
565 Products.GenericSetup = 1.7.3
566 Products.LongRequestLogger = 1.1.0
567 Products.MimetypesRegistry = 2.0.4
568 Products.PluggableAuthService = 1.9.0
569 Products.PluginRegistry = 1.3
570 Products.TIDStorage = 5.4.8
571 StructuredText = 2.11.1
572 WSGIUtils = 0.7
573 WebOb = 1.2.3
574 Werkzeug = 0.8.3
575 apache-libcloud = 0.11.4
576 async = 0.6.1
577 buildout-versions = 1.7
578 cElementTree = 1.0.5-20051216
579 chardet = 2.1.1
580 coverage = 3.6
581 csp-eventlet = 0.7.0
582 elementtree = 1.2.7-20070827-preview
583 erp5.recipe.cmmiforcei686 = 0.1.3
584 erp5.util = 0.4.22
585 erp5diff = 0.8.1.5
586 eventlet = 0.12.1
587 five.localsitemanager = 2.0.5
588 gitdb = 0.5.4
589 greenlet = 0.4.0
590 hexagonit.recipe.cmmi = 1.6
591 http-parser = 0.7.12
592 huBarcode = 0.63
593 ipdb = 0.7
594 ipython = 0.13.1
595 meld3 = 0.6.10
596 ordereddict = 1.1
597 plone.recipe.command = 1.1
598 ply = 3.4
599 polib = 1.0.2
600 python-ldap = 2.4.10
601 python-magic = 0.4.3
602 python-memcached = 1.47-ipv6-1
603 qrcode = 2.4.2
604 requests = 1.1.0
605 restkit = 4.2.0
606 rtjp-eventlet = 0.3.2
607 slapos.recipe.build = 0.11.5
608 slapos.recipe.template = 2.4.2
609 slapos.toolbox = 0.33
610 smmap = 0.8.2
611 socketpool = 0.5.2
612 threadframe = 0.2
613 timerserver = 2.0.2
614 urlnorm = 1.1.2
615 uuid = 1.30
616 validictory = 0.9.0
617 xupdate-processor = 0.4
618 Flask = 0.9
619 GitPython = 0.3.2.RC1
620 PasteDeploy = 1.5.0
621 argparse = 1.2.1
622 atomize = 0.1.1
623 feedparser = 5.1.3
624 fpconst = 0.7.2
625 hexagonit.recipe.download = 1.6
626 inotifyx = 0.2.0
627 netaddr = 0.7.10
628 netifaces = 0.8
629 nose = 1.2.1
630 paramiko = 1.9.0
631 psutil = 0.6.1
632 pyflakes = 0.6.1
633 slapos.core = 0.34
634 supervisor = 3.0b1
635 xml-marshaller = 0.9.7
636 setuptools = 0.6c12dev-r88846