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