buildout.cfg 19.8 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
  ../../component/file/buildout.cfg
  ../../component/fonts/buildout.cfg
12
  ../../component/gcc/buildout.cfg
13 14 15 16 17 18
  ../../component/ghostscript/buildout.cfg
  ../../component/git/buildout.cfg
  ../../component/graphviz/buildout.cfg
  ../../component/gzip/buildout.cfg
  ../../component/haproxy/buildout.cfg
  ../../component/hookbox/buildout.cfg
19
  ../../component/findutils/buildout.cfg
20 21
  ../../component/librsvg/buildout.cfg
  ../../component/imagemagick/buildout.cfg
22
  ../../component/inkscape/buildout.cfg
23 24
  ../../component/kumo/buildout.cfg
  ../../component/libdmtx/buildout.cfg
25
  ../../component/libffi/buildout.cfg
26
  ../../component/libpng/buildout.cfg
27
  ../../component/matplotlib/buildout.cfg
28
  ../../component/mesa/buildout.cfg
29
  ../../component/numpy/buildout.cfg
30 31
  ../../component/statsmodels/buildout.cfg
  ../../component/h5py/buildout.cfg
32
  ../../component/ocropy/buildout.cfg
33
  ../../component/pandas/buildout.cfg
34
  ../../component/percona-toolkit/buildout.cfg
35
  ../../component/patch/buildout.cfg
36
  ../../component/pillow/buildout.cfg
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
37
  ../../component/pycrypto-python/buildout.cfg
38 39 40
  ../../component/pysvn-python/buildout.cfg
  ../../component/python-ldap-python/buildout.cfg
  ../../component/rdiff-backup/buildout.cfg
41
  ../../component/scikit-learn/buildout.cfg
42
  ../../component/stunnel/buildout.cfg
43 44 45 46 47 48 49 50 51 52 53
  ../../component/subversion/buildout.cfg
  ../../component/tesseract/buildout.cfg
  ../../component/w3-validator/buildout.cfg
  ../../component/w3m/buildout.cfg
  ../../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
54
  ../../component/bash/buildout.cfg
55 56
  ../../component/wget/buildout.cfg
  ../../component/aspell/buildout.cfg
57
  ../../component/jsl/buildout.cfg
58 59
  ../../component/6tunnel/buildout.cfg
  ../../component/findutils/buildout.cfg
60
  ../../component/userhosts/buildout.cfg
61
  ../../component/postfix/buildout.cfg
Yusei Tahara's avatar
Yusei Tahara committed
62
  ../../component/zbarlight/buildout.cfg
63
  ../monitor/buildout.cfg
64
  ../../software/caucase/software.cfg
65
  ../../software/jupyter/software.cfg
66 67
  ../../software/neoppod/software-common.cfg
# keep neoppod extends last
68

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

# Buildoutish
  eggs
108
  eggs-all-scripts
109 110 111 112 113 114 115
  testrunner
  test_suite_runner

# basic Xorg
  libXdmcp
  libXext
  libXau
116
  libSM
117
  libXrender
118 119 120 121

# fonts
  liberation-fonts
  ipaex-fonts
122
  ipa-fonts
123
  ocrb-fonts
124
  android-fonts
125

126

127 128
# get git repositories
  erp5
129 130
  genbt5list

131
# some additional utils
132
  zodbanalyze
133

134 135 136
# Create instance template
  template

137
# jupyter
138
  jupyter
139
  jupyter-notebook-initialized-scripts
140
  instance-jupyter-notebook
141

142 143 144 145
# override python2.7 to add SlapOS libstdc++ in RPATH.
[python2.7]
extra-ldflags = -Wl,-rpath=${gcc:location}/lib -Wl,-rpath=${gcc:location}/lib64

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

150 151 152
[instance-caucase]
rendered = ${buildout:directory}/instance-caucase.cfg

153
[download-base]
154
<= download-base-neo
155 156
url = ${:_profile_base_location_}/${:filename}

157 158 159 160 161 162
[check-recipe]
recipe = plone.recipe.command
stop-on-error = true
update-command = ${:command}
command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link

163 164 165 166
[mariadb-start-clone-from-backup]
<= download-base
mode = 755

167
[mariadb-resiliency-after-import-script]
168
<= download-base
169 170
mode = 755

171 172 173 174
[mariadb-slow-query-report-script]
<= download-base
mode = 755

175
[template-mariadb]
176
<= download-base
177 178 179 180 181 182 183
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
184
  ${gettext:location}/lib/gettext/hostname
185 186
  ${grep:location}/bin/grep
  ${sed:location}/bin/sed
187
  ${mariadb:location}/bin/mysqlbinlog
188 189

[template-kumofs]
190
<= download-base
191 192

[template-zope-conf]
193
<= download-base
194

195
[site-zcml]
196
<= download-base
197

198
[template-my-cnf]
199
<= download-base
200 201

[template-mariadb-initial-setup]
202
<= download-base
203

204 205 206 207 208 209 210 211
[template-postfix]
< = download-base

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

[template-postfix-main-cf]
< = download-base
212 213 214

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

216
[template]
217
recipe = slapos.recipe.template:jinja2
218
# XXX: "template.cfg" is hardcoded in instanciation recipe
219
rendered = ${buildout:directory}/template.cfg
220
template = ${:_profile_base_location_}/${:filename}
221 222
mode = 640
context =
223
    key mariadb_link_binary template-mariadb:link-binary
224
    key zope_link_binary template-zope:link-binary
225 226
    key apache_location apache:location
    key aspell_location aspell:location
227
    key bin_directory buildout:bin-directory
228
    key buildout_bin_directory buildout:bin-directory
229
    key cairo_location cairo:location
230
    key caucase_template instance-caucase:rendered
231
    key coreutils_location coreutils:location
232
    key cups_location cups:location
233
    key curl_location curl:location
234
    key cyrus_sasl_location cyrus-sasl:location
235
    key dash_location dash:location
236
    key bash_location bash:location
237
    key dbus_glib_location dbus-glib:location
238
    key dbus_location dbus:location
239
    key dcron_location dcron:location
240
    key default_cloudooo_url erp5-defaults:cloudooo-connection-url
241 242
    key erp5_location erp5:location
    key file_location file:location
243
    key findutils_location findutils:location
244 245 246
    key fontconfig_location fontconfig:location
    key fonts_location fonts:location
    key freetype_location freetype:location
247 248
    key glib_location glib:location
    key glu_location glu:location
249 250
    key gzip_location gzip:location
    key haproxy_location haproxy:location
251
    key imagemagick_location imagemagick:location
252
    key instance_common_cfg instance-common:rendered
253
    key jsl_location jsl:location
254
    key jupyter_enable_default erp5-defaults:jupyter-enable-default
255
    key kumo_location kumo:location
256 257 258 259 260 261 262
    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
263
    key libexpat_location libexpat:location
264
    key libffi_location libffi:location
265 266
    key librsvg_location librsvg:location
    key libxcb_location libxcb:location
267
    key local_bt5_repository local-bt5-repository:list
268 269
    key logrotate_location logrotate:location
    key mariadb_location mariadb:location
270
    key mariadb_resiliency_after_import_script mariadb-resiliency-after-import-script:target
271
    key mariadb_slow_query_report_script mariadb-slow-query-report-script:target
272
    key mariadb_start_clone_from_backup mariadb-start-clone-from-backup:target
273
    key matplotlibrc_location matplotlibrc:location
274
    key mesa_location mesa:location
275
    key parts_directory buildout:parts-directory
276
    key openssl_location openssl:location
277
    key percona_toolkit_location percona-toolkit:location
278
    key pixman_location pixman:location
279
    key poppler_location poppler:location
280
    key postfix_location postfix:location
281
    key root_common root-common:target
282
    key site_zcml site-zcml:target
283
    key sixtunnel_location 6tunnel:location
284
    key stunnel_location stunnel:location
285
    key template_apache_conf template-apache-backend-conf:target
286
    key template_balancer template-balancer:target
287
    key template_erp5 template-erp5:target
288
    key template_haproxy_cfg template-haproxy-cfg:target
289
    key template_jupyter_cfg instance-jupyter-notebook:rendered
290
    key template_kumofs template-kumofs:target
291
    key template_mariadb template-mariadb:target
292
    key template_mariadb_initial_setup template-mariadb-initial-setup:target
293
    key template_monitor monitor2-template:rendered
294
    key template_my_cnf template-my-cnf:target
295
    key template_postfix template-postfix:target
296
    key template_postfix_aliases template-postfix-aliases:target
297 298
    key template_postfix_main_cf template-postfix-main-cf:target
    key template_postfix_master_cf template-postfix-master-cf:target
299
    key template_zeo template-zeo:target
300 301
    key template_zope template-zope:target
    key template_zope_conf template-zope-conf:target
302
    key userhosts_location userhosts:location
303
    key unixodbc_location unixodbc:location
304
    key wget_location wget:location
305 306
    key xdamage_location xdamage:location
    key xfixes_location xfixes:location
307
    key zlib_location zlib:location
308
    key extra_path_list eggs:extra-paths
309

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 =
362
  echo '${local-bt5-repository:list}' |xargs ${buildout:executable} ${:genbt5list}
363
update-command = ${:command}
364 365 366 367

[erp5_repository_list]
repository_id_list = erp5

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

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

[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 =
387
  runUnitTest=runUnitTest:main
388 389
scripts = runUnitTest
initialization =
390
  import glob, imp, os, sys
391
  import App # prevent Testing from importing Zope2.App instead of App
392
  import Products
393 394 395
  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])
396
  os.environ['ZOPE_SCRIPTS'] = ''
Vincent Pelletier's avatar
Vincent Pelletier committed
397
  parts_directory = '''${buildout:parts-directory}'''
398 399 400 401 402 403
  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)), []))
404
  extra_path_list = '''${:extra-paths}'''.split()
405
  sys.path[:0] = sum((
406 407
    glob.glob(os.path.join(x, 'tests'))
    for x in extra_path_list), [])
408
  sys.path[:0] = sum((
409 410
    glob.glob(os.path.join(x, 'Products', '*', 'tests'))
    for x in extra_path_list), [])
411 412 413
  sys.path[:0] = sum((
    glob.glob(os.path.join(x, 'Products', '*', 'tests'))
    for x in os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep)), [])
414
  os.environ['PATH'] = '${jsl:location}/bin:%s' % os.environ['PATH']
415
  os.environ['CGI_PATH'] = '${w3-validator:location}/httpd/cgi-bin'
416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433

[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'] = ''
434
  repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
435
  sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
436 437

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

Vincent Pelletier's avatar
Vincent Pelletier committed
504
# Zope
505
  Zope2
Vincent Pelletier's avatar
Vincent Pelletier committed
506
# Zope acquisition patch
507
  Acquisition
508 509
# for runzeo
  ZEO
510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530

# 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
531
  Products.LongRequestLogger
532

533 534 535 536
# BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
#      (for tests like testCookieCrumbler).
  zope.app.testing

537 538 539 540 541
# Currently forked in our repository
#    Products.PortalTransforms
# Dependency for our fork of PortalTransforms
  StructuredText

542 543
# Needed for parsing .po files from our Localizer subset
  polib
Rafael Monnerat's avatar
Rafael Monnerat committed
544

545 546
# Needed for Google OAuth
  google-api-python-client
547

Rafael Monnerat's avatar
Rafael Monnerat committed
548 549 550
# Need for Facebook OAuth
  facebook-sdk

551 552 553
# Used by ERP5 Jupyter backend
  ipykernel

554 555 556
# 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
557
interpreter = ${buildout:python}
558
scripts =
559
  apachedex
560 561 562 563 564
  repozo
  runzope
  runzeo
  tidstoraged
  tidstorage_repozo
565
  web_checker_utility = erp5.util.webchecker:web_checker_utility
566 567

extra-paths =
568
  ${erp5:location}
569

570 571
# patches for eggs
patch-binary = ${patch:location}/bin/patch
572
Acquisition-patches = ${:_profile_base_location_}/../../component/egg-patch/Acquisition/aq_dynamic.patch#1d9a56e9af4371f5b6951ebf217a15d7
573
Acquisition-patch-options = -p1
574
Products.DCWorkflow-patches = ${:_profile_base_location_}/../../component/egg-patch/Products.DCWorkflow/workflow_method.patch#975b49e96bae33ac8563454fe5fa9899
575
Products.DCWorkflow-patch-options = -p1
576
python-magic-patches = ${:_profile_base_location_}/../../component/egg-patch/python_magic/magic.patch#de0839bffac17801e39b60873a6c2068
577
python-magic-patch-options = -p1
578

579 580 581 582 583 584
[eggs-all-scripts]
recipe = zc.recipe.egg
eggs =
  munnel
patch-binary = ${eggs:patch-binary}

585 586
[zodbanalyze]
recipe = zc.recipe.egg
587
eggs = erp5.util
588 589 590 591
entry-points =
  zodbanalyze=erp5.util.zodbanalyze:main
scripts = zodbanalyze

592 593 594 595 596
# develop erp5.util from parts/erp5/
[erp5-util-develop]
recipe = zc.recipe.egg:develop
setup = ${erp5:location}

597
[slapos-deps-eggs]
598
recipe = zc.recipe.egg
599
eggs +=
Łukasz Nowak's avatar
Łukasz Nowak committed
600
  slapos.toolbox[zodbpack]
601
scripts +=
602
  is-local-tcp-port-opened
603
  is-process-older-than-dependency-set
604 605
  check-slow-queries-digest-result
  check-apachedex-result
606
  runApacheDex
Łukasz Nowak's avatar
Łukasz Nowak committed
607
  zodbpack
608

609
[versions]
610
# See ../../software/neoppod/software-common.cfg for versions common with NEO:
611
#  neoppod, mysqlclient, slapos.recipe.template & [slapos-deps-eggs]
612

613
# patched eggs
614
Acquisition = 2.13.12+SlapOSPatched001
615
Products.DCWorkflow = 2.2.4+SlapOSPatched001
616
ocropy = 1.0+SlapOSPatched001
617
pysvn = 1.7.10+SlapOSPatched002
618
python-ldap = 2.4.32+SlapOSPatched001
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
619
python-magic = 0.4.12+SlapOSPatched001
620

621
# use newer version than specified in ZTK
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
622
PasteDeploy = 1.5.2
623
argparse = 1.4.0
624
coverage = 4.3.4
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
625
zope.dottedname = 4.1.0
626 627 628 629

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

630
# we are still using this old stable version.
631
rdiff-backup = 1.0.5+SlapOSPatched001
632

633 634
# modified version that works fine for buildout installation
SOAPpy = 0.12.0nxd001
635

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
636
# CMF 2.3 is not yet supported.
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
637
Products.CMFCalendar = 2.2.3
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
638
Products.CMFCore = 2.2.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
639
Products.CMFDefault = 2.2.4
640 641
Products.CMFTopic = 2.2.1
Products.CMFUid = 2.2.1
642

643 644 645 646 647 648
# 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
649
# newer version requires zope.testbrowser>=4
650 651
zope.app.testing = 3.8.1

652
# Pinned versions
653
APacheDEX = 1.6.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
654
Pillow = 4.0.0
655 656
Products.CMFActionIcons = 2.1.3
Products.DCWorkflowGraph = 0.4.1
657 658
# 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
659
Products.GenericSetup = 1.8.6
660
Products.LongRequestLogger = 2.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
661
# Products.MimetypesRegistry 2.1 requires AccessControl>=3.0.0Acquisition.
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
662
Products.MimetypesRegistry = 2.0.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
663
Products.PluginRegistry = 1.4
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
664
Products.TIDStorage = 5.4.9
665
pyPdf = 1.13
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
666
PyPDF2 = 1.26.0
667
PyStemmer = 1.3.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
668
PyXML = 0.8.5
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
669
Pympler = 0.4.3
670 671
StructuredText = 2.11.1
WSGIUtils = 0.7
672
ZODB3 = 3.11.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
673
# astroid 1.4.1 breaks testDynamicClassGeneration
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
674
astroid = 1.3.8
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
675
chardet = 2.3.0
676
csp-eventlet = 0.7.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
677
erp5diff = 0.8.1.7
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
678
eventlet = 0.20.1
679
five.formlib = 1.0.4
680
five.localsitemanager = 2.0.5
681
google-api-python-client = 1.6.1
682
greenlet = 0.4.12
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
683
http-parser = 0.8.3
684
httplib2 = 0.10.3
685
huBarcode = 1.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
686
interval = 1.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
687
ipdb = 0.10.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
688
logilab-common = 1.3.0
689
munnel = 0.3
690
nt-svcutils = 2.13.0
691
oauth2client = 4.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
692
objgraph = 3.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
693
ply = 3.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
694
polib = 1.0.8
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
695
pprofile = 1.10.0
696 697
pyasn1 = 0.2.3
pyasn1-modules = 0.0.8
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
698
pycountry = 17.1.8
699
pycrypto = 2.6.1
700
pycurl = 7.43.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
701
pyflakes = 1.5.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
702
# pylint 1.5.1 breaks testDynamicClassGeneration
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
703
pylint = 1.4.4
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
704
python-memcached = 1.58
705
pytracemalloc = 1.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
706
qrcode = 5.3
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
707
restkit = 4.2.2
708
rsa = 3.4.2
709
rtjp-eventlet = 0.3.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
710
socketpool = 0.5.3
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
711
spyne = 2.12.14
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
712
suds = 0.4
Rafael Monnerat's avatar
Rafael Monnerat committed
713
facebook-sdk = 2.0.0
714
threadframe = 0.2
715
timerserver = 2.0.4
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
716
urlnorm = 1.1.4
717
uuid = 1.30
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
718
validictory = 1.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
719
xfw = 0.10
720
xupdate-processor = 0.4
721
selenium = 3.8.0
722
zbarlight = 2.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
723 724

# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
725
# Products.CMFCore==2.2.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
726
Products.ZSQLMethods = 2.13.5
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
727

728
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
729 730
# eventlet==0.20.1
enum-compat = 0.0.2
731

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
732
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
733
# SOAPpy===0.12.0nxd001
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
734 735
fpconst = 0.7.2

736
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
737 738
# objgraph==3.1.0
graphviz = 0.5.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
739

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
740 741 742
# Required by:
# Pillow==4.0.0
olefile = 0.44
743

744 745 746 747
# Required by:
# munnel==0.3
python-libmilter = 1.0.3

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
748 749
# Required by:
# zope.app.testing==3.8.1
750
zope.app.debug = 3.4.1
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
751 752 753

# Required by:
# zope.app.testing==3.8.1
754
zope.app.dependable = 3.5.1
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
755 756 757 758

# Required by:
# Products.CMFCalendar==2.2.3
# five.formlib==1.0.4
759
zope.app.form = 4.0.2
760 761 762 763 764 765 766 767 768 769 770

Cython = 0.26.1
et-xmlfile = 1.0.1
h5py = 2.7.1
mpmath = 0.19
openpyxl = 2.4.8
sympy = 1.1.1

# Required by:
# openpyxl==2.4.8
jdcal = 1.3