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