Merge remote-tracking branch 'origin/master' into erp5testnode
[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
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 = master
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   ipdb
449   Jinja2
450   mechanize
451   numpy
452   paramiko
453   ply
454   pyflakes
455   pypdf2
456   python-magic
457   python-memcached
458   pytz
459   requests
460   threadframe
461   timerserver
462   urlnorm
463   uuid
464   xml_marshaller
465   xupdate_processor
466   feedparser
467   argparse
468   validictory
469   erp5.util
470   huBarcode
471   qrcode
472   spyne
473   httplib2
474   suds
475   pprofile
476 # Needed for checking ZODB Components source code
477   pylint
478
479 # Zope
480   ZODB3
481   Zope2
482 # Zope acquisition patch
483   Acquisition
484
485 # Other Zope 2 packages
486   Products.PluggableAuthService
487   Products.PluginRegistry
488
489 # CMF 2.2
490   Products.CMFActionIcons
491   Products.CMFCalendar
492   Products.CMFCore
493   Products.CMFDefault
494   Products.CMFTopic
495   Products.CMFUid
496   Products.DCWorkflow
497   Products.GenericSetup
498   five.localsitemanager
499
500 # Other products
501   Products.DCWorkflowGraph
502   Products.MimetypesRegistry
503   Products.ExternalEditor
504   Products.TIDStorage
505   Products.LongRequestLogger
506
507 # BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
508 #      (for tests like testCookieCrumbler).
509   zope.app.testing
510
511 # Currently forked in our repository
512 #    Products.PortalTransforms
513 # Dependency for our fork of PortalTransforms
514   StructuredText
515
516 # Needed for parsing .po files from our Localizer subset
517   polib
518
519 # parameterizing the version of the generated python interpreter name by the
520 # python section version causes dependency between this egg section and the
521 # installation of python, which we don't want on an instance
522 interpreter = ${buildout:python}
523 scripts =
524   repozo
525   runzope
526   runzeo
527   tidstoraged
528   tidstorage_repozo
529   web_checker_utility = erp5.util.webchecker:web_checker_utility
530
531 extra-paths =
532   ${erp5:location}
533
534 [zodbanalyze]
535 recipe = zc.recipe.egg
536 eggs =
537   ZODB3
538   erp5.util
539 entry-points =
540   zodbanalyze=erp5.util.zodbanalyze:main
541 scripts = zodbanalyze
542
543 [cloudooo-repository]
544 branch =
545 revision = 349b179f820c4a096757dda61f620166329cb00b
546
547 [slapos-toolbox]
548 recipe = zc.recipe.egg
549 eggs =
550   ${lxml-python:egg}
551   slapos.toolbox
552   slapos.toolbox[zodbpack]
553
554 scripts =
555   killpidfromfile
556   onetimedownload
557   zodbpack
558
559 [versions]
560 # patched eggs
561 Acquisition = 2.13.8-ZMinitagePatched-AqDynamic
562 Products.DCWorkflow = 2.2.4-ZMinitagePatched-WorkflowMethod
563 ZODB3 = 3.10.5-ZMinitagePatched-ZODB33105
564
565 # specify dev version to be sure that an old released version is not used
566 cloudooo = 1.2.5-dev
567
568 # use newer version than specified in ZTK
569 Jinja2 = 2.7.2
570 PasteDeploy = 1.5.2
571 Pygments = 1.6
572 argparse = 1.2.1
573 coverage = 3.7.1
574 lxml = 3.3.4
575 mr.developer = 1.30
576 setuptools = 2.2
577
578 # huBarcode 1.0.0 has an issue with importing PIL.
579 huBarcode = 0.63
580
581 # Known version with works
582 numpy = 1.6.2
583
584 # test_UserManagerInterfaces in testERP5Security fails with 1.10.0.
585 Products.PluggableAuthService = 1.9.0
586
587 # official pysvn egg does not supports --include-dirs and
588 # --library-dirs, so we use our modified version
589 pysvn = 1.7.4nxd006
590
591 # use newest version of pytz
592 pytz =
593
594 # we are still using this old stable version.
595 rdiff-backup = 1.0.5
596
597 # use newest version of slapos.cookbook
598 slapos.cookbook =
599
600 # we need to define an explicit version of slapos.core that is propagated to instances
601 slapos.core = 1.0.3
602
603 # modified version that works fine for buildout installation
604 SOAPpy = 0.12.0nxd001
605
606 # CMF 2.3 is not yet supported.
607 Products.CMFCalendar = 2.2.3
608 Products.CMFCore = 2.2.8
609 Products.CMFDefault = 2.2.4
610 Products.CMFTopic = 2.2.1
611 Products.CMFUid = 2.2.1
612
613 # newer version requires zope.traversing>=4.0.0a2.
614 zope.app.appsetup = 3.16.0
615
616 # newer version requires zope.i18n>=4.0.0a3
617 zope.app.publication = 3.14.0
618
619 # newer version requires zope.testbrowser>=4
620 zope.app.testing = 3.8.1
621
622 # Pinned versions
623 Flask = 0.10.1
624 GitPython = 0.3.2.RC1
625 MarkupSafe = 0.19
626 MySQL-python = 1.2.5
627 PIL = 1.1.7
628 Paste = 1.7.5.1
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.20
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.0.1
646 async = 0.6.1
647 atomize = 0.2.0
648 chardet = 2.2.1
649 cliff = 1.6.0
650 cmd2 = 0.6.7
651 csp-eventlet = 0.7.0
652 ecdsa = 0.11
653 elementtree = 1.2.7-20070827-preview
654 erp5.recipe.cmmiforcei686 = 0.1.3
655 erp5.util = 0.4.37
656 erp5diff = 0.8.1.5
657 eventlet = 0.14.0
658 feedparser = 5.1.3
659 five.formlib = 1.0.4
660 five.localsitemanager = 2.0.5
661 fpconst = 0.7.2
662 gitdb = 0.5.4
663 greenlet = 0.4.2
664 hexagonit.recipe.cmmi = 2.0
665 http-parser = 0.8.3
666 httplib2 = 0.8
667 iniparse = 0.4
668 inotifyx = 0.2.0-1
669 ipdb = 0.8
670 ipython = 2.0.0
671 itsdangerous = 0.24
672 lock-file = 2.0
673 logilab-common = 0.61.0
674 meld3 = 0.6.10
675 minitage = 2.0.67
676 minitage.core = 2.0.57
677 minitage.paste = 1.4.6
678 minitage.recipe.common = 1.90
679 minitage.recipe.egg = 1.107
680 netaddr = 0.7.11
681 netifaces = 0.8-1
682 ordereddict = 1.1
683 paramiko = 1.13.0
684 plone.recipe.command = 1.1
685 ply = 3.4
686 polib = 1.0.4
687 pprofile = 1.7.1
688 prettytable = 0.7.3-nxd001
689 psutil = 2.0.0
690 pyflakes = 0.8.1
691 pylint = 1.1.0
692 pyparsing = 2.0.1
693 python-ldap = 2.4.15
694 python-magic = 0.4.6
695 python-memcached = 1.53
696 qrcode = 4.0.4
697 requests = 2.2.1
698 restkit = 4.2.2
699 rtjp-eventlet = 0.3.2
700 six = 1.6.1
701 slapos.recipe.build = 0.12
702 slapos.recipe.cmmi = 0.2
703 slapos.recipe.template = 2.5
704 slapos.toolbox = 0.39
705 smmap = 0.8.2
706 socketpool = 0.5.3
707 spyne = 2.10.10
708 stevedore = 0.15
709 suds = 0.4
710 supervisor = 3.0
711 threadframe = 0.2
712 timerserver = 2.0.2
713 urlnorm = 1.1.2
714 uuid = 1.30
715 validictory = 0.9.3
716 xml-marshaller = 0.9.7
717 xupdate-processor = 0.4
718 zope.app.debug = 3.4.1
719 zope.app.dependable = 3.5.1
720 zope.app.form = 4.0.2