4 ${:parts-directory}/slapos.cookbook-repository
5 ${:parts-directory}/cloudooo-repository
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
14 allow-hosts += pybrary.net
17 # Exact version of Zope
18 https://raw.github.com/zopefoundation/Zope/2.13.22/versions.cfg
19 ../../stack/slapos.cfg
20 ../../component/logrotate/buildout.cfg
21 ../../component/cups/buildout.cfg
22 ../../component/dbus/buildout.cfg
23 ../../component/dcron/buildout.cfg
24 ../../component/file/buildout.cfg
25 ../../component/fonts/buildout.cfg
26 ../../component/ghostscript/buildout.cfg
27 ../../component/git/buildout.cfg
28 ../../component/graphviz/buildout.cfg
29 ../../component/gzip/buildout.cfg
30 ../../component/haproxy/buildout.cfg
31 ../../component/hookbox/buildout.cfg
32 ../../component/librsvg/buildout.cfg
33 ../../component/imagemagick/buildout.cfg
34 ../../component/inkscape/buildout.cfg
35 ../../component/kumo/buildout.cfg
36 ../../component/libdmtx/buildout.cfg
37 ../../component/libffi/buildout.cfg
38 ../../component/libpng/buildout.cfg
39 ../../component/libreoffice-bin/buildout.cfg
40 ../../component/lxml-python/buildout.cfg
41 ../../component/percona-toolkit/buildout.cfg
42 ../../component/mariadb/buildout.cfg
43 ../../component/mysql-python/buildout.cfg
44 ../../component/patch/buildout.cfg
45 ../../component/pil-python/buildout.cfg
46 ../../component/pycrypto-python/buildout.cfg
47 ../../component/pysvn-python/buildout.cfg
48 ../../component/python-2.7/buildout.cfg
49 ../../component/python-ldap-python/buildout.cfg
50 ../../component/rdiff-backup/buildout.cfg
51 ../../component/stunnel/buildout.cfg
52 ../../component/subversion/buildout.cfg
53 ../../component/tesseract/buildout.cfg
54 ../../component/varnish/buildout.cfg
55 ../../component/w3-validator/buildout.cfg
56 ../../component/w3m/buildout.cfg
57 ../../component/xorg/buildout.cfg
58 ../../component/poppler/buildout.cfg
59 ../../component/xtrabackup/buildout.cfg
60 ../../component/zabbix/buildout.cfg
61 ../../component/sed/buildout.cfg
62 ../../component/coreutils/buildout.cfg
63 ../../component/grep/buildout.cfg
64 ../../component/dash/buildout.cfg
65 ../../component/wget/buildout.cfg
66 ../../component/aspell/buildout.cfg
67 ../../component/cloudooo/buildout.cfg
68 ../../component/jsl/buildout.cfg
125 # Cloudooo specific part
128 # get git repositories
132 # fix products path (Zeo needs ERP5 Products to be available for
133 # conflict resolution)
135 # some additional utils
140 slapos.cookbook-repository
142 # Create instance template
146 [slapos.cookbook-repository]
147 recipe = slapos.recipe.build:gitclone
148 repository = http://git.erp5.org/repos/slapos.git
150 revision = 37e8251765da7c80e6470a28c8c07c70ec30e7c6
151 git-executable = ${git:location}/bin/git
154 recipe = plone.recipe.command
156 update-command = ${:command}
157 command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link
159 [template-jinja2-base]
160 recipe = slapos.recipe.template:jinja2
161 template = ${:_profile_base_location_}/${:filename}.in
162 rendered = ${buildout:directory}/${:filename}
163 # XXX: extra-context is needed because we cannot append to a key of an extended
167 key bin_directory buildout:bin-directory
168 key develop_eggs_directory buildout:develop-eggs-directory
169 key eggs_directory buildout:eggs-directory
170 key slapos_core_version versions:slapos.core
174 < = template-jinja2-base
175 filename = instance-mariadb.cfg
176 md5sum = 49ae6f1bf97d3755978fe08b8e29fb5a
178 key coreutils_location coreutils:location
179 key dcron_location dcron:location
180 key gettext_location gettext:location
181 key grep_location grep:location
182 key gzip_location gzip:location
183 key logrotate_location logrotate:location
184 key mariadb_location mariadb:location
185 key perl_location perl:location
186 key perl_siteprefix perl:siteprefix
187 key sed_location sed:location
188 key xtrabackup_location xtrabackup:location
191 recipe = slapos.recipe.build:download
192 url = ${:_profile_base_location_}/instance-zope.cfg.in
193 md5sum = 23baedc096a3ee046d2efe2195e19b96
197 < = template-jinja2-base
198 filename = instance-kumofs.cfg
199 md5sum = 40817014a41497bceb696e512436e670
201 key dash_location dash:location
202 key dcron_location dcron:location
203 key gzip_location gzip:location
204 key kumo_location kumo:location
205 key logrotate_location logrotate:location
207 [template-tidstorage]
208 recipe = slapos.recipe.build:download
209 url = ${:_profile_base_location_}/instance-tidstorage.cfg.in
210 md5sum = 2bc13fc6cd52c7b8e2b4ddb99a69974b
214 recipe = slapos.recipe.build:download
215 url = ${:_profile_base_location_}/instance-cloudoo.cfg.in
216 md5sum = 45f8a58568fb7e6eb832802551f3ff03
220 recipe = slapos.recipe.build:download
221 url = ${:_profile_base_location_}/zope.conf.in
222 md5sum = bc2154161a1d5baddc4ed4dfaaf94fbe
226 < = template-jinja2-base
227 # XXX: "template.cfg" is hardcoded in instanciation recipe
228 filename = template.cfg
229 template = ${:_profile_base_location_}/instance.cfg.in
230 md5sum = 66a1be44c72437d87a7b609eb58c3526
232 key apache_location apache:location
233 key aspell_location aspell:location
234 key buildout_bin_directory buildout:bin-directory
235 key coreutils_location coreutils:location
236 key cups_location cups:location
237 key curl_location curl:location
238 key dash_location dash:location
239 key dbus_location dbus:location
240 key dbus_glib_location dbus-glib:location
241 key dcron_location dcron:location
242 key dmtx_utils_location dmtx-utils:location
243 key erp5_location erp5:location
244 key file_location file:location
245 key fontconfig_location fontconfig:location
246 key fonts_location fonts:location
247 key freetype_location freetype:location
248 key git_location git:location
249 key graphviz_location graphviz:location
250 key grep_location grep:location
251 key glib_location glib:location
252 key gzip_location gzip:location
253 key haproxy_location haproxy:location
254 key imagemagick_location imagemagick:location
255 key jsl_location jsl:location
256 key libICE_location libICE:location
257 key libSM_location libSM:location
258 key libX11_location libX11:location
259 key libXau_location libXau:location
260 key libXdmcp_location libXdmcp:location
261 key libXext_location libXext:location
262 key libXrender_location libXrender:location
263 key libffi_location libffi:location
264 key libpng12_location libpng12:location
265 key libreoffice_bin_location libreoffice-bin:location
266 key librsvg_location librsvg:location
267 key libxcb_location libxcb:location
268 key local_bt5_repository local-bt5-repository:list
269 key logrotate_location logrotate:location
270 key mariadb_location mariadb:location
271 key openssl_location openssl:location
272 key poppler_location poppler:location
273 key sed_location sed:location
274 key stunnel_location stunnel:location
275 key template_cloudooo template-cloudooo:target
276 key template_erp5_single template-erp5-single:target
277 key template_erp5_cluster template-erp5-cluster:target
278 key template_kumofs template-kumofs:rendered
279 key template_mariadb template-mariadb:rendered
280 key template_memcached template-memcached:rendered
281 key template_tidstorage template-tidstorage:target
282 key template_varnish template-varnish:target
283 key template_zope template-zope:target
284 key template_zope_conf template-zope-conf:target
285 key tesseract_location tesseract:location
286 key varnish_location varnish-3.0:location
287 key w3m_location w3m:location
288 key wget_location wget:location
289 key zlib_location zlib:location
292 < = template-jinja2-base
293 filename = instance-memcached.cfg
294 md5sum = 346c864c1f119360eddb5e163f16d4f3
296 key dash_location dash:location
297 key dcron_location dcron:location
298 key gzip_location gzip:location
299 key kumo_location kumo:location
300 key logrotate_location logrotate:location
302 [template-erp5-single]
303 recipe = slapos.recipe.build:download
304 url = ${:_profile_base_location_}/instance-erp5-single.cfg.in
305 md5sum = becf4faf3df849bb90ddf5f587f02d5e
308 [template-erp5-cluster]
309 recipe = slapos.recipe.build:download
310 url = ${:_profile_base_location_}/instance-erp5-cluster.cfg.in
311 md5sum = f4c9cdbbac82232b84db080461bd0007
315 recipe = slapos.recipe.build:download
316 url = ${:_profile_base_location_}/instance-varnish.cfg.in
317 md5sum = ae0465591c22c0cb316c1706965c6b18
322 # <url or path> [...]
324 # Use absolute paths for local repositories, and URLs for non-local otherwise.
326 list = ${local-bt5-repository:list}
328 [local-bt5-repository]
329 # Same as bt5-repository, but only local repository.
330 # Used to generate bt5lists.
331 list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap
334 recipe = plone.recipe.command
336 genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
338 ${buildout:executable} ${:genbt5list} ${local-bt5-repository:list}
339 update-command = ${:command}
341 [erp5_repository_list]
342 repository_id_list = erp5
345 recipe = slapos.recipe.build:gitclone
346 repository = http://git.erp5.org/repos/erp5.git
348 revision = a8f6c841b736091efbbc4e1416db783cdc2e5fee
349 git-executable = ${git:location}/bin/git
352 recipe = plone.recipe.command
354 dir = ${erp5:location}
356 rm -f "${:dir}/Products" && ln -s product "${:dir}/Products" && touch "${:dir}/product/__init__.py"
357 update-command = ${:command}
360 # XXX: Workaround for fact ERP5Type is not an distribution and does not
361 # expose entry point for test runner
362 recipe = zc.recipe.egg
364 extra-paths = ${eggs:extra-paths}
366 runUnitTest=runUnitTest:main
367 scripts = runUnitTest
369 import glob, imp, os, sys
370 import App # prevent Testing from importing Zope2.App instead of App
372 Products.__path__[:0] = filter(None,
373 os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
374 os.environ['SOFTWARE_HOME'] = os.path.abspath(imp.find_module('Zope2')[1])
375 os.environ['ZOPE_SCRIPTS'] = ''
376 parts_directory = '''${buildout:parts-directory}'''
377 repository_id_list = \
378 '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
379 os.environ['erp5_tests_bt5_path'] = ','.join(sum((
380 [bt5_path, os.path.join(bt5_path, '*')]
381 for bt5_path in (os.path.join(parts_directory, x, 'bt5')
382 for x in repository_id_list)), []))
383 extra_path_list = '''${:extra-paths}'''.split()
385 glob.glob(os.path.join(x, 'tests'))
386 for x in extra_path_list), [])
388 glob.glob(os.path.join(x, 'Products', '*', 'tests'))
389 for x in extra_path_list), [])
391 glob.glob(os.path.join(x, 'Products', '*', 'tests'))
392 for x in os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep)), [])
393 os.environ['PATH'] = '${jsl:location}/bin:%s' % os.environ['PATH']
394 os.environ['CGI_PATH'] = '${w3-validator:location}/httpd/cgi-bin'
397 # XXX: Workaround for fact ERP5Type is not an distribution and does not
398 # expose entry point for test runner
399 recipe = zc.recipe.egg
401 extra-paths = ${eggs:extra-paths}
403 runTestSuite=Products.ERP5Type.tests.runTestSuite:main
404 scripts = runTestSuite
409 [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
411 os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
412 os.environ['ZOPE_SCRIPTS'] = ''
413 repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
414 sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
417 recipe = minitage.recipe.egg
422 Acquisition-patches = ${:_profile_base_location_}/../../component/egg-patch/Acquisition/aq_dynamic.patch
423 Acquisition-patch-options = -p1
424 Acquisition-patch-binary = ${patch:location}/bin/patch
425 Products.DCWorkflow-patches = ${:_profile_base_location_}/../../component/egg-patch/Products.DCWorkflow/workflow_method.patch
426 Products.DCWorkflow-patch-options = -p1
427 Products.DCWorkflow-patch-binary = ${patch:location}/bin/patch
428 ZODB3-patches = ${:_profile_base_location_}/../../component/egg-patch/ZODB3-3.10.5.patch
429 ZODB3-patch-options = -p1
430 ZODB3-patch-binary = ${patch:location}/bin/patch
433 recipe = zc.recipe.egg
438 ${python-ldap-python:egg}
440 ${pycrypto-python:egg}
478 # Needed for checking ZODB Components source code
484 # Zope acquisition patch
487 # Other Zope 2 packages
488 Products.PluggableAuthService
489 Products.PluginRegistry
492 Products.CMFActionIcons
499 Products.GenericSetup
500 five.localsitemanager
503 Products.DCWorkflowGraph
504 Products.MimetypesRegistry
505 Products.ExternalEditor
507 Products.LongRequestLogger
509 # BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
510 # (for tests like testCookieCrumbler).
513 # Currently forked in our repository
514 # Products.PortalTransforms
515 # Dependency for our fork of PortalTransforms
518 # Needed for parsing .po files from our Localizer subset
521 # parameterizing the version of the generated python interpreter name by the
522 # python section version causes dependency between this egg section and the
523 # installation of python, which we don't want on an instance
524 interpreter = ${buildout:python}
531 web_checker_utility = erp5.util.webchecker:web_checker_utility
537 recipe = zc.recipe.egg
542 zodbanalyze=erp5.util.zodbanalyze:main
543 scripts = zodbanalyze
545 [cloudooo-repository]
547 revision = 349b179f820c4a096757dda61f620166329cb00b
550 recipe = zc.recipe.egg
554 slapos.toolbox[zodbpack]
563 Acquisition = 2.13.8-ZMinitagePatched-AqDynamic
564 Products.DCWorkflow = 2.2.4-ZMinitagePatched-WorkflowMethod
565 ZODB3 = 3.10.5-ZMinitagePatched-ZODB33105
567 # specify dev version to be sure that an old released version is not used
570 # use newer version than specified in ZTK
580 # huBarcode 1.0.0 has an issue with importing PIL.
583 # Known version with works
586 # test_UserManagerInterfaces in testERP5Security fails with 1.10.0.
587 Products.PluggableAuthService = 1.9.0
589 # official pysvn egg does not supports --include-dirs and
590 # --library-dirs, so we use our modified version
593 # use newest version of pytz
596 # we are still using this old stable version.
599 # use newest version of slapos.cookbook
602 # we need to define an explicit version of slapos.core that is propagated to instances
605 # modified version that works fine for buildout installation
606 SOAPpy = 0.12.0nxd001
608 # CMF 2.3 is not yet supported.
609 Products.CMFCalendar = 2.2.3
610 Products.CMFCore = 2.2.8
611 Products.CMFDefault = 2.2.4
612 Products.CMFTopic = 2.2.1
613 Products.CMFUid = 2.2.1
615 # newer version requires zope.traversing>=4.0.0a2.
616 zope.app.appsetup = 3.16.0
618 # newer version requires zope.i18n>=4.0.0a3
619 zope.app.publication = 3.14.0
621 # newer version requires zope.testbrowser>=4
622 zope.app.testing = 3.8.1
626 GitPython = 0.3.2.RC1
631 Products.CMFActionIcons = 2.1.3
632 Products.DCWorkflowGraph = 0.4.1
633 Products.ExternalEditor = 1.1.0
634 Products.GenericSetup = 1.7.4
635 Products.LongRequestLogger = 1.1.0
636 Products.MimetypesRegistry = 2.0.5
637 Products.PluginRegistry = 1.3
638 Products.TIDStorage = 5.4.9
639 Products.ZSQLMethods = 2.13.4
643 StructuredText = 2.11.1
646 apache-libcloud = 0.14.1
655 elementtree = 1.2.7-20070827-preview
656 erp5.recipe.cmmiforcei686 = 0.1.3
662 five.localsitemanager = 2.0.5
666 hexagonit.recipe.cmmi = 2.0
675 logilab-common = 0.61.0
678 minitage.core = 2.0.57
679 minitage.paste = 1.4.6
680 minitage.recipe.common = 1.90
681 minitage.recipe.egg = 1.107
686 plone.recipe.command = 1.1
690 prettytable = 0.7.3-nxd001
697 python-memcached = 1.53
701 rtjp-eventlet = 0.3.2
703 slapos.recipe.build = 0.11.6
704 slapos.recipe.cmmi = 0.2
705 slapos.recipe.template = 2.5
706 slapos.toolbox = 0.39
718 xml-marshaller = 0.9.7
719 xupdate-processor = 0.4
720 zope.app.debug = 3.4.1
721 zope.app.dependable = 3.5.1
722 zope.app.form = 4.0.2