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

58
parts +=
59
  erp5-util-develop
60
  slapos-cookbook
61
  rdiff-backup
62
  mroonga-mariadb
63
  tesseract
64 65
  tesseract-eng-traineddata
  tesseract-osd-traineddata
66 67 68 69
  hookbox
  zabbix-agent

# Buildoutish
70
  eggs-all-scripts
71 72 73 74
  testrunner
  test_suite_runner

# get git repositories
75 76
  genbt5list

77
# some additional utils
78
  zodbanalyze
79
  zodbpack
80

81 82 83
# Create instance template
  template

84
# jupyter
85
  jupyter-notebook-initialized-scripts
86

87
[gcc]
Jérome Perrin's avatar
Jérome Perrin committed
88 89 90
# We want a recent gcc for performance, also with fortran support for scientific python.
part = gcc-8.2

91

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

96
[download-base]
97
<= download-base-neo
98 99
url = ${:_profile_base_location_}/${:filename}

100 101 102 103
[mariadb-start-clone-from-backup]
<= download-base
mode = 755

104
[mariadb-resiliency-after-import-script]
105
<= download-base
106 107
mode = 755

108 109 110 111
[mariadb-slow-query-report-script]
<= download-base
mode = 755

112
[template-mariadb]
113
<= download-base
114 115 116 117 118 119 120
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
121
  ${gettext:location}/lib/gettext/hostname
122 123
  ${grep:location}/bin/grep
  ${sed:location}/bin/sed
124
  ${mariadb:location}/bin/mysqlbinlog
125 126

[template-kumofs]
127
<= download-base
128 129

[template-zope-conf]
130
<= download-base
131

132
[site-zcml]
133
<= download-base
134

135
[template-my-cnf]
136
<= download-base
137 138

[template-mariadb-initial-setup]
139
<= download-base
140

141 142 143 144 145 146 147 148
[template-postfix]
< = download-base

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

[template-postfix-main-cf]
< = download-base
149 150 151

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

153 154
[template-run-zelenium]
< = download-base
155

156

157
[template]
158
recipe = slapos.recipe.template:jinja2
159
# XXX: "template.cfg" is hardcoded in instanciation recipe
160
rendered = ${buildout:directory}/template.cfg
161
template = ${:_profile_base_location_}/${:filename}
162 163
mode = 640
context =
164
    key mariadb_link_binary template-mariadb:link-binary
165
    key zope_link_binary template-zope:link-binary
166 167
    key zope_fonts template-zope:fonts
    key zope_fontconfig_includes template-zope:fontconfig-includes
168
    key apache_location apache:location
169
    key bin_directory buildout:bin-directory
170
    key buildout_bin_directory buildout:bin-directory
171
    key caucase_jinja2_library caucase-jinja2-library:target
172
    key coreutils_location coreutils:location
173
    key curl_location curl:location
174
    key cyrus_sasl_location cyrus-sasl:location
175
    key dash_location dash:location
176
    key bash_location bash:location
177
    key dcron_location dcron:location
178
    key default_cloudooo_url erp5-defaults:cloudooo-connection-url
179
    key erp5_location erp5:location
180
    key findutils_location findutils:location
181 182
    key gzip_location gzip:location
    key haproxy_location haproxy:location
183
    key instance_common_cfg instance-common:rendered
184
    key jsl_location jsl:location
185
    key jupyter_enable_default erp5-defaults:jupyter-enable-default
186
    key kumo_location kumo:location
187
    key local_bt5_repository local-bt5-repository:list
188 189
    key logrotate_location logrotate:location
    key mariadb_location mariadb:location
190
    key mariadb_resiliency_after_import_script mariadb-resiliency-after-import-script:target
191
    key mariadb_slow_query_report_script mariadb-slow-query-report-script:target
192
    key mariadb_start_clone_from_backup mariadb-start-clone-from-backup:target
193
    key mroonga_mariadb_install_sql mroonga-mariadb:install-sql
194 195 196
    key mroonga_mariadb_plugin_dir mroonga-mariadb:plugin-dir
    key groonga_plugin_dir groonga:groonga-plugin-dir
    key groonga_mysql_normalizer_plugin_dir groonga-normalizer-mysql:groonga-plugin-dir
197
    key matplotlibrc_location matplotlibrc:location
198
    key parts_directory buildout:parts-directory
199
    key openssl_location openssl:location
200
    key percona_toolkit_location percona-toolkit:location
201
    key perl_dbd_mariadb_path perl-DBD-mariadb:perl-PATH
202
    key postfix_location postfix:location
203
    key root_common root-common:target
204
    key site_zcml site-zcml:target
205
    key sixtunnel_location 6tunnel:location
206 207
    key template_run_zelenium template-run-zelenium:target
    key egg_interpreter eggs:interpreter
208
    key template_apache_conf template-apache-backend-conf:target
209
    key template_balancer template-balancer:target
210
    key template_erp5 template-erp5:target
211
    key template_haproxy_cfg template-haproxy-cfg:target
212
    key template_jupyter_cfg instance-jupyter-notebook:rendered
213
    key template_kumofs template-kumofs:target
214
    key template_mariadb template-mariadb:target
215 216
    key template_mariadb_initial_setup template-mariadb-initial-setup:target
    key template_my_cnf template-my-cnf:target
217
    key template_mysqld_wrapper template-mysqld-wrapper:rendered
218
    key template_postfix template-postfix:target
219
    key template_postfix_aliases template-postfix-aliases:target
220 221
    key template_postfix_main_cf template-postfix-main-cf:target
    key template_postfix_master_cf template-postfix-master-cf:target
222
    key template_zeo template-zeo:target
223 224
    key template_zope template-zope:target
    key template_zope_conf template-zope-conf:target
225
    key template_fonts_conf template-fonts-conf:output
226
    key userhosts_location userhosts:location
227
    key unixodbc_location unixodbc:location
228
    key wget_location wget:location
229
    key extra_path_list eggs:extra-paths
230

231
[template-erp5]
232
<= download-base
233

234
[template-zeo]
235
<= download-base
236

237
[template-zope]
238
<= download-base
239
link-binary =
240
  ${aspell-en-dictionary:bin-aspell}
241 242 243 244 245 246
  ${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
247 248
  ${jsl:location}/bin/jsl
  ${librsvg:location}/bin/rsvg-convert
249 250
  ${mariadb:location}/bin/mysql
  ${mariadb:location}/bin/mysqldump
251 252 253 254 255 256 257
  ${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
258 259 260 261 262 263 264 265 266
fonts =
  ${liberation-fonts:location}
  ${ipaex-fonts:location}
  ${ipa-fonts:location}
  ${ocrb-fonts:location}
  ${android-fonts:location}
fontconfig-includes =
  ${fontconfig:location}/etc/fonts/conf.d

267 268

[template-balancer]
269
<= download-base
270

271
[template-haproxy-cfg]
272
<= download-base
273

274 275 276 277 278
[erp5-bin]
<= erp5
repository = https://lab.nexedi.com/nexedi/erp5-bin.git
branch = master

279 280 281 282 283
[erp5-doc]
<= erp5
repository = https://lab.nexedi.com/nexedi/erp5-doc.git
branch = master

284 285 286 287 288 289 290 291 292 293 294
[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.
295
list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap ${erp5-bin:location}/bt5 ${erp5-doc:location}/bt5
296 297 298 299 300 301

[genbt5list]
recipe = plone.recipe.command
stop-on-error = true
genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
command =
302
  echo '${local-bt5-repository:list}' |xargs ${buildout:executable} ${:genbt5list}
303
update-command = ${:command}
304 305

[erp5_repository_list]
306
repository_id_list = erp5 erp5-bin erp5-doc
307

308 309
# ERP5 defaults, which can be overridden in inheriting recipes (e.g. wendelin)
[erp5-defaults]
310
cloudooo-connection-url = https://cloudooo.erp5.net/
311 312 313
# Jupyter is by default disabled in ERP5
jupyter-enable-default = false

314
[erp5]
315
recipe = slapos.recipe.build:gitclone
316
repository = https://lab.nexedi.com/nexedi/erp5.git
317
branch = master
318
git-executable = ${git:location}/bin/git
319 320 321 322 323 324 325 326

[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 =
327
  runUnitTest=runUnitTest:main
328 329
scripts = runUnitTest
initialization =
330
  import glob, os, sys
331
  import Products
332 333
  Products.__path__[:0] = filter(None,
    os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
334
  os.environ['ZOPE_SCRIPTS'] = ''
Vincent Pelletier's avatar
Vincent Pelletier committed
335
  parts_directory = '''${buildout:parts-directory}'''
336 337
  repository_id_list = \
    '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
338 339
  os.environ['erp5_tests_bt5_path'] = ','.join(
    os.path.join(parts_directory, x, 'bt5') for x in repository_id_list)
340
  extra_path_list = '''${:extra-paths}'''.split()
341
  sys.path[:0] = sum((
342 343
    glob.glob(os.path.join(x, 'tests'))
    for x in extra_path_list), [])
344
  sys.path[:0] = sum((
345 346
    glob.glob(os.path.join(x, 'Products', '*', 'tests'))
    for x in extra_path_list), [])
347 348 349
  sys.path[:0] = sum((
    glob.glob(os.path.join(x, 'Products', '*', 'tests'))
    for x in os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep)), [])
350
  os.environ['PATH'] = '${jsl:location}/bin:%s' % os.environ['PATH']
351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366

[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]
  os.environ['ZOPE_SCRIPTS'] = ''
367
  repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
368
  sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
369 370

[eggs]
371
<= neoppod
372
eggs = ${neoppod:eggs}
373
  ${caucase-eggs:eggs}
374
  ${numpy:egg}
375
  ${matplotlib:egg}
376
  ${lxml-python:egg}
377
  ${ocropy:egg}
378
  ${pandas:egg}
379
  ${pillow-python:egg}
380 381
  ${python-ldap-python:egg}
  ${pysvn-python:egg}
382
  ${pycrypto-python:egg}
383
  ${scipy:egg}
384
  ${scikit-learn:egg}
385
  ${scikit-image:egg}
386
  sympy
387
  more-itertools
388 389 390
  ${h5py:egg}
  openpyxl
  ${statsmodels:egg}
Yusei Tahara's avatar
Yusei Tahara committed
391
  ${zbarlight:egg}
392
  lock_file
393
  astor
394
  APacheDEX
395
  PyStemmer
396
  PyXML
397
  Pympler
398 399
  SOAPpy
  chardet
400
  collective.recipe.template
Aurel's avatar
Aurel committed
401
  coverage
402
  erp5diff
403
  interval
404
  ipdb
405
  Jinja2
406
  jsonschema
407
  mechanize
Jérome Perrin's avatar
Jérome Perrin committed
408
  mock
409
  objgraph
410 411
  paramiko
  ply
Jérome Perrin's avatar
Jérome Perrin committed
412
  pyflakes
Gabriel Monnerat's avatar
Gabriel Monnerat committed
413
  PyPDF2
414 415 416
  python-magic
  python-memcached
  pytz
417
  requests
Jérome Perrin's avatar
Jérome Perrin committed
418
  responses
419 420 421 422 423 424 425
  threadframe
  timerserver
  urlnorm
  uuid
  xml_marshaller
  xupdate_processor
  feedparser
426
  validictory
427
  erp5.util
428
  z3c.etestbrowser
429
  huBarcode
430
  qrcode
431
  spyne
432 433
  httplib2
  suds
434
  pprofile
435
  pycountry
Jérome Perrin's avatar
Jérome Perrin committed
436
  xfw
437
  jsonschema
Vincent Bechu's avatar
Vincent Bechu committed
438
  selenium
439 440 441
  pytesseract
  decorator
  networkx
442
# Needed for checking ZODB Components source code
443
  ${pylint:egg}
Jérome Perrin's avatar
Jérome Perrin committed
444
  jedi
Jérome Perrin's avatar
Jérome Perrin committed
445
  yapf
Jérome Perrin's avatar
Jérome Perrin committed
446
  typing
447
  pytracemalloc
448
  xlrd
449

Vincent Pelletier's avatar
Vincent Pelletier committed
450
# Zope
451
  Zope2
Vincent Pelletier's avatar
Vincent Pelletier committed
452
# Zope acquisition patch
453
  Acquisition
454 455
# for runzeo
  ZEO
456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476

# 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
477
  Products.LongRequestLogger
478

479 480 481 482
# BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
#      (for tests like testCookieCrumbler).
  zope.app.testing

483 484 485 486 487
# Currently forked in our repository
#    Products.PortalTransforms
# Dependency for our fork of PortalTransforms
  StructuredText

488 489
# Needed for parsing .po files from our Localizer subset
  polib
Rafael Monnerat's avatar
Rafael Monnerat committed
490

491 492
# Needed for Google OAuth
  google-api-python-client
493

Rafael Monnerat's avatar
Rafael Monnerat committed
494 495 496
# Need for Facebook OAuth
  facebook-sdk

497 498 499
# Used by ERP5 Jupyter backend
  ipykernel

500 501 502 503 504 505
# Used by DiffTool
  xmltodict
  deepdiff
  unidiff
  jsonpickle

506 507 508 509
# WSGI server
  zope.globalrequest
  waitress

510 511 512
# 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
513
interpreter = ${buildout:python}
514 515
entry-points =
  runwsgi=Products.ERP5.bin.zopewsgi:runwsgi
516
scripts =
517
  apachedex
518
  performance_tester_erp5
519
  runwsgi
520 521 522 523
  runzope
  runzeo
  tidstoraged
  tidstorage_repozo
524
  web_checker_utility
525 526

extra-paths =
527
  ${erp5:location}
528

529 530
# patches for eggs
patch-binary = ${patch:location}/bin/patch
Gabriel Monnerat's avatar
Gabriel Monnerat committed
531 532
PyPDF2-patches = ${:_profile_base_location_}/../../component/egg-patch/PyPDF2/0001-Custom-implementation-of-warnings.formatwarning-remo.patch#d25bb0f5dde7f3337a0a50c2f986f5c8
PyPDF2-patch-options = -p1
533
Acquisition-patches = ${:_profile_base_location_}/../../component/egg-patch/Acquisition/aq_dynamic.patch#1d9a56e9af4371f5b6951ebf217a15d7
534
Acquisition-patch-options = -p1
535
Products.DCWorkflow-patches = ${:_profile_base_location_}/../../component/egg-patch/Products.DCWorkflow/workflow_method.patch#975b49e96bae33ac8563454fe5fa9899
536
Products.DCWorkflow-patch-options = -p1
537
python-magic-patches = ${:_profile_base_location_}/../../component/egg-patch/python_magic/magic.patch#de0839bffac17801e39b60873a6c2068
538
python-magic-patch-options = -p1
539

540 541 542 543 544 545
[eggs-all-scripts]
recipe = zc.recipe.egg
eggs =
  munnel
patch-binary = ${eggs:patch-binary}

546 547
[zodbanalyze]
recipe = zc.recipe.egg
548
eggs = erp5.util
549 550 551 552
entry-points =
  zodbanalyze=erp5.util.zodbanalyze:main
scripts = zodbanalyze

553 554 555 556 557
# develop erp5.util from parts/erp5/
[erp5-util-develop]
recipe = zc.recipe.egg:develop
setup = ${erp5:location}

558
[zodbpack]
559
recipe = zc.recipe.egg
560 561 562 563 564 565
eggs =
  ${lxml-python:egg}
  ${pycurl:egg}
  ${python-PyYAML:egg}
  ${python-cryptography:egg}
  ${python-cliff:egg}
Łukasz Nowak's avatar
Łukasz Nowak committed
566
  slapos.toolbox[zodbpack]
567
scripts =
Łukasz Nowak's avatar
Łukasz Nowak committed
568
  zodbpack
569

570
[versions]
571
# See ../../software/neoppod/software-common.cfg for versions common with NEO:
572
#  neoppod, mysqlclient, slapos.recipe.template
573

574
# patched eggs
575
Acquisition = 2.13.12+SlapOSPatched001
576
Products.DCWorkflow = 2.2.4+SlapOSPatched001
577
ocropy = 1.0+SlapOSPatched001
578
pysvn = 1.7.10+SlapOSPatched002
579
python-ldap = 2.4.32+SlapOSPatched001
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
580
python-magic = 0.4.12+SlapOSPatched001
Gabriel Monnerat's avatar
Gabriel Monnerat committed
581
PyPDF2 = 1.26.0+SlapOSPatched001
582 583
## https://lab.nexedi.com/nexedi/slapos/merge_requests/648
pylint = 1.4.4
584

585
# use newer version than specified in ZTK
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
586
PasteDeploy = 1.5.2
587
argparse = 1.4.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
588
zope.dottedname = 4.1.0
589 590 591 592

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

593
# we are still using this old stable version.
594
rdiff-backup = 1.0.5+SlapOSPatched001
595

596 597
# modified version that works fine for buildout installation
SOAPpy = 0.12.0nxd001
598

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
599
# CMF 2.3 is not yet supported.
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
600
Products.CMFCalendar = 2.2.3
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
601
Products.CMFCore = 2.2.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
602
Products.CMFDefault = 2.2.4
603 604
Products.CMFTopic = 2.2.1
Products.CMFUid = 2.2.1
605

606 607 608 609 610 611
# 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
612
# newer version requires zope.testbrowser>=4
613 614
zope.app.testing = 3.8.1

615
# Pinned versions
616
APacheDEX = 1.6.2
617
Pillow = 5.2.0
618 619
Products.CMFActionIcons = 2.1.3
Products.DCWorkflowGraph = 0.4.1
620 621
# 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
622
Products.GenericSetup = 1.8.6
623
Products.LongRequestLogger = 2.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
624
# Products.MimetypesRegistry 2.1 requires AccessControl>=3.0.0Acquisition.
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
625
Products.MimetypesRegistry = 2.0.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
626
Products.PluginRegistry = 1.4
627
Products.TIDStorage = 5.5.0
628
pyPdf = 1.13
629
PyStemmer = 1.3.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
630
PyXML = 0.8.5
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
631
Pympler = 0.4.3
632 633
StructuredText = 2.11.1
WSGIUtils = 0.7
634
ZODB3 = 3.11.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
635
# astroid 1.4.1 breaks testDynamicClassGeneration
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
636
astroid = 1.3.8
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
637
chardet = 2.3.0
638
csp-eventlet = 0.7.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
639
erp5diff = 0.8.1.7
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
640
eventlet = 0.20.1
641
five.formlib = 1.0.4
642
five.localsitemanager = 2.0.5
643
google-api-python-client = 1.6.1
644
greenlet = 0.4.12
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
645
http-parser = 0.8.3
646
httplib2 = 0.10.3
647
huBarcode = 1.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
648
interval = 1.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
649
ipdb = 0.10.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
650
logilab-common = 1.3.0
651
munnel = 0.3
652
nt-svcutils = 2.13.0
653
oauth2client = 4.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
654
objgraph = 3.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
655
ply = 3.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
656
polib = 1.0.8
657
pprofile = 2.0.4
658
pyasn1-modules = 0.0.8
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
659
pycountry = 17.1.8
660
pycrypto = 2.6.1
661
pycurl = 7.43.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
662
pyflakes = 1.5.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
663
python-memcached = 1.58
664
pytracemalloc = 1.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
665
qrcode = 5.3
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
666
restkit = 4.2.2
667
rsa = 3.4.2
668
rtjp-eventlet = 0.3.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
669
socketpool = 0.5.3
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
670
spyne = 2.12.14
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
671
suds = 0.4
Rafael Monnerat's avatar
Rafael Monnerat committed
672
facebook-sdk = 2.0.0
673
threadframe = 0.2
674
timerserver = 2.0.4
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
675
urlnorm = 1.1.4
676
uuid = 1.30
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
677
validictory = 1.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
678
xfw = 0.10
679
xupdate-processor = 0.4
680
selenium = 3.8.0
681 682 683
scikit-image = 0.14.0
PyWavelets = 0.5.2
networkx = 2.1
684
pytesseract = 0.2.2
685
zbarlight = 2.0
686 687 688
cloudpickle = 0.5.3
dask = 0.18.1
toolz = 0.9.0
689 690
zope.globalrequest = 1.5
waitress = 1.3.0
691
xlrd = 1.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
692

693 694 695
# Re-add for as it is required to be there for uninstallation
erp5.recipe.w3validator = 1.0.2

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
696
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
697
# Products.CMFCore==2.2.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
698
Products.ZSQLMethods = 2.13.5
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
699

700
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
701 702
# eventlet==0.20.1
enum-compat = 0.0.2
703

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
704
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
705
# SOAPpy===0.12.0nxd001
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
706 707
fpconst = 0.7.2

708
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
709 710
# objgraph==3.1.0
graphviz = 0.5.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
711

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
712 713 714
# Required by:
# Pillow==4.0.0
olefile = 0.44
715

716 717 718 719
# Required by:
# munnel==0.3
python-libmilter = 1.0.3

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
720 721
# Required by:
# zope.app.testing==3.8.1
722
zope.app.debug = 3.4.1
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
723 724 725

# Required by:
# zope.app.testing==3.8.1
726
zope.app.dependable = 3.5.1
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
727 728 729 730

# Required by:
# Products.CMFCalendar==2.2.3
# five.formlib==1.0.4
731
zope.app.form = 4.0.2
732 733 734 735 736 737 738 739 740 741

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
742 743 744 745 746 747 748 749

xmltodict = 0.11.0
deepdiff = 3.3.0
unidiff = 0.5.5

# Required by:
# deepdiff = 3.3.0
jsonpickle = 0.9.6
Jérome Perrin's avatar
Jérome Perrin committed
750

Jérome Perrin's avatar
Jérome Perrin committed
751 752 753 754 755
responses = 0.10.6

# Required by:
# responses = 0.10.6
cookies = 2.2.1
Jérome Perrin's avatar
Jérome Perrin committed
756 757 758

jedi = 0.15.1
parso = 0.5.1
Jérome Perrin's avatar
Jérome Perrin committed
759 760

yapf = 0.28.0
Jérome Perrin's avatar
Jérome Perrin committed
761

762 763 764 765 766 767 768 769 770 771 772 773 774 775 776
# Required by:
# erp5.util==0.4.65
z3c.etestbrowser = 3.0.1
zope.testbrowser = 5.5.1

# Required by:
# zope.testbrowser==5.5.1
WSGIProxy2 = 0.4.6
WebTest = 2.0.33
beautifulsoup4 = 4.8.2

# Required by:
# WSGIProxy2==0.4.6
WebOb = 1.8.5
soupsieve = 1.9.5