Merge branch 'erp5' into erp5-cluster
[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 extensions =
8   slapos.zcbworkarounds
9   mr.developer
10
11 find-links =
12     http://www.nexedi.org/static/packages/source/slapos.buildout/
13     http://www.nexedi.org/static/packages/source/hexagonit.recipe.download/
14     http://dist.repoze.org
15     http://www.nexedi.org/static/packages/source/
16     http://www.owlfish.com/software/wsgiutils/download.html
17
18 allow-hosts += pybrary.net
19
20 extends =
21 # Exact version of Zope
22   https://raw.github.com/zopefoundation/Zope/2.13.21/versions.cfg
23   ../../stack/slapos.cfg
24   ../../component/logrotate/buildout.cfg
25   ../../component/dcron/buildout.cfg
26   ../../component/file/buildout.cfg
27   ../../component/fonts/buildout.cfg
28   ../../component/ghostscript/buildout.cfg
29   ../../component/git/buildout.cfg
30   ../../component/graphviz/buildout.cfg
31   ../../component/gzip/buildout.cfg
32   ../../component/haproxy/buildout.cfg
33   ../../component/hookbox/buildout.cfg
34   ../../component/librsvg/buildout.cfg
35   ../../component/imagemagick/buildout.cfg
36   ../../component/inkscape/buildout.cfg
37   ../../component/kumo/buildout.cfg
38   ../../component/libdmtx/buildout.cfg
39   ../../component/libpng/buildout.cfg
40   ../../component/libreoffice-bin/buildout.cfg
41   ../../component/lxml-python/buildout.cfg
42   ../../component/percona-toolkit/buildout.cfg
43   ../../component/mariadb/buildout.cfg
44   ../../component/mysql-python/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/w3-validator/buildout.cfg
55   ../../component/w3m/buildout.cfg
56   ../../component/xorg/buildout.cfg
57   ../../component/poppler/buildout.cfg
58   ../../component/zabbix/buildout.cfg
59   ../../component/sed/buildout.cfg
60   ../../component/coreutils/buildout.cfg
61   ../../component/grep/buildout.cfg
62   ../../component/dash/buildout.cfg
63   ../../component/wget/buildout.cfg
64   ../../component/aspell/buildout.cfg
65   ../../component/cloudooo/buildout.cfg
66   ../../component/jsl/buildout.cfg
67   ../../component/6tunnel/buildout.cfg
68   ../../component/findutils/buildout.cfg
69
70 parts =
71   rdiff-backup
72   aspell
73   aspell-en-dictionary
74   apache
75   apache-antiloris
76   file
77   findutils
78   graphviz
79   haproxy
80   jsl
81   stunnel
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   eggs
107   testrunner
108   test_suite_runner
109
110 # basic Xorg
111   libXdmcp
112   libXext
113   libXau
114   libSM
115   libXrender
116
117 # fonts
118   liberation-fonts
119   ipaex-fonts
120   ocrb-fonts
121
122 # Cloudooo specific part
123   cloudooo
124
125 # get git repositories
126   erp5
127   genbt5list
128
129 # fix products path (Zeo needs ERP5 Products to be available for
130 # conflict resolution)
131   fix-products-paths
132 # some additional utils
133   slapos-toolbox
134   zodbanalyze
135
136 # Local development
137   slapos.cookbook-repository
138   check-recipe
139 # Create instance template
140   template
141
142 [download-base]
143 recipe = slapos.recipe.build:download
144 url = ${:_profile_base_location_}/${:filename}
145 mode = 644
146
147 # Local development
148 [slapos.cookbook-repository]
149 recipe = slapos.recipe.build:gitclone
150 repository = http://git.erp5.org/repos/slapos.git
151 branch = erp5-cluster
152 git-executable = ${git:location}/bin/git
153
154 [check-recipe]
155 recipe = plone.recipe.command
156 stop-on-error = true
157 update-command = ${:command}
158 command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link
159
160 [template-jinja2-base]
161 recipe = slapos.recipe.template:jinja2
162 template = ${:_profile_base_location_}/${:filename}.in
163 rendered = ${buildout:directory}/${:filename}
164 # XXX: extra-context is needed because we cannot append to a key of an extended
165 # section.
166 extra-context =
167 context =
168     key bin_directory buildout:bin-directory
169     key develop_eggs_directory buildout:develop-eggs-directory
170     key eggs_directory buildout:eggs-directory
171     key slapos_core_version versions:slapos.core
172     ${:extra-context}
173
174 [template-mariadb]
175 < = download-base
176 filename = instance-mariadb.cfg.in
177 md5sum = d51a5ad6cfa76b7bc20519694e88df80
178 link-binary =
179   ${coreutils:location}/bin/basename
180   ${coreutils:location}/bin/cat
181   ${coreutils:location}/bin/cp
182   ${coreutils:location}/bin/ls
183   ${coreutils:location}/bin/tr
184   ${coreutils:location}/bin/uname
185   ${gettext:location}/bin/hostname
186   ${grep:location}/bin/grep
187   ${sed:location}/bin/sed
188   ${mariadb:location}/bin/mysqlbinlog
189
190 [template-kumofs]
191 < = download-base
192 filename = instance-kumofs.cfg.in
193 md5sum = fe9a9349c4bad2ba999e9d8bac065ebb
194
195 [template-cloudooo]
196 < = download-base
197 filename = instance-cloudoo.cfg.in
198 md5sum = 9622cc0a21b6caf9c9beb5efea3e1998
199
200 [template-zope-conf]
201 < = download-base
202 filename = zope.conf.in
203 md5sum = c4c42d06c63d33de703fc03415e34d84
204
205 [template-my-cnf]
206 < = download-base
207 filename = my.cnf.in
208 md5sum = 774b0e5d167b75a0ad8ead45fa2eadf6
209
210 [template-mariadb-initial-setup]
211 < = download-base
212 filename = mariadb_initial_setup.sql.in
213 md5sum = 564006953b7d7a12d40a14b6648b32f0
214
215 [template-create-erp5-site]
216 < = download-base
217 filename = instance-create-erp5-site.cfg.in
218 md6sum = 4504b8e58cf6eb0f17ef30c29c04432d
219
220 [template-create-erp5-site-real]
221 < = download-base
222 filename = instance-create-erp5-site-real.cfg.in
223 md5sum = c7dde5117e3e99c9669b9a10c82778f3
224
225 [template]
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 = 3a3845caa33fffd762b346ed5949f196
231 extra-context =
232     key mariadb_link_binary template-mariadb:link-binary
233     key zope_link_binary template-zope:link-binary
234     key apache_location apache:location
235     key aspell_location aspell:location
236     key buildout_bin_directory buildout:bin-directory
237     key coreutils_location coreutils:location
238     key curl_location curl:location
239     key dash_location dash:location
240     key dcron_location dcron:location
241     key erp5_location erp5:location
242     key file_location file:location
243     key findutils_location findutils:location
244     key fontconfig_location fontconfig:location
245     key fonts_location fonts:location
246     key freetype_location freetype:location
247     key gzip_location gzip:location
248     key haproxy_location haproxy:location
249     key jsl_location jsl:location
250     key kumo_location kumo:location
251     key libICE_location libICE:location
252     key libSM_location libSM:location
253     key libX11_location libX11:location
254     key libXau_location libXau:location
255     key libXdmcp_location libXdmcp:location
256     key libXext_location libXext:location
257     key libXrender_location libXrender:location
258     key libpng12_location libpng12:location
259     key libreoffice_bin_location libreoffice-bin:location
260     key librsvg_location librsvg:location
261     key libxcb_location libxcb:location
262     key local_bt5_repository local-bt5-repository:list
263     key logrotate_location logrotate:location
264     key mariadb_location mariadb:location
265     key openssl_location openssl:location
266     key sixtunnel_location 6tunnel:location
267     key stunnel_location stunnel:location
268     key template_balancer template-balancer:target
269     key template_cloudooo template-cloudooo:target
270     key template_create_erp5_site template-create-erp5-site:target
271     key template_create_erp5_site_real template-create-erp5-site-real:target
272     key template_erp5 template-erp5:target
273     key template_haproxy_cfg template-haproxy-cfg:target
274     key template_kumofs template-kumofs:target
275     key template_logrotate_base template-logrotate-base:rendered
276     key template_mariadb template-mariadb:target
277     key template_mariadb_initial_setup template-mariadb-initial-setup:target
278     key template_my_cnf template-my-cnf:target
279     key template_neo template-neo:target
280     key template_zeo template-zeo:target
281     key template_zope template-zope:target
282     key template_zope_conf template-zope-conf:target
283     key wget_location wget:location
284     key zlib_location zlib:location
285
286 [template-erp5]
287 < = download-base
288 filename = instance-erp5.cfg.in
289 md5sum = 0de8f9b4c873975a80bc3b0885c964ab
290
291 [template-neo]
292 < = download-base
293 filename = instance-neo.cfg.in
294 md5sum = 7735d535aa34dfdc18a776b80bc0ca3d
295
296 [template-zeo]
297 < = download-base
298 filename = instance-zeo.cfg.in
299 md5sum = 32de16140a294a7e456a9665124bdb93
300
301 [template-zope]
302 < = download-base
303 filename = instance-zope.cfg.in
304 md5sum = 21116639ac07dd3473f99522ea042334
305 link-binary =
306   ${aspell:location}/bin/aspell
307   ${coreutils:location}/bin/basename
308   ${coreutils:location}/bin/cat
309   ${coreutils:location}/bin/cp
310   ${coreutils:location}/bin/ls
311   ${coreutils:location}/bin/tr
312   ${coreutils:location}/bin/uname
313   ${dmtx-utils:location}/bin/dmtxwrite
314   ${git:location}/bin/git
315   ${graphviz:location}/bin/dot
316   ${grep:location}/bin/grep
317   ${imagemagick:location}/bin/convert
318   ${imagemagick:location}/bin/identify
319   ${jsl:location}/bin/jsl
320   ${librsvg:location}/bin/rsvg-convert
321   ${mariadb:location}/bin/mysql
322   ${mariadb:location}/bin/mysqldump
323   ${openssl:location}/bin/openssl
324   ${poppler:location}/bin/pdfinfo
325   ${poppler:location}/bin/pdftohtml
326   ${poppler:location}/bin/pdftotext
327   ${sed:location}/bin/sed
328   ${tesseract:location}/bin/tesseract
329   ${w3m:location}/bin/w3m
330
331 [template-balancer]
332 < = download-base
333 filename = instance-balancer.cfg.in
334 md5sum = 2d2bd66f5771e106ce31253e01162ff3
335
336 [template-haproxy-cfg]
337 < = download-base
338 filename = haproxy.cfg.in
339 md5sum = 9f8bdf49366eee04c2add5c203d20cd0
340
341 [template-logrotate-base]
342 < = template-jinja2-base
343 filename = instance-logrotate-base.cfg
344 md5sum = af19ff0c7817df85987c69738fb083f2
345 extra-context =
346     key dcron_location dcron:location
347     key gzip_location gzip:location
348     key logrotate_location logrotate:location
349
350 [bt5-repository]
351 # Format:
352 #   <url or path> [...]
353 #
354 # Use absolute paths for local repositories, and URLs for non-local otherwise.
355 #
356 list = ${local-bt5-repository:list}
357
358 [local-bt5-repository]
359 # Same as bt5-repository, but only local repository.
360 # Used to generate bt5lists.
361 list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap
362
363 [genbt5list]
364 recipe = plone.recipe.command
365 stop-on-error = true
366 genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
367 command =
368   ${buildout:executable} ${:genbt5list} ${local-bt5-repository:list}
369 update-command = ${:command}
370
371 [erp5_repository_list]
372 repository_id_list = erp5
373
374 [erp5]
375 recipe = slapos.recipe.build:gitclone
376 repository = http://git.erp5.org/repos/erp5.git
377 branch = master
378 git-executable = ${git:location}/bin/git
379
380 [fix-products-paths]
381 recipe = plone.recipe.command
382 stop-on-error = true
383 dir = ${erp5:location}
384 command =
385   rm -f "${:dir}/Products" && ln -s product "${:dir}/Products" && touch "${:dir}/product/__init__.py"
386 update-command = ${:command}
387
388 [testrunner]
389 # XXX: Workaround for fact ERP5Type is not an distribution and does not
390 #      expose entry point for test runner
391 recipe = zc.recipe.egg
392 python = python2.7
393 eggs = ${eggs:eggs}
394 extra-paths = ${eggs:extra-paths}
395 entry-points =
396   runUnitTest=runUnitTest:main
397 scripts = runUnitTest
398 initialization =
399   import glob, imp, os, sys
400   import App # prevent Testing from importing Zope2.App instead of App
401   import Products
402   Products.__path__[:0] = filter(None,
403     os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
404   os.environ['SOFTWARE_HOME'] = os.path.abspath(imp.find_module('Zope2')[1])
405   os.environ['ZOPE_SCRIPTS'] = ''
406   parts_directory = '''${buildout:parts-directory}'''
407   repository_id_list = \
408     '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
409   os.environ['erp5_tests_bt5_path'] = ','.join(sum((
410     [bt5_path, os.path.join(bt5_path, '*')]
411     for bt5_path in (os.path.join(parts_directory, x, 'bt5')
412                      for x in repository_id_list)), []))
413   extra_path_list = '''${:extra-paths}'''.split()
414   sys.path[:0] = sum((
415     glob.glob(os.path.join(x, 'tests'))
416     for x in extra_path_list), [])
417   sys.path[:0] = sum((
418     glob.glob(os.path.join(x, 'Products', '*', 'tests'))
419     for x in extra_path_list), [])
420   sys.path[:0] = sum((
421     glob.glob(os.path.join(x, 'Products', '*', 'tests'))
422     for x in os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep)), [])
423   os.environ['PATH'] = '${jsl:location}/bin:%s' % os.environ['PATH']
424   os.environ['CGI_PATH'] = '${w3-validator:location}/httpd/cgi-bin'
425
426 [test_suite_runner]
427 # XXX: Workaround for fact ERP5Type is not an distribution and does not
428 #      expose entry point for test runner
429 recipe = zc.recipe.egg
430 python = python2.7
431 eggs = ${eggs:eggs}
432 extra-paths = ${eggs:extra-paths}
433 entry-points =
434   runTestSuite=Products.ERP5Type.tests.runTestSuite:main
435 scripts = runTestSuite
436 initialization =
437   import os
438   import sys
439   import Products
440   [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
441   import Zope2
442   os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
443   os.environ['ZOPE_SCRIPTS'] = ''
444   repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
445   sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
446
447 [eggs]
448 recipe = zc.recipe.egg
449 python = python2.7
450 eggs =
451   ${mysql-python:egg}
452   ${lxml-python:egg}
453   ${pil-python:egg}
454   ${python-ldap-python:egg}
455   ${pysvn-python:egg}
456   ${pycrypto-python:egg}
457   lock_file
458   PyXML
459   Pympler
460   SOAPpy
461   cElementTree
462   chardet
463   coverage
464   elementtree
465   erp5diff
466   inotifyx
467   ipdb
468   Jinja2
469   mechanize
470   numpy
471   paramiko
472   ply
473   pyflakes
474   pypdf2
475   python-magic
476   python-memcached
477   pytz
478   requests
479   threadframe
480   timerserver
481   urlnorm
482   uuid
483   xml_marshaller
484   xupdate_processor
485   feedparser
486   argparse
487   validictory
488   erp5.util
489   huBarcode
490   qrcode
491   spyne
492   httplib2
493   suds
494   pprofile
495 # Needed for checking ZODB Components source code
496   pylint
497
498 # Zope
499   ZODB3
500   Zope2
501 # Zope acquisition patch
502   Acquisition
503
504 # Other Zope 2 packages
505   Products.PluggableAuthService
506   Products.PluginRegistry
507
508 # CMF 2.2
509   Products.CMFActionIcons
510   Products.CMFCalendar
511   Products.CMFCore
512   Products.CMFDefault
513   Products.CMFTopic
514   Products.CMFUid
515   Products.DCWorkflow
516   Products.GenericSetup
517   five.localsitemanager
518
519 # Other products
520   Products.DCWorkflowGraph
521   Products.MimetypesRegistry
522   Products.ExternalEditor
523   Products.TIDStorage
524   Products.LongRequestLogger
525
526 # BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
527 #      (for tests like testCookieCrumbler).
528   zope.app.testing
529
530 # Currently forked in our repository
531 #    Products.PortalTransforms
532 # Dependency for our fork of PortalTransforms
533   StructuredText
534
535 # Needed for parsing .po files from our Localizer subset
536   polib
537
538 # parameterizing the version of the generated python interpreter name by the
539 # python section version causes dependency between this egg section and the
540 # installation of python, which we don't want on an instance
541 interpreter = python2.7
542 scripts =
543   repozo
544   runzope
545   runzeo
546   tidstoraged
547   tidstorage_repozo
548   web_checker_utility = erp5.util.webchecker:web_checker_utility
549
550 extra-paths =
551   ${erp5:location}
552
553 [zodbanalyze]
554 recipe = zc.recipe.egg
555 python = python2.7
556 eggs =
557   ZODB3
558   erp5.util
559 entry-points =
560   zodbanalyze=erp5.util.zodbanalyze:main
561 scripts = zodbanalyze
562
563 [cloudooo-repository]
564 branch =
565 revision = 5c67568c403239bd8e25993602d03c553236fcec
566
567 [mysql-python]
568 python = python2.7
569
570 [lxml-python]
571 python = python2.7
572
573 [pil-python]
574 python = python2.7
575
576 [python-ldap-python]
577 python = python2.7
578
579 [pysvn-python]
580 python = python2.7
581
582 [slapos-toolbox]
583 recipe = zc.recipe.egg
584 python = ${eggs:python}
585 eggs =
586   ${lxml-python:egg}
587   slapos.toolbox
588   slapos.toolbox[zodbpack]
589
590 scripts =
591   killpidfromfile
592   onetimedownload
593   zodbpack
594
595 [versions]
596 # pin Acquisition and Products.DCWorkflow to Nexedi flavour of eggs
597 Acquisition = 2.13.8nxd001
598 Products.DCWorkflow = 2.2.4nxd001
599
600 # specify dev version to be sure that an old released version is not used
601 cloudooo = 1.2.5-dev
602
603 # use newer version than specified in ZTK
604 Jinja2 = 2.7.2
605 PasteDeploy = 1.5.2
606 Pygments = 1.6
607 argparse = 1.2.1
608 coverage = 3.7.1
609 lxml = 3.3.0
610 mr.developer = 1.27
611 setuptools = 2.1
612
613 # huBarcode 1.0.0 has an issue with importing PIL.
614 huBarcode = 0.63
615
616 # Known version with works
617 numpy = 1.6.2
618
619 # test_UserManagerInterfaces in testERP5Security fails with 1.10.0.
620 Products.PluggableAuthService = 1.9.0
621
622 # official pysvn egg does not supports --include-dirs and
623 # --library-dirs, so we use our modified version
624 pysvn = 1.7.4nxd006
625
626 # modified version to support ipv6
627 python-memcached = 1.47-ipv6-1
628
629 # use newest version of pytz
630 pytz =
631
632 # we are still using this old stable version.
633 rdiff-backup = 1.0.5
634
635 # use newest version of slapos.cookbook
636 slapos.cookbook =
637
638 # we need to define an explicit version of slapos.core that is propagated to instances
639 slapos.core = 1.0.2.1
640
641 # modified version that works fine for buildout installation
642 SOAPpy = 0.12.0nxd001
643
644 # CMF 2.3 is not yet supported.
645 Products.CMFCalendar = 2.2.2
646 Products.CMFCore = 2.2.8
647 Products.CMFDefault = 2.2.3
648 Products.CMFTopic = 2.2.1
649 Products.CMFUid = 2.2.1
650
651 # newer version requires zope.traversing>=4.0.0a2.
652 zope.app.appsetup = 3.16.0
653
654 # newer version requires zope.i18n>=4.0.0a3
655 zope.app.publication = 3.14.0
656
657 # newer version requires zope.testbrowser>=4
658 zope.app.testing = 3.8.1
659
660 # Pinned versions
661 Flask = 0.10.1
662 GitPython = 0.3.2.RC1
663 MySQL-python = 1.2.5
664 PIL = 1.1.7
665 PyXML = 0.8.5
666 Products.CMFActionIcons = 2.1.3
667 Products.DCWorkflowGraph = 0.4.1
668 Products.ExternalEditor = 1.1.0
669 Products.GenericSetup = 1.7.4
670 Products.LongRequestLogger = 1.1.0
671 Products.MimetypesRegistry = 2.0.5
672 Products.PluginRegistry = 1.3
673 Products.TIDStorage = 5.4.9
674 Products.ZSQLMethods = 2.13.4
675 PyPDF2 = 1.20
676 StructuredText = 2.11.1
677 WSGIUtils = 0.7
678 Werkzeug = 0.9.4
679 apache-libcloud = 0.14.0
680 async = 0.6.1
681 atomize = 0.1.1
682 cElementTree = 1.0.5-20051216
683 chardet = 2.2.1
684 cliff = 1.5.2
685 csp-eventlet = 0.7.0
686 elementtree = 1.2.7-20070827-preview
687 erp5.recipe.cmmiforcei686 = 0.1.3
688 erp5.util = 0.4.36
689 erp5diff = 0.8.1.5
690 eventlet = 0.14.0
691 feedparser = 5.1.3
692 five.formlib = 1.0.4
693 five.localsitemanager = 2.0.5
694 fpconst = 0.7.2
695 gitdb = 0.5.4
696 greenlet = 0.4.2
697 hexagonit.recipe.cmmi = 2.0
698 http-parser = 0.8.3
699 inotifyx = 0.2.0
700 ipdb = 0.8
701 ipython = 1.1.0
702 itsdangerous = 0.23
703 meld3 = 0.6.10
704 netaddr = 0.7.10
705 netifaces = 0.8_1
706 paramiko = 1.12.1
707 plone.recipe.command = 1.1
708 ply = 3.4
709 polib = 1.0.3
710 psutil = 1.2.1
711 pyflakes = 0.7.3
712 python-ldap = 2.4.13
713 python-magic = 0.4.6
714 qrcode = 4.0.4
715 requests = 2.2.1
716 restkit = 4.2.2
717 rtjp-eventlet = 0.3.2
718 slapos.recipe.build = 0.12
719 slapos.recipe.template = 2.5
720 slapos.toolbox = 0.38.1
721 smmap = 0.8.2
722 socketpool = 0.5.3
723 spyne = 2.10.9
724 stevedore = 0.14.1
725 supervisor = 3.0
726 threadframe = 0.2
727 timerserver = 2.0.2
728 urlnorm = 1.1.2
729 uuid = 1.30
730 validictory = 0.9.3
731 xml-marshaller = 0.9.7
732 xupdate-processor = 0.4
733 zope.app.debug = 3.4.1
734 zope.app.dependable = 3.5.1
735 zope.app.form = 4.0.2
736 pylint = 1.1.0