slapos.tool.networkcache was removed from pypi.
[slapos.git] / stack / erp5.cfg
1 [buildout]
2 extensions =
3   slapos.rebootstrap
4   slapos.zcbworkarounds
5   mr.developer
6
7 find-links =
8     http://www.nexedi.org/static/packages/source/slapos.buildout/
9     http://dist.repoze.org
10     http://www.nexedi.org/static/packages/source/
11
12 extends =
13 # Exact version of Zope
14   http://svn.zope.org/repos/main/Zope/tags/2.12.18/versions.cfg
15   ../component/logrotate/buildout.cfg
16   ../component/dcron/buildout.cfg
17   ../component/file/buildout.cfg
18   ../component/fonts/buildout.cfg
19   ../component/ghostscript/buildout.cfg
20   ../component/git/buildout.cfg
21   ../component/glib/buildout.cfg
22   ../component/graphviz/buildout.cfg
23   ../component/haproxy/buildout.cfg
24   ../component/hookbox/buildout.cfg
25   ../component/imagemagick/buildout.cfg
26   ../component/kumo/buildout.cfg
27   ../component/libreoffice-bin/buildout.cfg
28   ../component/lxml-python/buildout.cfg
29   ../component/mariadb/buildout.cfg
30   ../component/memcached/buildout.cfg
31   ../component/mysql-python/buildout.cfg
32   ../component/pdftk/buildout.cfg
33   ../component/pysvn-python/buildout.cfg
34   ../component/python-2.6/buildout.cfg
35   ../component/python-2.7/buildout.cfg
36   ../component/python-ldap-python/buildout.cfg
37   ../component/rdiff-backup/buildout.cfg
38   ../component/stunnel/buildout.cfg
39   ../component/subversion/buildout.cfg
40   ../component/tesseract/buildout.cfg
41   ../component/varnish/buildout.cfg
42   ../component/w3-validator/buildout.cfg
43   ../component/w3m/buildout.cfg
44   ../component/xorg/buildout.cfg
45   ../component/xpdf/buildout.cfg
46   ../component/xtrabackup/buildout.cfg
47   ../component/zabbix/buildout.cfg
48   ../component/sed/buildout.cfg
49   ../component/coreutils/buildout.cfg
50   ../component/grep/buildout.cfg
51
52 versions = versions
53
54 parts =
55   itools-build
56   rdiff-backup
57   apache
58   apache-antiloris
59   file
60   graphviz
61   memcached
62   haproxy
63   varnish-2.1
64   stunnel
65   w3m
66   xpdf
67   libpng12
68   ghostscript
69   mariadb
70   imagemagick
71   kumo
72   libreoffice-bin
73   w3-validator
74   tesseract-eng-traineddata-unzip
75   tesseract
76   hookbox
77   bootstrap2.6
78   zabbix-agent
79   pdftk
80   dcron
81
82 # Buildoutish
83   eggs
84   instance-recipe-egg
85   testrunner
86   test_suite_runner
87
88 # basic Xorg
89   libXdmcp
90   libXext
91   libXau
92   libX11
93
94 # fonts
95   liberation-fonts
96   ipaex-fonts
97
98 # Zope products
99   products-deps
100
101 # Cloudooo specific part
102   cloudooo
103
104 # get git repositories
105   erp5
106
107 [products]
108 # XXX: ERP5 related products are not defined as python distributions, so it is
109 #      required to configure them in declarative manner
110 list = ${products-deps:location} ${erp5:location}/product
111
112 [bootstrap2.6]
113 python = python2.6
114
115 [rebootstrap]
116 # Default first version of rebootstrapped python
117 version = 2
118 section = python2.7
119
120 [template]
121 # Default template for erp5 instance.
122 recipe = slapos.cookbook:template
123 url = ${:_profile_base_location_}/instance.cfg
124 md5sum = 16d09f1964101bbe128a81c7ffcf996e
125 output = ${buildout:directory}/template.cfg
126 mode = 0644
127
128 [itools]
129 pkgname = itools-0.50.8
130 location = ${buildout:parts-directory}/${:_buildout_section_name_}
131 lib = ${:location}/lib
132 source = ${:location}/src
133
134 # ugly itools building sections until itools and setuptools learn to get
135 # along:
136
137 [itools-download]
138 recipe = hexagonit.recipe.download
139 strip-top-level-dir = true
140 url = http://download.hforge.org/itools/0.50/${itools:pkgname}.tar.gz
141 md5sum = 12704cc354e2201e0921a832bf6b1556
142 destination = ${itools:source}
143
144 [itools-build]
145 recipe = plone.recipe.command
146 # reference itools-download:destination instead of itools:source to trigger its
147 # execution
148 # here, we unset PYTHONPATH to invoke different python than buildout one.
149 command =
150     cd ${itools-download:destination} &&
151     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 &&
152     PYTHONPATH= ${python2.6:executable} setup.py install_lib -d ${itools:lib}
153
154 update-command = ${:command}
155 location = ${itools:location}
156 stop-on-error = true
157
158 [products-deps]
159 # Recipe minitage.recipe.fetch is disabled, as it uses PATH variable, but it
160 # is not possible to change its environment to use localy delivered subversion
161 # nor git. plone.recipe.command can do same job, but it is controllable which
162 # binary will be used
163 recipe = plone.recipe.command
164 svn_param =--trust-server-cert --non-interactive --quiet
165 location = ${buildout:parts-directory}/${:_buildout_section_name_}
166 stop-on-error = true
167 command =
168   ${subversion:location}/bin/svn checkout ${:svn_param} https://svn.plone.org/svn/collective/ExtFile/trunk ${:location}/ExtFile &&
169   ${git:location}/bin/git clone --quiet git://git.hforge.org/Localizer.git ${:location}/Localizer
170 update-command =
171   if ${buildout:newest}; then
172     ${subversion:location}/bin/svn checkout ${:svn_param} https://svn.plone.org/svn/collective/ExtFile/trunk ${:location}/ExtFile &&
173     cd ${:location}/Localizer &&
174     ${git:location}/bin/git pull --quiet
175   fi
176
177 [erp5_repository_list]
178 repository_id_list = erp5
179
180 [erp5]
181 # Recipe zerokspot.recipe.git is disabled, as is not possible to change its
182 # environment to use localy delivered git.
183 # plone.recipe.command can do same job, but it is controllable which binary
184 # will be used
185 recipe = plone.recipe.command
186 location = ${buildout:parts-directory}/${:_buildout_section_name_}
187 stop-on-error = true
188 repository = http://git.erp5.org/repos/erp5.git
189 branch = master
190 command = ${git:location}/bin/git clone --quiet -b ${:branch} ${:repository} ${:location}
191 update-command = cd ${:location} && ${git:location}/bin/git pull --quiet
192
193 [products]
194 # XXX: ERP5 related products are not defined as python distributions, so it is
195 #      required to configure them in declarative manner
196 list = ${products-deps:location} ${buildout:parts-directory}/erp5/product
197
198 [testrunner]
199 # XXX: Workaround for fact ERP5Type is not an distribution and does not
200 #      expose entry point for test runner
201 recipe = zc.recipe.egg
202 python = python2.6
203 eggs = ${eggs:eggs}
204 extra-paths = ${eggs:extra-paths}
205 entry-points =
206   runUnitTest=Products.ERP5Type.tests.runUnitTest:main
207 scripts = runUnitTest
208 initialization =
209   import os
210   import sys
211   import Products
212   [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
213   Products.__path__.extend(reversed('''${products:list}'''.split()))
214   import Zope2
215   os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
216   os.environ['ZOPE_SCRIPTS'] = ''
217   temp_bt5_path_list = ['/'.join(['''${buildout:parts-directory}''', x, 'bt5']) for x in '''${erp5_repository_list:repository_id_list}'''.split(' ')]
218   bt5_path_list = []
219   [bt5_path_list.extend([bt5_path, '%s/*' % bt5_path]) for bt5_path in temp_bt5_path_list]
220   os.environ['erp5_tests_bt5_path'] = ','.join(bt5_path_list)
221   sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x, 'tests']) for x in '''${erp5_repository_list:repository_id_list}'''.split(' ')]
222   import glob
223   product_test_path_list = []
224   [product_test_path_list.extend(glob.glob('/'.join(['''${buildout:parts-directory}''', x, 'product/*/tests']))) for x in '''${erp5_repository_list:repository_id_list}'''.split(' ')]
225   sys.path[0:0] = product_test_path_list
226
227 [test_suite_runner]
228 # XXX: Workaround for fact ERP5Type is not an distribution and does not
229 #      expose entry point for test runner
230 recipe = zc.recipe.egg
231 python = python2.6
232 eggs = ${eggs:eggs}
233 extra-paths = ${eggs:extra-paths}
234 entry-points =
235   runTestSuite=Products.ERP5Type.tests.runTestSuite:main
236 scripts = runTestSuite
237 initialization =
238   import os
239   import sys
240   import Products
241   [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
242   Products.__path__.extend(reversed('''${products:list}'''.split()))
243   import Zope2
244   os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
245   os.environ['ZOPE_SCRIPTS'] = ''
246   sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in '''${erp5_repository_list:repository_id_list}'''.split(' ')]
247
248 [instance-recipe-egg]
249 recipe = zc.recipe.egg
250 python = python2.6
251 eggs =
252 # instantiation egg
253   ${instance-recipe:egg}
254   erp5.conflictresolver
255
256 [eggs]
257 recipe = zc.recipe.egg
258 python = python2.6
259 eggs =
260   ${mysql-python:egg}
261   ${lxml-python:egg}
262   ${python-ldap-python:egg}
263   ${pysvn-python:egg}
264   pycrypto
265   PyXML
266   SOAPpy
267   cElementTree
268   chardet
269   elementtree
270   erp5diff
271   ipdb
272   mechanize
273   numpy
274   ordereddict
275   paramiko
276   ply
277   python-magic
278   python-memcached
279   pytz
280   threadframe
281   timerserver
282   urlnorm
283   uuid
284   xml_marshaller
285   xupdate_processor
286   feedparser
287   argparse
288
289 # Zope 2.12 with patched acquisition
290   ZODB3
291   Zope2
292   Acquisition
293
294 # Other Zope 2 packages
295   Products.PluggableAuthService
296   Products.PluginRegistry
297
298 # CMF 2.2
299   Products.CMFActionIcons
300   Products.CMFCalendar
301   Products.CMFCore
302   Products.CMFDefault
303   Products.CMFTopic
304   Products.CMFUid
305   Products.DCWorkflow
306   Products.GenericSetup
307   five.localsitemanager
308
309 # Other products
310   Products.DCWorkflowGraph
311   Products.MimetypesRegistry
312   Products.ExternalEditor
313   Products.TIDStorage
314   Products.Zelenium
315
316 # Currently forked in our repository
317 #    Products.PortalTransforms
318 # Dependency for our fork of PortalTransforms
319   StructuredText
320
321 # parameterizing the version of the generated python interpreter name by the
322 # python section version causes dependency between this egg section and the
323 # installation of python, which we don't want on an instance
324 interpreter = python2.6
325 scripts =
326   repozo
327   runzope
328   runzeo
329   tidstoraged
330   tidstorage_repozo
331
332 extra-paths =
333   ${itools:location}/lib
334
335 [mysql-python]
336 python = python2.6
337
338 [lxml-python]
339 python = python2.6
340
341 [python-ldap-python]
342 python = python2.6
343
344 [pysvn-python]
345 python = python2.6
346
347 [cloudooo]
348 recipe = zc.recipe.egg
349 python = python2.6
350 eggs =
351   ${lxml-python:egg}
352   cloudooo.handler.ffmpeg
353   cloudooo.handler.imagemagick
354   cloudooo.handler.ooo
355   cloudooo.handler.pdf
356   cloudooo
357   PasteScript
358 scripts =
359   paster=cloudooo_paster
360
361 [versions]
362 # Use SlapOS patched zc.buildout
363 zc.buildout = 1.5.3-dev-SlapOS-001
364
365 # pin Acquisition and Products.DCWorkflow to Nexedi flavour of eggs
366 Acquisition = 2.13.7nxd001
367 Products.DCWorkflow = 2.2.3nxd002
368
369 # Known version with works
370 numpy = 1.3.0
371 # Patched version which support python 2.6
372 PyXML = 0.8.4nxd001
373 # modified version that works fine for buildout installation
374 SOAPpy = 0.12.0nxd001
375 # we are still using this old stable version.
376 rdiff-backup = 1.0.5
377
378 # Zope Known Good Set is incompatible with buildout 1.5.0 in case of
379 # distribute and zc.buildout, and as ERP5 Appliance trunk wants to use
380 # the newest versions of buildout infrastructure clear the pin
381 distribute =
382 setuptools =
383
384 # official pysvn egg does not supports --include-dirs and
385 # --library-dirs, so we use our modified version
386 pysvn = 1.7.4nxd006