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