Pick newer buildout.
[slapos.git] / stack / erp5.cfg
1 [buildout]
2 extensions =
3   slapos.rebootstrap
4   slapos.zcbworkarounds
5   buildout-versions
6
7 find-links =
8     http://www.nexedi.org/static/packages/source/slapos.buildout/
9     http://www.nexedi.org/static/packages/source/hexagonit.recipe.download/
10     http://dist.repoze.org
11     http://www.nexedi.org/static/packages/source/
12     http://www.owlfish.com/software/wsgiutils/download.html
13
14 # Separate from site eggs
15 allowed-eggs-from-site-packages =
16 include-site-packages = false
17 exec-sitecustomize = false
18
19 # Use only quite well working sites.
20 allow-hosts =
21   *.nexedi.org
22   *.python.org
23   *.sourceforge.net
24   alastairs-place.net
25   dist.repoze.org
26   effbot.org
27   github.com
28   peak.telecommunity.com
29   psutil.googlecode.com
30   www.dabeaz.com
31   www.owlfish.com
32   launchpad.net
33
34 extends =
35 # Exact version of Zope
36   http://svn.zope.org/repos/main/Zope/tags/2.12.22/versions.cfg
37   ../component/logrotate/buildout.cfg
38   ../component/dcron/buildout.cfg
39   ../component/file/buildout.cfg
40   ../component/fonts/buildout.cfg
41   ../component/ghostscript/buildout.cfg
42   ../component/git/buildout.cfg
43   ../component/glib/buildout.cfg
44   ../component/graphviz/buildout.cfg
45   ../component/gzip/buildout.cfg
46   ../component/haproxy/buildout.cfg
47   ../component/hookbox/buildout.cfg
48   ../component/imagemagick/buildout.cfg
49   ../component/kumo/buildout.cfg
50   ../component/libpng/buildout.cfg
51   ../component/libreoffice-bin/buildout.cfg
52   ../component/lxml-python/buildout.cfg
53   ../component/percona-toolkit/buildout.cfg
54   ../component/mariadb/buildout.cfg
55   ../component/memcached/buildout.cfg
56   ../component/mysql-python/buildout.cfg
57   ../component/pdftk/buildout.cfg
58   ../component/pil-python/buildout.cfg
59   ../component/pycrypto-python/buildout.cfg
60   ../component/pysvn-python/buildout.cfg
61   ../component/python-2.6/buildout.cfg
62   ../component/python-2.7/buildout.cfg
63   ../component/python-ldap-python/buildout.cfg
64   ../component/rdiff-backup/buildout.cfg
65   ../component/sphinx/buildout.cfg
66   ../component/stunnel/buildout.cfg
67   ../component/subversion/buildout.cfg
68   ../component/tesseract/buildout.cfg
69   ../component/varnish/buildout.cfg
70   ../component/w3-validator/buildout.cfg
71   ../component/w3m/buildout.cfg
72   ../component/xorg/buildout.cfg
73   ../component/poppler/buildout.cfg
74   ../component/xtrabackup/buildout.cfg
75   ../component/zabbix/buildout.cfg
76   ../component/sed/buildout.cfg
77   ../component/coreutils/buildout.cfg
78   ../component/grep/buildout.cfg
79   ../component/dash/buildout.cfg
80   ../component/wget/buildout.cfg
81   ../component/aspell/buildout.cfg
82
83 versions = versions
84
85 parts =
86   itools-build
87   rdiff-backup
88   aspell
89   apache
90   apache-antiloris
91   file
92   graphviz
93   memcached
94   haproxy
95   varnish-2.1
96   stunnel
97   w3m
98   poppler
99   libpng12
100   libpng
101   ghostscript
102   mariadb
103   mroonga-mariadb
104   sphinx
105   imagemagick
106   kumo
107   libreoffice-bin
108   w3-validator
109   tesseract-eng-traineddata-unzip
110   tesseract
111   hookbox
112   bootstrap2.6
113   perl-DBD-mariadb
114   perl-DBI
115   percona-toolkit
116   zabbix-agent
117   pdftk
118   dcron
119   dash
120   wget
121
122 # Buildoutish
123   eggs
124   testrunner
125   test_suite_runner
126
127 # basic Xorg
128   libXdmcp
129   libXext
130   libXau
131   libSM
132   libXrender
133
134 # fonts
135   liberation-fonts
136   ipaex-fonts
137
138 # Zope products
139   products-deps
140
141 # Cloudooo specific part
142   cloudooo
143
144 # get git repositories
145   erp5
146   genbt5list
147
148 # fix products path (Zeo needs ERP5 Products to be available for
149 # conflict resolution)
150   fix-products-paths
151 # some additional utils
152   slapos-toolbox
153
154 [bt5-repository]
155 # Format:
156 #   <url or path> [...]
157 #
158 # Use absolute paths for local repositories, and URLs for non-local otherwise.
159 #
160 list = ${local-bt5-repository:list}
161
162 [local-bt5-repository]
163 # Same as bt5-repository, but only local repository.
164 # Used to generate bt5lists.
165 list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap
166
167 [genbt5list]
168 recipe = plone.recipe.command
169 stop-on-error = true
170 genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
171 command =
172   ${buildout:executable} ${:genbt5list} ${local-bt5-repository:list}
173 update-command = ${:command}
174
175 [bootstrap2.6]
176 python = python2.6
177
178 [rebootstrap]
179 version = 3
180 section = python2.7
181 eggs = slapos.libnetworkcache
182
183 [itools]
184 pkgname = itools-0.50.8
185 location = ${buildout:parts-directory}/${:_buildout_section_name_}
186 lib = ${:location}/lib
187 source = ${:location}/src
188
189 # ugly itools building sections until itools and setuptools learn to get
190 # along:
191
192 [itools-download]
193 recipe = hexagonit.recipe.download
194 strip-top-level-dir = true
195 url = http://download.hforge.org/itools/0.50/${itools:pkgname}.tar.gz
196 md5sum = 12704cc354e2201e0921a832bf6b1556
197 destination = ${itools:source}
198
199 [itools-build]
200 recipe = plone.recipe.command
201 # reference itools-download:destination instead of itools:source to trigger its
202 # execution
203 # here, we unset PYTHONPATH to invoke different python than buildout one.
204 command =
205     cd ${itools-download:destination} &&
206     PYTHONPATH= ${python2.6:executable} setup.py build_ext -L ${glib:location}/lib -I ${glib:location}/include/glib-2.0:${glib:location}/lib/glib-2.0/include -R ${glib:location}/lib &&
207     PYTHONPATH= ${python2.6:executable} setup.py install_lib -d ${itools:lib}
208
209 update-command = ${:command}
210 location = ${itools:location}
211 stop-on-error = true
212
213 [products-deps]
214 # Recipe minitage.recipe.fetch is disabled, as it uses PATH variable, but it
215 # is not possible to change its environment to use localy delivered subversion
216 # nor git. plone.recipe.command can do same job, but it is controllable which
217 # binary will be used
218 recipe = plone.recipe.command
219 svn_param =--trust-server-cert --non-interactive --quiet
220 location = ${buildout:parts-directory}/${:_buildout_section_name_}
221 stop-on-error = true
222 command =
223   ${subversion:location}/bin/svn checkout -r 98997 ${:svn_param} https://svn.plone.org/svn/collective/ExtFile/trunk ${:location}/ExtFile &&
224   ${git:location}/bin/git clone --quiet git://git.hforge.org/Localizer.git ${:location}/Localizer && cd ${:location}/Localizer && ${git:location}/bin/git reset --quiet --hard dacb6ba0ae559cd9bdb8822812d24a12a21e9e37
225
226 [erp5_repository_list]
227 repository_id_list = erp5
228
229 [erp5]
230 # Recipe zerokspot.recipe.git is disabled, as is not possible to change its
231 # environment to use localy delivered git.
232 # plone.recipe.command can do same job, but it is controllable which binary
233 # will be used
234 recipe = plone.recipe.command
235 location = ${buildout:parts-directory}/${:_buildout_section_name_}
236 stop-on-error = true
237 repository = http://git.erp5.org/repos/erp5.git
238 branch = master
239 revision =
240 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
241 update-command = cd ${:location} && GIT_COMMITTER_EMAIL=nobody@example.com GIT_AUTHOR_NAME=Nobody GIT_AUTHOR_EMAIL=nobody@example.com ${git:location}/bin/git pull && if [ -n "${:revision}" ]; then echo "Resetting." ; cd ${:location} && ${git:location}/bin/git reset --hard ${:revision} ; fi
242
243 [products]
244 # XXX: ERP5 related products are not defined as python distributions, so it is
245 #      required to configure them in declarative manner
246 list =
247
248 [fix-products-paths]
249 recipe = plone.recipe.command
250 stop-on-error = true
251 command =
252   for DIR in "${products-deps:location}"; do cd "$DIR"; rm -f Products ; ln -s . Products; touch __init__.py; done
253   for DIR in "${erp5:location}"; do cd "$DIR"; rm -f Products ; ln -s product Products; touch product/__init__.py; done
254 update-command = ${:command}
255
256 [testrunner]
257 # XXX: Workaround for fact ERP5Type is not an distribution and does not
258 #      expose entry point for test runner
259 recipe = zc.recipe.egg
260 python = python2.6
261 eggs = ${eggs:eggs}
262 extra-paths = ${eggs:extra-paths}
263 entry-points =
264   runUnitTest=runUnitTest:main
265 scripts = runUnitTest
266 initialization =
267   import glob, imp, os, sys
268   import App # prevent Testing from importing Zope2.App instead of App
269   import Products
270   Products.__path__[:0] = filter(None,
271     os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
272   Products.__path__.extend(reversed('''${products:list}'''.split()))
273   os.environ['SOFTWARE_HOME'] = os.path.abspath(imp.find_module('Zope2')[1])
274   os.environ['ZOPE_SCRIPTS'] = ''
275   parts_directory = '''${buildout:parts-directory}'''
276   repository_id_list = \
277     '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
278   os.environ['erp5_tests_bt5_path'] = ','.join(sum((
279     [bt5_path, os.path.join(bt5_path, '*')]
280     for bt5_path in (os.path.join(parts_directory, x, 'bt5')
281                      for x in repository_id_list)), []))
282   sys.path[:0] = sum((
283     glob.glob(os.path.join(parts_directory, x, 'tests'))
284     for x in repository_id_list), [])
285   sys.path[:0] = sum((
286     glob.glob(os.path.join(parts_directory, x, 'product', '*', 'tests'))
287     for x in repository_id_list), [])
288   sys.path[:0] = sum((
289     glob.glob(os.path.join(x, '*', 'tests'))
290     for x in reversed('''${products:list}'''.split())), [])
291
292 [test_suite_runner]
293 # XXX: Workaround for fact ERP5Type is not an distribution and does not
294 #      expose entry point for test runner
295 recipe = zc.recipe.egg
296 python = python2.6
297 eggs = ${eggs:eggs}
298 extra-paths = ${eggs:extra-paths}
299 entry-points =
300   runTestSuite=Products.ERP5Type.tests.runTestSuite:main
301 scripts = runTestSuite
302 initialization =
303   import os
304   import sys
305   import Products
306   [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
307   Products.__path__.extend(reversed('''${products:list}'''.split()))
308   import Zope2
309   os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
310   os.environ['ZOPE_SCRIPTS'] = ''
311   repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
312   sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
313
314 [eggs]
315 recipe = zc.recipe.egg
316 python = python2.6
317 eggs =
318   ${mysql-python:egg}
319   ${lxml-python:egg}
320   ${pil-python:egg}
321   ${python-ldap-python:egg}
322   ${pysvn-python:egg}
323   ${pycrypto-python:egg}
324   PyXML
325   SOAPpy
326   cElementTree
327   chardet
328   coverage
329   elementtree
330   erp5diff
331   inotifyx
332   ipdb
333   mechanize
334   numpy
335   ordereddict
336   paramiko
337   ply
338   python-magic
339   python-memcached
340   pytz
341   threadframe
342   timerserver
343   urlnorm
344   uuid
345   xml_marshaller
346   xupdate_processor
347   feedparser
348   argparse
349   validictory
350   erp5.util
351   huBarcode
352
353 # Zope 2.12 with patched acquisition
354   ZODB3
355   Zope2
356   Acquisition
357
358 # Other Zope 2 packages
359   Products.PluggableAuthService
360   Products.PluginRegistry
361
362 # CMF 2.2
363   Products.CMFActionIcons
364   Products.CMFCalendar
365   Products.CMFCore
366   Products.CMFDefault
367   Products.CMFTopic
368   Products.CMFUid
369   Products.DCWorkflow
370   Products.GenericSetup
371   five.localsitemanager
372
373 # Other products
374   Products.DCWorkflowGraph
375   Products.MimetypesRegistry
376   Products.ExternalEditor
377   Products.TIDStorage
378
379 # Currently forked in our repository
380 #    Products.PortalTransforms
381 # Dependency for our fork of PortalTransforms
382   StructuredText
383
384 # parameterizing the version of the generated python interpreter name by the
385 # python section version causes dependency between this egg section and the
386 # installation of python, which we don't want on an instance
387 interpreter = python2.6
388 scripts =
389   repozo
390   runzope
391   runzeo
392   tidstoraged
393   tidstorage_repozo
394   web_checker_utility = erp5.util.webchecker:web_checker_utility
395
396 extra-paths =
397   ${itools:location}/lib
398   ${products-deps:location}
399   ${erp5:location}
400
401 [mysql-python]
402 python = python2.6
403
404 [lxml-python]
405 python = python2.6
406
407 [pil-python]
408 python = python2.6
409
410 [python-ldap-python]
411 python = python2.6
412
413 [pysvn-python]
414 python = python2.6
415
416 [slapos-toolbox]
417 recipe = zc.recipe.egg
418 python = ${eggs:python}
419 eggs =
420   ${lxml-python:egg}
421   slapos.toolbox
422   slapos.toolbox[zodbpack]
423
424 scripts =
425   killpidfromfile
426   onetimedownload
427   zodbpack
428
429 [cloudooo]
430 recipe = zc.recipe.egg
431 python = python2.6
432 eggs =
433   ${lxml-python:egg}
434   cloudooo.handler.ffmpeg
435   cloudooo.handler.imagemagick
436   cloudooo.handler.ooo
437   cloudooo.handler.pdf
438   cloudooo
439   PasteScript
440 scripts =
441   paster=cloudooo_paster
442
443 [versions]
444 # Use SlapOS patched zc.buildout
445 zc.buildout = 1.6.0-dev-SlapOS-005
446
447 # pin Acquisition and Products.DCWorkflow to Nexedi flavour of eggs
448 Acquisition = 2.13.7nxd001
449 Products.DCWorkflow = 2.2.3nxd002
450
451 # Known version with works
452 numpy = 1.3.0
453 # Patched version which support python 2.6
454 PyXML = 0.8.4nxd001
455 # modified version that works fine for buildout installation
456 SOAPpy = 0.12.0nxd001
457 # we are still using this old stable version.
458 rdiff-backup = 1.0.5
459
460 # official pysvn egg does not supports --include-dirs and
461 # --library-dirs, so we use our modified version
462 pysvn = 1.7.4nxd006
463
464 # CMF 2.3 requries Zope 2.13.
465 Products.CMFCalendar = 2.2.2
466 Products.CMFCore = 2.2.5
467 Products.CMFDefault = 2.2.2
468 Products.CMFTopic = 2.2.1
469 Products.CMFUid = 2.2.1
470
471 # Unpined locally developed egg
472 slapos.cookbook =
473
474 # Pinned versions
475 Flask = 0.8
476 GitPython = 0.3.2.RC1
477 MySQL-python = 1.2.3
478 PIL = 1.1.7
479 Paste = 1.7.5.1
480 PasteDeploy = 1.5.0
481 PasteScript = 1.7.5
482 Products.CMFActionIcons = 2.1.3
483 Products.CMFCalendar = 2.2.2
484 Products.CMFCore = 2.2.5
485 Products.CMFDefault = 2.2.2
486 Products.CMFTopic = 2.2.1
487 Products.CMFUid = 2.2.1
488 Products.DCWorkflowGraph = 0.4.1
489 Products.ExternalEditor = 1.1.0
490 Products.GenericSetup = 1.7.1
491 Products.MimetypesRegistry = 2.0.3
492 Products.PluggableAuthService = 1.7.7
493 Products.PluginRegistry = 1.3b1
494 Products.TIDStorage = 5.4.7.dev-r45842
495 Products.Zelenium = 1.0.3
496 StructuredText = 2.11.1
497 WSGIUtils = 0.7
498 Werkzeug = 0.8.3
499 apache-libcloud = 0.9.1
500 argparse = 1.1
501 async = 0.6.1
502 atomize = 0.1.1
503 buildout-versions = 1.7
504 cElementTree = 1.0.5-20051216
505 chardet = 1.0.1
506 cloudooo = 1.2.3
507 cloudooo.handler.ffmpeg = 0.1
508 cloudooo.handler.imagemagick = 0.1
509 cloudooo.handler.ooo = 0.2
510 cloudooo.handler.pdf = 0.1
511 coverage = 3.5.1
512 csp-eventlet = 0.7.0
513 elementtree = 1.2.7-20070827-preview
514 erp5.recipe.cmmiforcei686 = 0.1.3
515 erp5.util = 0.4.1
516 erp5diff = 0.8.1.5
517 eventlet = 0.9.16
518 feedparser = 5.1.1
519 five.localsitemanager = 2.0.5
520 fpconst = 0.7.2
521 gitdb = 0.5.4
522 greenlet = 0.3.4
523 hexagonit.recipe.cmmi = 1.5.0
524 # Use patched hexagonit.recipe.download from
525 # https://github.com/SlapOS/hexagonit.recipe.download
526 hexagonit.recipe.download = 1.5.1-dev-slapos-001
527 http-parser = 0.7.5
528 huBarcode = 0.63
529 inotifyx = 0.2.0
530 ipdb = 0.6.1
531 ipython = 0.12
532 meld3 = 0.6.8
533 netaddr = 0.7.6
534 netifaces = 0.8
535 ordereddict = 1.1
536 paramiko = 1.7.7.1
537 plone.recipe.command = 1.1
538 ply = 3.4
539 psutil = 0.4.1
540 python-ldap = 2.4.9
541 python-magic = 0.4.2
542 python-memcached = 1.47
543 restkit = 4.1.2
544 rtjp-eventlet = 0.3.2
545 setuptools = 0.6c12dev-r88846
546 slapos.core = 0.24
547 slapos.recipe.build = 0.7
548 slapos.recipe.template = 2.3
549 slapos.toolbox = 0.23
550 smmap = 0.8.2
551 socketpool = 0.3.0
552 supervisor = 3.0a12
553 threadframe = 0.2
554 timerserver = 2.0.2
555 urlnorm = 1.1.2
556 uuid = 1.30
557 validictory = 0.8.3
558 xml-marshaller = 0.9.7
559 xupdate-processor = 0.4