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

59
parts +=
60
  erp5-util-develop
61
  slapos-cookbook
62
  rdiff-backup
63
  aspell-en-dictionary
64
  apache-antiloris
65
  mroonga-mariadb
66
  tesseract
67 68
  tesseract-eng-traineddata
  tesseract-osd-traineddata
69 70 71 72
  hookbox
  zabbix-agent

# Buildoutish
73
  eggs-all-scripts
74 75 76 77 78 79
  testrunner
  test_suite_runner

# fonts
  liberation-fonts
  ipaex-fonts
80
  ipa-fonts
81
  ocrb-fonts
82
  android-fonts
83 84

# get git repositories
85 86
  genbt5list

87
# some additional utils
88
  zodbanalyze
89
  zodbpack
90

91 92 93
# Create instance template
  template

94
# jupyter
95
  jupyter-notebook-initialized-scripts
96

97 98 99 100
# override python2.7 to add SlapOS libstdc++ in RPATH.
[python2.7]
extra-ldflags = -Wl,-rpath=${gcc:location}/lib -Wl,-rpath=${gcc:location}/lib64

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

105
[download-base]
106
<= download-base-neo
107 108
url = ${:_profile_base_location_}/${:filename}

109 110 111 112 113 114
[check-recipe]
recipe = plone.recipe.command
stop-on-error = true
update-command = ${:command}
command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link

115 116 117 118
[mariadb-start-clone-from-backup]
<= download-base
mode = 755

119
[mariadb-resiliency-after-import-script]
120
<= download-base
121 122
mode = 755

123 124 125 126
[mariadb-slow-query-report-script]
<= download-base
mode = 755

127
[template-mariadb]
128
<= download-base
129 130 131 132 133 134 135
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
136
  ${gettext:location}/lib/gettext/hostname
137 138
  ${grep:location}/bin/grep
  ${sed:location}/bin/sed
139
  ${mariadb:location}/bin/mysqlbinlog
140 141

[template-kumofs]
142
<= download-base
143 144

[template-zope-conf]
145
<= download-base
146

147
[site-zcml]
148
<= download-base
149

150
[template-my-cnf]
151
<= download-base
152 153

[template-mariadb-initial-setup]
154
<= download-base
155

156 157 158 159 160 161 162 163
[template-postfix]
< = download-base

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

[template-postfix-main-cf]
< = download-base
164 165 166

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

168 169
[template-run-zelenium]
< = download-base
170

171

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

240
[template-erp5]
241
<= download-base
242

243
[template-zeo]
244
<= download-base
245

246
[template-zope]
247
<= download-base
248
link-binary =
249
  ${aspell:location}/bin/aspell
250 251 252 253 254 255
  ${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
256 257
  ${jsl:location}/bin/jsl
  ${librsvg:location}/bin/rsvg-convert
258 259
  ${mariadb:location}/bin/mysql
  ${mariadb:location}/bin/mysqldump
260 261 262 263 264 265 266
  ${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
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, imp, os, sys
331
  import App # prevent Testing from importing Zope2.App instead of App
332
  import Products
333 334 335
  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])
336
  os.environ['ZOPE_SCRIPTS'] = ''
Vincent Pelletier's avatar
Vincent Pelletier committed
337
  parts_directory = '''${buildout:parts-directory}'''
338 339
  repository_id_list = \
    '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
340 341
  os.environ['erp5_tests_bt5_path'] = ','.join(
    os.path.join(parts_directory, x, 'bt5') for x in repository_id_list)
342
  extra_path_list = '''${:extra-paths}'''.split()
343
  sys.path[:0] = sum((
344 345
    glob.glob(os.path.join(x, 'tests'))
    for x in extra_path_list), [])
346
  sys.path[:0] = sum((
347 348
    glob.glob(os.path.join(x, 'Products', '*', 'tests'))
    for x in extra_path_list), [])
349 350 351
  sys.path[:0] = sum((
    glob.glob(os.path.join(x, 'Products', '*', 'tests'))
    for x in os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep)), [])
352
  os.environ['PATH'] = '${jsl:location}/bin:%s' % os.environ['PATH']
353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370

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

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

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

# 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
481
  Products.LongRequestLogger
482

483 484 485 486
# BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
#      (for tests like testCookieCrumbler).
  zope.app.testing

487 488 489 490 491
# Currently forked in our repository
#    Products.PortalTransforms
# Dependency for our fork of PortalTransforms
  StructuredText

492 493
# Needed for parsing .po files from our Localizer subset
  polib
Rafael Monnerat's avatar
Rafael Monnerat committed
494

495 496
# Needed for Google OAuth
  google-api-python-client
497

Rafael Monnerat's avatar
Rafael Monnerat committed
498 499 500
# Need for Facebook OAuth
  facebook-sdk

501 502 503
# Used by ERP5 Jupyter backend
  ipykernel

504 505 506 507 508 509
# Used by DiffTool
  xmltodict
  deepdiff
  unidiff
  jsonpickle

510 511 512 513
# WSGI server
  zope.globalrequest
  waitress

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

extra-paths =
531
  ${erp5:location}
532

533 534
# patches for eggs
patch-binary = ${patch:location}/bin/patch
535
Acquisition-patches = ${:_profile_base_location_}/../../component/egg-patch/Acquisition/aq_dynamic.patch#1d9a56e9af4371f5b6951ebf217a15d7
536
Acquisition-patch-options = -p1
537
Products.DCWorkflow-patches = ${:_profile_base_location_}/../../component/egg-patch/Products.DCWorkflow/workflow_method.patch#975b49e96bae33ac8563454fe5fa9899
538
Products.DCWorkflow-patch-options = -p1
539
python-magic-patches = ${:_profile_base_location_}/../../component/egg-patch/python_magic/magic.patch#de0839bffac17801e39b60873a6c2068
540
python-magic-patch-options = -p1
541

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

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

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

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

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

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

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

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

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

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

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

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

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

695 696 697
# 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
698
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
699
# Products.CMFCore==2.2.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
700
Products.ZSQLMethods = 2.13.5
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
701

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

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

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

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

718 719 720 721
# Required by:
# munnel==0.3
python-libmilter = 1.0.3

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

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

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

et-xmlfile = 1.0.1
736
more-itertools = 5.0.0
737 738 739 740 741 742 743 744
h5py = 2.7.1
mpmath = 0.19
openpyxl = 2.4.8
sympy = 1.1.1

# Required by:
# openpyxl==2.4.8
jdcal = 1.3
745 746 747 748 749 750 751 752

xmltodict = 0.11.0
deepdiff = 3.3.0
unidiff = 0.5.5

# Required by:
# deepdiff = 3.3.0
jsonpickle = 0.9.6
753
decorator = 4.3.0
Jérome Perrin's avatar
Jérome Perrin committed
754

Jérome Perrin's avatar
Jérome Perrin committed
755 756 757 758 759
responses = 0.10.6

# Required by:
# responses = 0.10.6
cookies = 2.2.1
Jérome Perrin's avatar
Jérome Perrin committed
760 761 762

jedi = 0.15.1
parso = 0.5.1
Jérome Perrin's avatar
Jérome Perrin committed
763 764

yapf = 0.28.0
Jérome Perrin's avatar
Jérome Perrin committed
765 766

typing = 3.7.4.1
767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782

# 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