buildout.cfg 19.4 KB
Newer Older
1
[buildout]
2

3 4
extends =
# Exact version of Zope
5 6
  ztk-versions.cfg
  zope-versions.cfg
7
  buildout.hash.cfg
8 9
  ../../component/cups/buildout.cfg
  ../../component/dbus/buildout.cfg
10 11 12 13 14 15 16 17
  ../../component/file/buildout.cfg
  ../../component/fonts/buildout.cfg
  ../../component/ghostscript/buildout.cfg
  ../../component/git/buildout.cfg
  ../../component/graphviz/buildout.cfg
  ../../component/gzip/buildout.cfg
  ../../component/haproxy/buildout.cfg
  ../../component/hookbox/buildout.cfg
18
  ../../component/findutils/buildout.cfg
19 20
  ../../component/librsvg/buildout.cfg
  ../../component/imagemagick/buildout.cfg
21
  ../../component/inkscape/buildout.cfg
22 23
  ../../component/kumo/buildout.cfg
  ../../component/libdmtx/buildout.cfg
24
  ../../component/libffi/buildout.cfg
25 26
  ../../component/libpng/buildout.cfg
  ../../component/libreoffice-bin/buildout.cfg
27
  ../../component/matplotlib/buildout.cfg
28
  ../../component/mesa/buildout.cfg
29
  ../../component/numpy/buildout.cfg
30
  ../../component/onlyoffice-x2t/buildout.cfg
31
  ../../component/pandas/buildout.cfg
32
  ../../component/percona-toolkit/buildout.cfg
33
  ../../component/patch/buildout.cfg
34
  ../../component/pillow/buildout.cfg
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
35
  ../../component/pycrypto-python/buildout.cfg
36 37 38
  ../../component/pysvn-python/buildout.cfg
  ../../component/python-ldap-python/buildout.cfg
  ../../component/rdiff-backup/buildout.cfg
39
  ../../component/scikit-learn/buildout.cfg
40
  ../../component/stunnel/buildout.cfg
41 42 43 44
  ../../component/subversion/buildout.cfg
  ../../component/tesseract/buildout.cfg
  ../../component/w3-validator/buildout.cfg
  ../../component/w3m/buildout.cfg
45
  ../../component/wkhtmltopdf/buildout.cfg
46 47 48 49 50 51 52 53 54 55
  ../../component/xorg/buildout.cfg
  ../../component/poppler/buildout.cfg
  ../../component/zabbix/buildout.cfg
  ../../component/sed/buildout.cfg
  ../../component/coreutils/buildout.cfg
  ../../component/grep/buildout.cfg
  ../../component/dash/buildout.cfg
  ../../component/wget/buildout.cfg
  ../../component/aspell/buildout.cfg
  ../../component/cloudooo/buildout.cfg
56
  ../../component/jsl/buildout.cfg
57 58
  ../../component/6tunnel/buildout.cfg
  ../../component/findutils/buildout.cfg
59
  ../../component/userhosts/buildout.cfg
60
  ../../component/postfix/buildout.cfg
61
  ../../software/ipython_notebook/software.cfg
62 63
  ../../software/neoppod/software-common.cfg
# keep neoppod extends last
64

65
parts +=
66
  erp5-util-develop
67
  slapos-cookbook-develop
68
  slapos-cookbook
69
  rdiff-backup
70
  aspell
71
  aspell-en-dictionary
72 73 74
  apache
  apache-antiloris
  file
75
  findutils
76 77
  graphviz
  haproxy
78
  jsl
79
  stunnel
80
  w3m
Rafael Monnerat's avatar
Rafael Monnerat committed
81
  poppler
82
  libpng
83
  ghostscript
84
  mroonga-mariadb
85
  imagemagick
86
  inkscape
87 88
  libdmtx
  dmtx-utils
89 90 91 92 93
  kumo
  libreoffice-bin
  w3-validator
  tesseract
  hookbox
94 95 96
  perl-DBD-mariadb
  perl-DBI
  percona-toolkit
97
  zabbix-agent
Romain Courteaud's avatar
Romain Courteaud committed
98
  dash
99
  wget
100
  userhosts
101
  postfix
102 103 104

# Buildoutish
  eggs
105
  eggs-all-scripts
106 107 108 109 110 111 112
  testrunner
  test_suite_runner

# basic Xorg
  libXdmcp
  libXext
  libXau
113
  libSM
114
  libXrender
115 116 117 118

# fonts
  liberation-fonts
  ipaex-fonts
119
  ipa-fonts
120
  ocrb-fonts
121
  android-fonts
122 123

# Cloudooo specific part
124
  cloudooo-develop
125 126 127 128
  cloudooo

# get git repositories
  erp5
129 130
  genbt5list

131
# some additional utils
132
  zodbanalyze
133

134 135 136
# Create instance template
  template

137 138 139 140 141 142 143 144
# jupyter
  ipython-notebook
  instance-jupyter

# override instance-jupyter not to render into default template.cfg
[instance-jupyter]
rendered = ${buildout:directory}/template-jupyter.cfg

145
[download-base]
146
<= download-base-neo
147 148
url = ${:_profile_base_location_}/${:filename}

149 150 151 152 153 154
[check-recipe]
recipe = plone.recipe.command
stop-on-error = true
update-command = ${:command}
command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link

155
[mariadb-resiliency-after-import-script]
156
<= download-base
157 158
mode = 755

159
[template-mariadb]
160
<= download-base
161 162 163 164 165 166 167
link-binary =
  ${coreutils:location}/bin/basename
  ${coreutils:location}/bin/cat
  ${coreutils:location}/bin/cp
  ${coreutils:location}/bin/ls
  ${coreutils:location}/bin/tr
  ${coreutils:location}/bin/uname
168
  ${gettext:location}/lib/gettext/hostname
169 170
  ${grep:location}/bin/grep
  ${sed:location}/bin/sed
171
  ${mariadb:location}/bin/mysqlbinlog
172 173

[template-kumofs]
174
<= download-base
175 176

[template-cloudooo]
177
<= download-base
178 179

[template-zope-conf]
180
<= download-base
181

182
[site-zcml]
183
<= download-base
184

185
[template-my-cnf]
186
<= download-base
187 188

[template-mariadb-initial-setup]
189
<= download-base
190

191
[template-create-erp5-site]
192
<= download-base
193 194

[template-create-erp5-site-real]
195
<= download-base
196

197 198 199 200 201 202 203 204
[template-postfix]
< = download-base

[template-postfix-master-cf]
< = download-base

[template-postfix-main-cf]
< = download-base
205 206 207

[template-postfix-aliases]
< = download-base
208

209
[template]
210
recipe = slapos.recipe.template:jinja2
211
# XXX: "template.cfg" is hardcoded in instanciation recipe
212
rendered = ${buildout:directory}/template.cfg
213
template = ${:_profile_base_location_}/${:filename}
214 215
mode = 640
context =
216
    key mariadb_link_binary template-mariadb:link-binary
217
    key zope_link_binary template-zope:link-binary
218 219
    key apache_location apache:location
    key aspell_location aspell:location
220
    key bin_directory buildout:bin-directory
221
    key buildout_bin_directory buildout:bin-directory
222
    key cairo_location cairo:location
223
    key coreutils_location coreutils:location
224
    key cups_location cups:location
225
    key curl_location curl:location
226
    key cyrus_sasl_location cyrus-sasl:location
227
    key dash_location dash:location
228
    key dbus_glib_location dbus-glib:location
229
    key dbus_location dbus:location
230 231 232
    key dcron_location dcron:location
    key erp5_location erp5:location
    key file_location file:location
233
    key findutils_location findutils:location
234 235 236
    key fontconfig_location fontconfig:location
    key fonts_location fonts:location
    key freetype_location freetype:location
237 238
    key glib_location glib:location
    key glu_location glu:location
239 240
    key gzip_location gzip:location
    key haproxy_location haproxy:location
241
    key imagemagick_location imagemagick:location
242
    key instance_common_cfg instance-common:rendered
243
    key jsl_location jsl:location
244
    key jupyter_enable_default erp5-defaults:jupyter-enable-default
245
    key kumo_location kumo:location
246 247 248 249 250 251 252
    key libICE_location libICE:location
    key libSM_location libSM:location
    key libX11_location libX11:location
    key libXau_location libXau:location
    key libXdmcp_location libXdmcp:location
    key libXext_location libXext:location
    key libXrender_location libXrender:location
253
    key libexpat_location libexpat:location
254
    key libffi_location libffi:location
255 256 257 258
    key libpng12_location libpng12:location
    key libreoffice_bin_location libreoffice-bin:location
    key librsvg_location librsvg:location
    key libxcb_location libxcb:location
259
    key local_bt5_repository local-bt5-repository:list
260 261
    key logrotate_location logrotate:location
    key mariadb_location mariadb:location
262
    key mariadb_resiliency_after_import_script mariadb-resiliency-after-import-script:target
263
    key matplotlibrc_location matplotlibrc:location
264
    key mesa_location mesa:location
265
    key onlyoffice_x2t_location onlyoffice-x2t:location
266
    key openssl_location openssl:location
267
    key pixman_location pixman:location
268
    key poppler_location poppler:location
269
    key postfix_location postfix:location
270
    key root_common root-common:target
271
    key site_zcml site-zcml:target
272
    key sixtunnel_location 6tunnel:location
273
    key stunnel_location stunnel:location
274
    key template_apache_conf template-apache-backend-conf:target
275
    key template_balancer template-balancer:target
276
    key template_cloudooo template-cloudooo:target
277 278
    key template_create_erp5_site template-create-erp5-site:target
    key template_create_erp5_site_real template-create-erp5-site-real:target
279
    key template_erp5 template-erp5:target
280
    key template_haproxy_cfg template-haproxy-cfg:target
281
    key template_jupyter_cfg instance-jupyter:rendered
282
    key template_kumofs template-kumofs:target
283
    key template_mariadb template-mariadb:target
284
    key template_mariadb_initial_setup template-mariadb-initial-setup:target
285
    key template_monitor monitor-template:rendered
286
    key template_my_cnf template-my-cnf:target
287
    key template_postfix template-postfix:target
288
    key template_postfix_aliases template-postfix-aliases:target
289 290
    key template_postfix_main_cf template-postfix-main-cf:target
    key template_postfix_master_cf template-postfix-master-cf:target
291
    key template_zeo template-zeo:target
292 293
    key template_zope template-zope:target
    key template_zope_conf template-zope-conf:target
294
    key userhosts_location userhosts:location
295
    key wget_location wget:location
296
    key wkhtmltopdf_location wkhtmltopdf:location
297 298
    key xdamage_location xdamage:location
    key xfixes_location xfixes:location
299
    key xserver_location xserver:location
300
    key zlib_location zlib:location
301
    key extra_path_list eggs:extra-paths
302

303 304 305 306 307 308 309
[monitor-template-dummy]
<= download-base
# This is a placeholder, to be overriden by extending monitor SR

[monitor-template]
rendered = ${monitor-template-dummy:target}

310
[template-erp5]
311
<= download-base
312

313
[template-zeo]
314
<= download-base
315

316
[template-zope]
317
<= download-base
318
link-binary =
319
  ${aspell:location}/bin/aspell
320 321 322 323 324 325
  ${dmtx-utils:location}/bin/dmtxwrite
  ${git:location}/bin/git
  ${graphviz:location}/bin/dot
  ${grep:location}/bin/grep
  ${imagemagick:location}/bin/convert
  ${imagemagick:location}/bin/identify
326 327
  ${jsl:location}/bin/jsl
  ${librsvg:location}/bin/rsvg-convert
328 329
  ${mariadb:location}/bin/mysql
  ${mariadb:location}/bin/mysqldump
330 331 332 333 334 335 336
  ${openssl:location}/bin/openssl
  ${poppler:location}/bin/pdfinfo
  ${poppler:location}/bin/pdftohtml
  ${poppler:location}/bin/pdftotext
  ${sed:location}/bin/sed
  ${tesseract:location}/bin/tesseract
  ${w3m:location}/bin/w3m
337 338

[template-balancer]
339
<= download-base
340

341
[template-haproxy-cfg]
342
<= download-base
343

344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361
[bt5-repository]
# Format:
#   <url or path> [...]
#
# Use absolute paths for local repositories, and URLs for non-local otherwise.
#
list = ${local-bt5-repository:list}

[local-bt5-repository]
# Same as bt5-repository, but only local repository.
# Used to generate bt5lists.
list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap

[genbt5list]
recipe = plone.recipe.command
stop-on-error = true
genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
command =
Łukasz Nowak's avatar
Łukasz Nowak committed
362
  ${buildout:executable} ${:genbt5list} ${local-bt5-repository:list}
363
update-command = ${:command}
364 365 366 367

[erp5_repository_list]
repository_id_list = erp5

368 369 370 371 372
# ERP5 defaults, which can be overridden in inheriting recipes (e.g. wendelin)
[erp5-defaults]
# Jupyter is by default disabled in ERP5
jupyter-enable-default = false

373
[erp5]
374
recipe = slapos.recipe.build:gitclone
375
repository = https://lab.nexedi.com/nexedi/erp5.git
376
branch = master
377
git-executable = ${git:location}/bin/git
378 379 380 381 382 383 384 385

[testrunner]
# XXX: Workaround for fact ERP5Type is not an distribution and does not
#      expose entry point for test runner
recipe = zc.recipe.egg
eggs = ${eggs:eggs}
extra-paths = ${eggs:extra-paths}
entry-points =
386
  runUnitTest=runUnitTest:main
387 388
scripts = runUnitTest
initialization =
389
  import glob, imp, os, sys
390
  import App # prevent Testing from importing Zope2.App instead of App
391
  import Products
392 393 394
  Products.__path__[:0] = filter(None,
    os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
  os.environ['SOFTWARE_HOME'] = os.path.abspath(imp.find_module('Zope2')[1])
395
  os.environ['ZOPE_SCRIPTS'] = ''
Vincent Pelletier's avatar
Vincent Pelletier committed
396
  parts_directory = '''${buildout:parts-directory}'''
397 398 399 400 401 402
  repository_id_list = \
    '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
  os.environ['erp5_tests_bt5_path'] = ','.join(sum((
    [bt5_path, os.path.join(bt5_path, '*')]
    for bt5_path in (os.path.join(parts_directory, x, 'bt5')
                     for x in repository_id_list)), []))
403
  extra_path_list = '''${:extra-paths}'''.split()
404
  sys.path[:0] = sum((
405 406
    glob.glob(os.path.join(x, 'tests'))
    for x in extra_path_list), [])
407
  sys.path[:0] = sum((
408 409
    glob.glob(os.path.join(x, 'Products', '*', 'tests'))
    for x in extra_path_list), [])
410 411 412
  sys.path[:0] = sum((
    glob.glob(os.path.join(x, 'Products', '*', 'tests'))
    for x in os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep)), [])
413
  os.environ['PATH'] = '${jsl:location}/bin:%s' % os.environ['PATH']
414
  os.environ['CGI_PATH'] = '${w3-validator:location}/httpd/cgi-bin'
415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432

[test_suite_runner]
# XXX: Workaround for fact ERP5Type is not an distribution and does not
#      expose entry point for test runner
recipe = zc.recipe.egg
eggs = ${eggs:eggs}
extra-paths = ${eggs:extra-paths}
entry-points =
  runTestSuite=Products.ERP5Type.tests.runTestSuite:main
scripts = runTestSuite
initialization =
  import os
  import sys
  import Products
  [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
  import Zope2
  os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
  os.environ['ZOPE_SCRIPTS'] = ''
433
  repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
434
  sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
435 436

[eggs]
437
<= neoppod
438
eggs = ${neoppod:eggs}
439
  ${numpy:egg}
440
  ${matplotlib:egg}
441
  ${lxml-python:egg}
442
  ${pandas:egg}
443
  ${pillow-python:egg}
444 445
  ${python-ldap-python:egg}
  ${pysvn-python:egg}
446
  ${pycrypto-python:egg}
447
  ${scikit-learn:egg}
448
  lock_file
449
  astor
450
  PyStemmer
451
  PyXML
452
  Pympler
453 454
  SOAPpy
  chardet
455
  collective.recipe.template
Aurel's avatar
Aurel committed
456
  coverage
457
  erp5diff
458
  inotifyx
459
  interval
460
  ipdb
461
  Jinja2
462
  jsonschema
463
  mechanize
464
  objgraph
465 466
  paramiko
  ply
Jérome Perrin's avatar
Jérome Perrin committed
467
  pyflakes
Aurel's avatar
Aurel committed
468
  pypdf2
469 470 471
  python-magic
  python-memcached
  pytz
472
  requests
473 474 475 476 477 478 479
  threadframe
  timerserver
  urlnorm
  uuid
  xml_marshaller
  xupdate_processor
  feedparser
480
  validictory
481
  erp5.util
482
  huBarcode
483
  qrcode
484
  spyne
485 486
  httplib2
  suds
487
  pprofile
488
  pycountry
Jérome Perrin's avatar
Jérome Perrin committed
489
  xfw
490
  jsonschema
Vincent Bechu's avatar
Vincent Bechu committed
491
  selenium
492 493
# Needed for checking ZODB Components source code
  pylint
494
  pytracemalloc
495

Vincent Pelletier's avatar
Vincent Pelletier committed
496
# Zope
497
  Zope2
Vincent Pelletier's avatar
Vincent Pelletier committed
498
# Zope acquisition patch
499
  Acquisition
500 501
# for runzeo
  ZEO
502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522

# Other Zope 2 packages
  Products.PluggableAuthService
  Products.PluginRegistry

# CMF 2.2
  Products.CMFActionIcons
  Products.CMFCalendar
  Products.CMFCore
  Products.CMFDefault
  Products.CMFTopic
  Products.CMFUid
  Products.DCWorkflow
  Products.GenericSetup
  five.localsitemanager

# Other products
  Products.DCWorkflowGraph
  Products.MimetypesRegistry
  Products.ExternalEditor
  Products.TIDStorage
523
  Products.LongRequestLogger
524

525 526 527 528
# BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
#      (for tests like testCookieCrumbler).
  zope.app.testing

529 530 531 532 533
# Currently forked in our repository
#    Products.PortalTransforms
# Dependency for our fork of PortalTransforms
  StructuredText

534 535
# Needed for parsing .po files from our Localizer subset
  polib
536 537
# Needed for Google OAuth
  google-api-python-client
538

539 540 541
# Used by ERP5 Jupyter backend
  ipykernel

542 543 544
# parameterizing the version of the generated python interpreter name by the
# python section version causes dependency between this egg section and the
# installation of python, which we don't want on an instance
545
interpreter = ${buildout:python}
546 547 548 549 550 551
scripts =
  repozo
  runzope
  runzeo
  tidstoraged
  tidstorage_repozo
552
  web_checker_utility = erp5.util.webchecker:web_checker_utility
553 554

extra-paths =
555
  ${erp5:location}
556

557 558
# patches for eggs
patch-binary = ${patch:location}/bin/patch
559
Acquisition-patches = ${:_profile_base_location_}/../../component/egg-patch/Acquisition/aq_dynamic.patch#e8029103350dad364d25747514a20327
560
Acquisition-patch-options = -p1
561
Products.DCWorkflow-patches = ${:_profile_base_location_}/../../component/egg-patch/Products.DCWorkflow/workflow_method.patch#975b49e96bae33ac8563454fe5fa9899
562
Products.DCWorkflow-patch-options = -p1
563
python-magic-patches = ${:_profile_base_location_}/../../component/egg-patch/python_magic/magic.patch#de0839bffac17801e39b60873a6c2068
564
python-magic-patch-options = -p1
565

566 567 568 569 570 571
[eggs-all-scripts]
recipe = zc.recipe.egg
eggs =
  munnel
patch-binary = ${eggs:patch-binary}

572 573
[zodbanalyze]
recipe = zc.recipe.egg
574
eggs = erp5.util
575 576 577 578
entry-points =
  zodbanalyze=erp5.util.zodbanalyze:main
scripts = zodbanalyze

579 580 581 582 583
# develop erp5.util from parts/erp5/
[erp5-util-develop]
recipe = zc.recipe.egg:develop
setup = ${erp5:location}

584
[cloudooo-repository]
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
585
branch =
586
revision = 00604a3a5a69082f7c607665cc6badd5104a32b9
587

588
[slapos-deps-eggs]
589
recipe = zc.recipe.egg
590
eggs +=
Łukasz Nowak's avatar
Łukasz Nowak committed
591
  slapos.toolbox[zodbpack]
592
scripts +=
593
  is-local-tcp-port-opened
594
  is-process-older-than-dependency-set
Łukasz Nowak's avatar
Łukasz Nowak committed
595
  zodbpack
596

597
[versions]
598
# See ../../software/neoppod/software-common.cfg for versions common with NEO:
599
#  neoppod, mysqlclient, slapos.recipe.template & [slapos-deps-eggs]
600

601
# patched eggs
602
Acquisition = 2.13.9+SlapOSPatched001
603
Products.DCWorkflow = 2.2.4+SlapOSPatched001
604
pysvn = 1.7.10+SlapOSPatched002
605
python-ldap = 2.4.32+SlapOSPatched001
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
606
python-magic = 0.4.12+SlapOSPatched001
607

608 609 610 611
# specify dev version to be sure that an old released version is not used
cloudooo = 1.2.5-dev

# use newer version than specified in ZTK
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
612
PasteDeploy = 1.5.2
613
argparse = 1.4.0
614
coverage = 4.3.4
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
615
zope.dottedname = 4.1.0
616 617 618 619

# test_UserManagerInterfaces in testERP5Security fails with 1.10.0.
Products.PluggableAuthService = 1.9.0

620
# we are still using this old stable version.
621
rdiff-backup = 1.0.5+SlapOSPatched001
622

623 624
# use newest version of slapos.cookbook
slapos.cookbook =
625 626 627

# modified version that works fine for buildout installation
SOAPpy = 0.12.0nxd001
628

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
629
# CMF 2.3 is not yet supported.
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
630
Products.CMFCalendar = 2.2.3
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
631
Products.CMFCore = 2.2.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
632
Products.CMFDefault = 2.2.4
633 634
Products.CMFTopic = 2.2.1
Products.CMFUid = 2.2.1
635

636 637 638 639 640 641
# newer version requires zope.traversing>=4.0.0a2.
zope.app.appsetup = 3.16.0

# newer version requires zope.i18n>=4.0.0a3
zope.app.publication = 3.14.0

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
642
# newer version requires zope.testbrowser>=4
643 644
zope.app.testing = 3.8.1

645
# Pinned versions
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
646
Pillow = 4.0.0
647 648
Products.CMFActionIcons = 2.1.3
Products.DCWorkflowGraph = 0.4.1
649 650
# Products.ExternalEditor 2.0.0's dtml is not based on Zope2 OFS's one.
Products.ExternalEditor = 1.1.1
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
651
Products.GenericSetup = 1.8.6
652
Products.LongRequestLogger = 2.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
653
# Products.MimetypesRegistry 2.1 requires AccessControl>=3.0.0Acquisition.
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
654
Products.MimetypesRegistry = 2.0.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
655
Products.PluginRegistry = 1.4
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
656
Products.TIDStorage = 5.4.9
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
657
PyPDF2 = 1.26.0
658
PyStemmer = 1.3.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
659
PyXML = 0.8.5
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
660
Pympler = 0.4.3
661 662
StructuredText = 2.11.1
WSGIUtils = 0.7
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
663 664
# ZEO 5 requires transaction >= 2
ZEO = 4.3.1
665
ZODB3 = 3.11.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
666
# astroid 1.4.1 breaks testDynamicClassGeneration
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
667
astroid = 1.3.8
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
668
chardet = 2.3.0
669
csp-eventlet = 0.7.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
670
erp5diff = 0.8.1.7
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
671
eventlet = 0.20.1
672
five.formlib = 1.0.4
673
five.localsitemanager = 2.0.5
674
google-api-python-client = 1.6.1
675
greenlet = 0.4.12
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
676
http-parser = 0.8.3
677
httplib2 = 0.10.3
678
huBarcode = 1.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
679
interval = 1.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
680
ipdb = 0.10.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
681
logilab-common = 1.3.0
682
munnel = 0.3
683
nt-svcutils = 2.13.0
684
oauth2client = 4.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
685
objgraph = 3.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
686
ply = 3.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
687
polib = 1.0.8
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
688
pprofile = 1.10.0
689 690
pyasn1 = 0.2.3
pyasn1-modules = 0.0.8
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
691
pycountry = 17.1.8
692
pycrypto = 2.6.1
693
pycurl = 7.43.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
694
pyflakes = 1.5.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
695
# pylint 1.5.1 breaks testDynamicClassGeneration
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
696
pylint = 1.4.4
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
697
python-memcached = 1.58
698
pytracemalloc = 1.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
699
qrcode = 5.3
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
700
restkit = 4.2.2
701
rsa = 3.4.2
702
rtjp-eventlet = 0.3.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
703
socketpool = 0.5.3
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
704
spyne = 2.12.14
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
705
suds = 0.4
706 707
threadframe = 0.2
timerserver = 2.0.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
708
urlnorm = 1.1.4
709
uuid = 1.30
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
710
validictory = 1.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
711
xfw = 0.10
712
xupdate-processor = 0.4
Vincent Bechu's avatar
Vincent Bechu committed
713
selenium = 2.53.1
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
714 715

# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
716
# Products.CMFCore==2.2.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
717
Products.ZSQLMethods = 2.13.5
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
718

719
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
720 721
# eventlet==0.20.1
enum-compat = 0.0.2
722

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
723
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
724
# SOAPpy===0.12.0nxd001
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
725 726
fpconst = 0.7.2

727
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
728 729
# objgraph==3.1.0
graphviz = 0.5.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
730

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
731 732 733
# Required by:
# Pillow==4.0.0
olefile = 0.44
734

735 736 737 738
# Required by:
# munnel==0.3
python-libmilter = 1.0.3

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
739 740
# Required by:
# zope.app.testing==3.8.1
741
zope.app.debug = 3.4.1
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
742 743 744

# Required by:
# zope.app.testing==3.8.1
745
zope.app.dependable = 3.5.1
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
746 747 748 749

# Required by:
# Products.CMFCalendar==2.2.3
# five.formlib==1.0.4
750
zope.app.form = 4.0.2