Merge remote-tracking branch 'origin/master' into erp5-component
[slapos.git] / stack / erp5 / buildout.cfg
1 [buildout]
2 # Local development
3 develop =
4   ${:parts-directory}/slapos.cookbook-repository
5   ${:parts-directory}/cloudooo-repository
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 allow-hosts += pybrary.net
15
16 extends =
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
69
70 parts =
71   rdiff-backup
72   aspell
73   aspell-en-dictionary
74   apache
75   apache-antiloris
76   file
77   graphviz
78   haproxy
79   jsl
80   stunnel
81   varnish-3.0
82   w3m
83   poppler
84   libpng
85   ghostscript
86   mariadb
87   mroonga-mariadb
88   imagemagick
89   inkscape
90   libdmtx
91   dmtx-utils
92   kumo
93   libreoffice-bin
94   w3-validator
95   tesseract
96   hookbox
97   perl-DBD-mariadb
98   perl-DBI
99   percona-toolkit
100   zabbix-agent
101   dcron
102   dash
103   wget
104
105 # Buildoutish
106   patched-eggs
107   eggs
108   testrunner
109   test_suite_runner
110
111 # basic Xorg
112   libXdmcp
113   libXext
114   libXau
115   libSM
116   libXrender
117
118 # fonts
119   liberation-fonts
120   ipaex-fonts
121   ipa-fonts
122   ocrb-fonts
123   android-fonts
124
125 # Cloudooo specific part
126   cloudooo
127
128 # get git repositories
129   erp5
130   genbt5list
131
132 # fix products path (Zeo needs ERP5 Products to be available for
133 # conflict resolution)
134   fix-products-paths
135 # some additional utils
136   slapos-toolbox
137   zodbanalyze
138
139 # Local development
140   slapos.cookbook-repository
141   check-recipe
142 # Create instance template
143   template
144
145 # Local development
146 [slapos.cookbook-repository]
147 recipe = slapos.recipe.build:gitclone
148 repository = http://git.erp5.org/repos/slapos.git
149 branch = erp5-component
150 git-executable = ${git:location}/bin/git
151
152 [check-recipe]
153 recipe = plone.recipe.command
154 stop-on-error = true
155 update-command = ${:command}
156 command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link
157
158 [template-jinja2-base]
159 recipe = slapos.recipe.template:jinja2
160 template = ${:_profile_base_location_}/${:filename}.in
161 rendered = ${buildout:directory}/${:filename}
162 # XXX: extra-context is needed because we cannot append to a key of an extended
163 # section.
164 extra-context =
165 context =
166     key bin_directory buildout:bin-directory
167     key develop_eggs_directory buildout:develop-eggs-directory
168     key eggs_directory buildout:eggs-directory
169     key slapos_core_version versions:slapos.core
170     ${:extra-context}
171
172 [template-mariadb]
173 < = template-jinja2-base
174 filename = instance-mariadb.cfg
175 md5sum = 49ae6f1bf97d3755978fe08b8e29fb5a
176 extra-context =
177     key coreutils_location coreutils:location
178     key dcron_location dcron:location
179     key gettext_location gettext:location
180     key grep_location grep:location
181     key gzip_location gzip:location
182     key logrotate_location logrotate:location
183     key mariadb_location mariadb:location
184     key perl_location perl:location
185     key perl_siteprefix perl:siteprefix
186     key sed_location sed:location
187     key xtrabackup_location xtrabackup:location
188
189 [template-zope]
190 recipe = slapos.recipe.build:download
191 url = ${:_profile_base_location_}/instance-zope.cfg.in
192 md5sum = 23baedc096a3ee046d2efe2195e19b96
193 mode = 640
194
195 [template-kumofs]
196 < = template-jinja2-base
197 filename = instance-kumofs.cfg
198 md5sum = 40817014a41497bceb696e512436e670
199 extra-context =
200     key dash_location dash:location
201     key dcron_location dcron:location
202     key gzip_location gzip:location
203     key kumo_location kumo:location
204     key logrotate_location logrotate:location
205
206 [template-tidstorage]
207 recipe = slapos.recipe.build:download
208 url = ${:_profile_base_location_}/instance-tidstorage.cfg.in
209 md5sum = 2bc13fc6cd52c7b8e2b4ddb99a69974b
210 mode = 640
211
212 [template-cloudooo]
213 recipe = slapos.recipe.build:download
214 url = ${:_profile_base_location_}/instance-cloudoo.cfg.in
215 md5sum = 45f8a58568fb7e6eb832802551f3ff03
216 mode = 640
217
218 [template-zope-conf]
219 recipe = slapos.recipe.build:download
220 url = ${:_profile_base_location_}/zope.conf.in
221 md5sum = bc2154161a1d5baddc4ed4dfaaf94fbe
222 mode = 640
223
224 [template]
225 < = template-jinja2-base
226 # XXX: "template.cfg" is hardcoded in instanciation recipe
227 filename = template.cfg
228 template = ${:_profile_base_location_}/instance.cfg.in
229 md5sum = 66a1be44c72437d87a7b609eb58c3526
230 extra-context =
231     key apache_location apache:location
232     key aspell_location aspell:location
233     key buildout_bin_directory buildout:bin-directory
234     key coreutils_location coreutils:location
235     key cups_location cups:location
236     key curl_location curl:location
237     key dash_location dash:location
238     key dbus_location dbus:location
239     key dbus_glib_location dbus-glib:location
240     key dcron_location dcron:location
241     key dmtx_utils_location dmtx-utils:location
242     key erp5_location erp5:location
243     key file_location file:location
244     key fontconfig_location fontconfig:location
245     key fonts_location fonts:location
246     key freetype_location freetype:location
247     key git_location git:location
248     key graphviz_location graphviz:location
249     key grep_location grep:location
250     key glib_location glib:location
251     key gzip_location gzip:location
252     key haproxy_location haproxy:location
253     key imagemagick_location imagemagick:location
254     key jsl_location jsl:location
255     key libICE_location libICE:location
256     key libSM_location libSM:location
257     key libX11_location libX11:location
258     key libXau_location libXau:location
259     key libXdmcp_location libXdmcp:location
260     key libXext_location libXext:location
261     key libXrender_location libXrender:location
262     key libffi_location libffi:location
263     key libpng12_location libpng12:location
264     key libreoffice_bin_location libreoffice-bin:location
265     key librsvg_location librsvg:location
266     key libxcb_location libxcb:location
267     key local_bt5_repository local-bt5-repository:list
268     key logrotate_location logrotate:location
269     key mariadb_location mariadb:location
270     key openssl_location openssl:location
271     key poppler_location poppler:location
272     key sed_location sed:location
273     key stunnel_location stunnel:location
274     key template_cloudooo template-cloudooo:target
275     key template_erp5_single template-erp5-single:target
276     key template_erp5_cluster template-erp5-cluster:target
277     key template_kumofs template-kumofs:rendered
278     key template_mariadb template-mariadb:rendered
279     key template_memcached template-memcached:rendered
280     key template_tidstorage template-tidstorage:target
281     key template_varnish template-varnish:target
282     key template_zope template-zope:target
283     key template_zope_conf template-zope-conf:target
284     key tesseract_location tesseract:location
285     key varnish_location varnish-3.0:location
286     key w3m_location w3m:location
287     key wget_location wget:location
288     key zlib_location zlib:location
289
290 [template-memcached]
291 < = template-jinja2-base
292 filename = instance-memcached.cfg
293 md5sum = 346c864c1f119360eddb5e163f16d4f3
294 extra-context =
295     key dash_location dash:location
296     key dcron_location dcron:location
297     key gzip_location gzip:location
298     key kumo_location kumo:location
299     key logrotate_location logrotate:location
300
301 [template-erp5-single]
302 recipe = slapos.recipe.build:download
303 url = ${:_profile_base_location_}/instance-erp5-single.cfg.in
304 md5sum = becf4faf3df849bb90ddf5f587f02d5e
305 mode = 640
306
307 [template-erp5-cluster]
308 recipe = slapos.recipe.build:download
309 url = ${:_profile_base_location_}/instance-erp5-cluster.cfg.in
310 md5sum = f4c9cdbbac82232b84db080461bd0007
311 mode = 640
312
313 [template-varnish]
314 recipe = slapos.recipe.build:download
315 url = ${:_profile_base_location_}/instance-varnish.cfg.in
316 md5sum = ae0465591c22c0cb316c1706965c6b18
317 mode = 640
318
319 [bt5-repository]
320 # Format:
321 #   <url or path> [...]
322 #
323 # Use absolute paths for local repositories, and URLs for non-local otherwise.
324 #
325 list = ${local-bt5-repository:list}
326
327 [local-bt5-repository]
328 # Same as bt5-repository, but only local repository.
329 # Used to generate bt5lists.
330 list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap
331
332 [genbt5list]
333 recipe = plone.recipe.command
334 stop-on-error = true
335 genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
336 command =
337   ${buildout:executable} ${:genbt5list} ${local-bt5-repository:list}
338 update-command = ${:command}
339
340 [erp5_repository_list]
341 repository_id_list = erp5
342
343 [erp5]
344 recipe = slapos.recipe.build:gitclone
345 repository = http://git.erp5.org/repos/erp5.git
346 branch = erp5-component
347 git-executable = ${git:location}/bin/git
348
349 [fix-products-paths]
350 recipe = plone.recipe.command
351 stop-on-error = true
352 dir = ${erp5:location}
353 command =
354   rm -f "${:dir}/Products" && ln -s product "${:dir}/Products" && touch "${:dir}/product/__init__.py"
355 update-command = ${:command}
356
357 [testrunner]
358 # XXX: Workaround for fact ERP5Type is not an distribution and does not
359 #      expose entry point for test runner
360 recipe = zc.recipe.egg
361 eggs = ${eggs:eggs}
362 extra-paths = ${eggs:extra-paths}
363 entry-points =
364   runUnitTest=runUnitTest:main
365 scripts = runUnitTest
366 initialization =
367   import glob, imp, os, sys
368   import App # prevent Testing from importing Zope2.App instead of App
369   import Products
370   Products.__path__[:0] = filter(None,
371     os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
372   os.environ['SOFTWARE_HOME'] = os.path.abspath(imp.find_module('Zope2')[1])
373   os.environ['ZOPE_SCRIPTS'] = ''
374   parts_directory = '''${buildout:parts-directory}'''
375   repository_id_list = \
376     '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
377   os.environ['erp5_tests_bt5_path'] = ','.join(sum((
378     [bt5_path, os.path.join(bt5_path, '*')]
379     for bt5_path in (os.path.join(parts_directory, x, 'bt5')
380                      for x in repository_id_list)), []))
381   extra_path_list = '''${:extra-paths}'''.split()
382   sys.path[:0] = sum((
383     glob.glob(os.path.join(x, 'tests'))
384     for x in extra_path_list), [])
385   sys.path[:0] = sum((
386     glob.glob(os.path.join(x, 'Products', '*', 'tests'))
387     for x in extra_path_list), [])
388   sys.path[:0] = sum((
389     glob.glob(os.path.join(x, 'Products', '*', 'tests'))
390     for x in os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep)), [])
391   os.environ['PATH'] = '${jsl:location}/bin:%s' % os.environ['PATH']
392   os.environ['CGI_PATH'] = '${w3-validator:location}/httpd/cgi-bin'
393
394 [test_suite_runner]
395 # XXX: Workaround for fact ERP5Type is not an distribution and does not
396 #      expose entry point for test runner
397 recipe = zc.recipe.egg
398 eggs = ${eggs:eggs}
399 extra-paths = ${eggs:extra-paths}
400 entry-points =
401   runTestSuite=Products.ERP5Type.tests.runTestSuite:main
402 scripts = runTestSuite
403 initialization =
404   import os
405   import sys
406   import Products
407   [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
408   import Zope2
409   os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
410   os.environ['ZOPE_SCRIPTS'] = ''
411   repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
412   sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
413
414 [patched-eggs]
415 recipe = minitage.recipe.egg
416 eggs =
417   Acquisition
418   Products.DCWorkflow
419   ZODB3
420 Acquisition-patches = ${:_profile_base_location_}/../../component/egg-patch/Acquisition/aq_dynamic.patch
421 Acquisition-patch-options = -p1
422 Acquisition-patch-binary = ${patch:location}/bin/patch
423 Products.DCWorkflow-patches = ${:_profile_base_location_}/../../component/egg-patch/Products.DCWorkflow/workflow_method.patch
424 Products.DCWorkflow-patch-options = -p1
425 Products.DCWorkflow-patch-binary = ${patch:location}/bin/patch
426 ZODB3-patches = ${:_profile_base_location_}/../../component/egg-patch/ZODB3-3.10.5.patch
427 ZODB3-patch-options = -p1
428 ZODB3-patch-binary = ${patch:location}/bin/patch
429
430 [eggs]
431 recipe = zc.recipe.egg
432 eggs =
433   ${mysql-python:egg}
434   ${lxml-python:egg}
435   ${pil-python:egg}
436   ${python-ldap-python:egg}
437   ${pysvn-python:egg}
438   ${pycrypto-python:egg}
439   lock_file
440   PyXML
441   Pympler
442   SOAPpy
443   chardet
444   coverage
445   elementtree
446   erp5diff
447   inotifyx
448   interval
449   ipdb
450   Jinja2
451   mechanize
452   numpy
453   paramiko
454   ply
455   pyflakes
456   pypdf2
457   python-magic
458   python-memcached
459   pytz
460   requests
461   threadframe
462   timerserver
463   urlnorm
464   uuid
465   xml_marshaller
466   xupdate_processor
467   feedparser
468   argparse
469   validictory
470   erp5.util
471   huBarcode
472   qrcode
473   spyne
474   httplib2
475   suds
476   pprofile
477 # Needed for checking ZODB Components source code
478   pylint
479
480 # Zope
481   ZODB3
482   Zope2
483 # Zope acquisition patch
484   Acquisition
485
486 # Other Zope 2 packages
487   Products.PluggableAuthService
488   Products.PluginRegistry
489
490 # CMF 2.2
491   Products.CMFActionIcons
492   Products.CMFCalendar
493   Products.CMFCore
494   Products.CMFDefault
495   Products.CMFTopic
496   Products.CMFUid
497   Products.DCWorkflow
498   Products.GenericSetup
499   five.localsitemanager
500
501 # Other products
502   Products.DCWorkflowGraph
503   Products.MimetypesRegistry
504   Products.ExternalEditor
505   Products.TIDStorage
506   Products.LongRequestLogger
507
508 # BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
509 #      (for tests like testCookieCrumbler).
510   zope.app.testing
511
512 # Currently forked in our repository
513 #    Products.PortalTransforms
514 # Dependency for our fork of PortalTransforms
515   StructuredText
516
517 # Needed for parsing .po files from our Localizer subset
518   polib
519
520 # parameterizing the version of the generated python interpreter name by the
521 # python section version causes dependency between this egg section and the
522 # installation of python, which we don't want on an instance
523 interpreter = ${buildout:python}
524 scripts =
525   repozo
526   runzope
527   runzeo
528   tidstoraged
529   tidstorage_repozo
530   web_checker_utility = erp5.util.webchecker:web_checker_utility
531
532 extra-paths =
533   ${erp5:location}
534
535 [zodbanalyze]
536 recipe = zc.recipe.egg
537 eggs =
538   ZODB3
539   erp5.util
540 entry-points =
541   zodbanalyze=erp5.util.zodbanalyze:main
542 scripts = zodbanalyze
543
544 [cloudooo-repository]
545 branch =
546 revision = 349b179f820c4a096757dda61f620166329cb00b
547
548 [slapos-toolbox]
549 recipe = zc.recipe.egg
550 eggs =
551   ${lxml-python:egg}
552   slapos.toolbox
553   slapos.toolbox[zodbpack]
554
555 scripts =
556   killpidfromfile
557   onetimedownload
558   zodbpack
559
560 [versions]
561 # patched eggs
562 Acquisition = 2.13.8-ZMinitagePatched-AqDynamic
563 Products.DCWorkflow = 2.2.4-ZMinitagePatched-WorkflowMethod
564 ZODB3 = 3.10.5-ZMinitagePatched-ZODB33105
565
566 # specify dev version to be sure that an old released version is not used
567 cloudooo = 1.2.5-dev
568
569 # use newer version than specified in ZTK
570 Jinja2 = 2.7.2
571 PasteDeploy = 1.5.2
572 Pygments = 1.6
573 argparse = 1.2.1
574 coverage = 3.7.1
575 lxml = 3.3.5
576 mr.developer = 1.30
577 setuptools = 2.2
578
579 # huBarcode 1.0.0 has an issue with importing PIL.
580 huBarcode = 0.63
581
582 # Known version with works
583 numpy = 1.6.2
584
585 # test_UserManagerInterfaces in testERP5Security fails with 1.10.0.
586 Products.PluggableAuthService = 1.9.0
587
588 # official pysvn egg does not supports --include-dirs and
589 # --library-dirs, so we use our modified version
590 pysvn = 1.7.4nxd006
591
592 # use newest version of pytz
593 pytz =
594
595 # we are still using this old stable version.
596 rdiff-backup = 1.0.5
597
598 # use newest version of slapos.cookbook
599 slapos.cookbook =
600
601 # we need to define an explicit version of slapos.core that is propagated to instances
602 slapos.core = 1.0.3
603
604 # modified version that works fine for buildout installation
605 SOAPpy = 0.12.0nxd001
606
607 # CMF 2.3 is not yet supported.
608 Products.CMFCalendar = 2.2.3
609 Products.CMFCore = 2.2.8
610 Products.CMFDefault = 2.2.4
611 Products.CMFTopic = 2.2.1
612 Products.CMFUid = 2.2.1
613
614 # newer version requires zope.traversing>=4.0.0a2.
615 zope.app.appsetup = 3.16.0
616
617 # newer version requires zope.i18n>=4.0.0a3
618 zope.app.publication = 3.14.0
619
620 # newer version requires zope.testbrowser>=4
621 zope.app.testing = 3.8.1
622
623 # Pinned versions
624 Flask = 0.10.1
625 GitPython = 0.3.2.RC1
626 MarkupSafe = 0.21
627 MySQL-python = 1.2.5
628 PIL = 1.1.7
629 Products.CMFActionIcons = 2.1.3
630 Products.DCWorkflowGraph = 0.4.1
631 Products.ExternalEditor = 1.1.0
632 Products.GenericSetup = 1.7.4
633 Products.LongRequestLogger = 1.1.0
634 Products.MimetypesRegistry = 2.0.5
635 Products.PluginRegistry = 1.3
636 Products.TIDStorage = 5.4.9
637 Products.ZSQLMethods = 2.13.4
638 PyPDF2 = 1.21
639 PyXML = 0.8.5
640 Pympler = 0.3.1
641 StructuredText = 2.11.1
642 WSGIUtils = 0.7
643 Werkzeug = 0.9.4
644 apache-libcloud = 0.14.1
645 astroid = 1.1.0
646 async = 0.6.1
647 atomize = 0.2.0
648 buildout-versions = 1.7
649 chardet = 2.2.1
650 cliff = 1.6.1
651 cmd2 = 0.6.7
652 csp-eventlet = 0.7.0
653 ecdsa = 0.11
654 elementtree = 1.2.7-20070827-preview
655 erp5.recipe.cmmiforcei686 = 0.1.3
656 erp5.util = 0.4.38
657 erp5diff = 0.8.1.5
658 eventlet = 0.14.0
659 feedparser = 5.1.3
660 five.formlib = 1.0.4
661 five.localsitemanager = 2.0.5
662 fpconst = 0.7.2
663 gitdb = 0.5.4
664 greenlet = 0.4.2
665 hexagonit.recipe.cmmi = 2.0
666 http-parser = 0.8.3
667 httplib2 = 0.9
668 iniparse = 0.4
669 interval = 1.0.0
670 inotifyx = 0.2.0-1
671 interval = 1.0.0
672 ipdb = 0.8
673 ipython = 2.0.0
674 itsdangerous = 0.24
675 lock-file = 2.0
676 logilab-common = 0.61.0
677 meld3 = 1.0.0
678 minitage = 2.0.67
679 minitage.core = 2.0.57
680 minitage.paste = 1.4.6
681 minitage.recipe.common = 1.90
682 minitage.recipe.egg = 1.107
683 netaddr = 0.7.11
684 netifaces = 0.8-1
685 ordereddict = 1.1
686 paramiko = 1.13.0
687 plone.recipe.command = 1.1
688 ply = 3.4
689 polib = 1.0.4
690 pprofile = 1.7.1
691 psutil = 2.1.0
692 pyflakes = 0.8.1
693 pylint = 1.2.0
694 pyparsing = 2.0.2
695 python-ldap = 2.4.15
696 python-magic = 0.4.6
697 python-memcached = 1.53
698 qrcode = 4.0.4
699 requests = 2.2.1
700 restkit = 4.2.2
701 rtjp-eventlet = 0.3.2
702 six = 1.6.1
703 slapos.recipe.build = 0.12
704 slapos.recipe.cmmi = 0.2
705 slapos.recipe.template = 2.5
706 slapos.toolbox = 0.39
707 smmap = 0.8.2
708 socketpool = 0.5.3
709 spyne = 2.10.10
710 stevedore = 0.15
711 suds = 0.4
712 supervisor = 3.0
713 threadframe = 0.2
714 timerserver = 2.0.2
715 urlnorm = 1.1.2
716 uuid = 1.30
717 validictory = 0.9.3
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