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