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 matplotlibrc_location matplotlibrc:location
207
    key parts_directory buildout:parts-directory
208
    key openssl_location openssl:location
209
    key percona_toolkit_location percona-toolkit:location
210
    key perl_dbd_mariadb_path perl-DBD-mariadb:perl-PATH
211
    key postfix_location postfix:location
212
    key root_common root-common:target
213
    key site_zcml site-zcml:target
214
    key sixtunnel_location 6tunnel:location
215 216
    key template_run_zelenium template-run-zelenium:target
    key egg_interpreter eggs:interpreter
217
    key template_apache_conf template-apache-backend-conf:target
218
    key template_balancer template-balancer:target
219
    key template_erp5 template-erp5:target
220
    key template_haproxy_cfg template-haproxy-cfg:target
221
    key template_jupyter_cfg instance-jupyter-notebook:rendered
222
    key template_kumofs template-kumofs:target
223
    key template_mariadb template-mariadb:target
224 225
    key template_mariadb_initial_setup template-mariadb-initial-setup:target
    key template_my_cnf template-my-cnf:target
226
    key template_mysqld_wrapper template-mysqld-wrapper:rendered
227
    key template_postfix template-postfix:target
228
    key template_postfix_aliases template-postfix-aliases:target
229 230
    key template_postfix_main_cf template-postfix-main-cf:target
    key template_postfix_master_cf template-postfix-master-cf:target
231
    key template_zeo template-zeo:target
232 233
    key template_zope template-zope:target
    key template_zope_conf template-zope-conf:target
234
    key userhosts_location userhosts:location
235
    key unixodbc_location unixodbc:location
236
    key wget_location wget:location
237
    key extra_path_list eggs:extra-paths
238

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

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

245
[template-zope]
246
<= download-base
247
link-binary =
248
  ${aspell:location}/bin/aspell
249 250 251 252 253 254
  ${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
255 256
  ${jsl:location}/bin/jsl
  ${librsvg:location}/bin/rsvg-convert
257 258
  ${mariadb:location}/bin/mysql
  ${mariadb:location}/bin/mysqldump
259 260 261 262 263 264 265
  ${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
266 267

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

500 501 502
# Used by ERP5 Jupyter backend
  ipykernel

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

509 510 511 512
# WSGI server
  zope.globalrequest
  waitress

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

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

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

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

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

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

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

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

575
# patched eggs
576
Acquisition = 2.13.12+SlapOSPatched001
577
Products.DCWorkflow = 2.2.4+SlapOSPatched001
578
ocropy = 1.0+SlapOSPatched001
579
pysvn = 1.7.10+SlapOSPatched002
580
python-ldap = 2.4.32+SlapOSPatched001
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
581
python-magic = 0.4.12+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
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
629
PyPDF2 = 1.26.0
630
PyStemmer = 1.3.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
631
PyXML = 0.8.5
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
632
Pympler = 0.4.3
633 634
StructuredText = 2.11.1
WSGIUtils = 0.7
635
ZODB3 = 3.11.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
636
# astroid 1.4.1 breaks testDynamicClassGeneration
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
637
astroid = 1.3.8
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
638
chardet = 2.3.0
639
csp-eventlet = 0.7.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
640
erp5diff = 0.8.1.7
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
641
eventlet = 0.20.1
642
five.formlib = 1.0.4
643
five.localsitemanager = 2.0.5
644
google-api-python-client = 1.6.1
645
greenlet = 0.4.12
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
646
http-parser = 0.8.3
647
httplib2 = 0.10.3
648
huBarcode = 1.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
649
interval = 1.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
650
ipdb = 0.10.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
651
logilab-common = 1.3.0
652
munnel = 0.3
653
nt-svcutils = 2.13.0
654
oauth2client = 4.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
655
objgraph = 3.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
656
ply = 3.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
657
polib = 1.0.8
658
pprofile = 2.0.1
659
pyasn1-modules = 0.0.8
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
660
pycountry = 17.1.8
661
pycrypto = 2.6.1
662
pycurl = 7.43.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
663
pyflakes = 1.5.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
664
python-memcached = 1.58
665
pytracemalloc = 1.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
666
qrcode = 5.3
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
667
restkit = 4.2.2
668
rsa = 3.4.2
669
rtjp-eventlet = 0.3.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
670
socketpool = 0.5.3
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
671
spyne = 2.12.14
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
672
suds = 0.4
Rafael Monnerat's avatar
Rafael Monnerat committed
673
facebook-sdk = 2.0.0
674
threadframe = 0.2
675
timerserver = 2.0.4
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
676
urlnorm = 1.1.4
677
uuid = 1.30
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
678
validictory = 1.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
679
xfw = 0.10
680
xupdate-processor = 0.4
681
selenium = 3.8.0
682 683 684
scikit-image = 0.14.0
PyWavelets = 0.5.2
networkx = 2.1
685
pytesseract = 0.2.2
686
zbarlight = 2.0
687 688 689
cloudpickle = 0.5.3
dask = 0.18.1
toolz = 0.9.0
690 691
zope.globalrequest = 1.5
waitress = 1.3.0
692
xlrd = 1.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
693

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

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

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

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

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

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

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

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

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

Cython = 0.26.1
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 783 784 785 786

# 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

# Required by:
# soupsieve==1.9.5
backports.functools-lru-cache = 1.6.1