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