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

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

# Buildoutish
72
  eggs-all-scripts
73 74 75 76
  testrunner
  test_suite_runner

# get git repositories
77 78
  genbt5list

79
# some additional utils
80
  zodbanalyze
81
  zodbpack
82

83 84 85
# Create instance template
  template

86
# jupyter
87
  jupyter-notebook-initialized-scripts
88

89

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

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

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

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

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

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

[template-kumofs]
125
<= download-base
126 127

[template-zope-conf]
128
<= download-base
129

130
[site-zcml]
131
<= download-base
132

133
[template-my-cnf]
134
<= download-base
135 136

[template-mariadb-initial-setup]
137
<= download-base
138

139 140 141 142 143 144 145 146
[template-postfix]
< = download-base

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

[template-postfix-main-cf]
< = download-base
147 148 149

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

151 152
[template-run-zelenium]
< = download-base
153

154

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

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

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

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

269 270

[template-balancer]
271
<= download-base
272

273
[template-haproxy-cfg]
274
<= download-base
275

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

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

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

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

[erp5_repository_list]
308
repository_id_list = erp5 erp5-bin erp5-doc
309

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

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

[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 =
329
  runUnitTest=runUnitTest:main
330 331
scripts = runUnitTest
initialization =
332
  import glob, os, sys
333
  import Products
334 335
  Products.__path__[:0] = filter(None,
    os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
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

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

[eggs]
373
<= neoppod
374
eggs = ${neoppod:eggs}
375
  ${caucase-eggs:eggs}
376
  ${numpy:egg}
377
  ${matplotlib:egg}
378
  ${lxml-python:egg}
379
  ${ocropy:egg}
380
  ${pandas:egg}
381
  ${pillow-python:egg}
382 383
  ${python-ldap-python:egg}
  ${pysvn-python:egg}
384
  ${pycrypto-python:egg}
385
  ${scipy:egg}
386
  ${scikit-learn:egg}
387
  ${scikit-image:egg}
388
  sympy
389
  more-itertools
390 391 392
  ${h5py:egg}
  openpyxl
  ${statsmodels:egg}
Yusei Tahara's avatar
Yusei Tahara committed
393
  ${zbarlight:egg}
394
  lock_file
395
  astor
396
  APacheDEX
397
  PyStemmer
398
  PyXML
399
  Pympler
400 401
  SOAPpy
  chardet
402
  collective.recipe.template
Aurel's avatar
Aurel committed
403
  coverage
404
  erp5diff
405
  interval
406
  ipdb
407
  Jinja2
408
  jsonschema
409
  mechanize
Jérome Perrin's avatar
Jérome Perrin committed
410
  mock
411
  oauthlib
412
  objgraph
413 414
  paramiko
  ply
Jérome Perrin's avatar
Jérome Perrin committed
415
  pyflakes
Gabriel Monnerat's avatar
Gabriel Monnerat 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
# for runzeo
458
  ${ZEO:egg}
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
Gabriel Monnerat's avatar
Gabriel Monnerat committed
534 535
PyPDF2-patches = ${:_profile_base_location_}/../../component/egg-patch/PyPDF2/0001-Custom-implementation-of-warnings.formatwarning-remo.patch#d25bb0f5dde7f3337a0a50c2f986f5c8
PyPDF2-patch-options = -p1
536
Acquisition-patches = ${:_profile_base_location_}/../../component/egg-patch/Acquisition/aq_dynamic.patch#1d9a56e9af4371f5b6951ebf217a15d7
537
Acquisition-patch-options = -p1
538
Products.DCWorkflow-patches = ${:_profile_base_location_}/../../component/egg-patch/Products.DCWorkflow/workflow_method.patch#975b49e96bae33ac8563454fe5fa9899
539
Products.DCWorkflow-patch-options = -p1
540
python-magic-patches = ${:_profile_base_location_}/../../component/egg-patch/python_magic/magic.patch#de0839bffac17801e39b60873a6c2068
541
python-magic-patch-options = -p1
542

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

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

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

561
[zodbpack]
562
recipe = zc.recipe.egg
563
eggs =
Łukasz Nowak's avatar
Łukasz Nowak committed
564
  slapos.toolbox[zodbpack]
565
scripts =
Łukasz Nowak's avatar
Łukasz Nowak committed
566
  zodbpack
567 568
depends =
  ${slapos-toolbox-dependencies:eggs}
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 = 6.2.2
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
erp5diff = 0.8.1.7
638
five.formlib = 1.0.4
639
five.localsitemanager = 2.0.5
640
google-api-python-client = 1.6.1
641
httplib2 = 0.10.3
642
huBarcode = 1.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
643
interval = 1.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
644
ipdb = 0.10.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
645
logilab-common = 1.3.0
646
munnel = 0.3
647
nt-svcutils = 2.13.0
648
oauth2client = 4.0.0
649
oauthlib = 3.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
650
objgraph = 3.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
651
ply = 3.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
652
polib = 1.0.8
653
pprofile = 2.0.4
654
pyasn1-modules = 0.0.8
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
655
pycountry = 17.1.8
656
pycrypto = 2.6.1
657
pycurl = 7.43.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
658
pyflakes = 1.5.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
659
python-memcached = 1.58
660
pytracemalloc = 1.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
661
qrcode = 5.3
662
rsa = 3.4.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
663
spyne = 2.12.14
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
664
suds = 0.4
Rafael Monnerat's avatar
Rafael Monnerat committed
665
facebook-sdk = 2.0.0
666
threadframe = 0.2
667
timerserver = 2.0.4
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
668
urlnorm = 1.1.4
669
uuid = 1.30
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
670
validictory = 1.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
671
xfw = 0.10
672
xupdate-processor = 0.4
673
selenium = 3.8.0
674 675 676
scikit-image = 0.14.0
PyWavelets = 0.5.2
networkx = 2.1
677
pytesseract = 0.2.2
678
zbarlight = 2.3
679 680 681
cloudpickle = 0.5.3
dask = 0.18.1
toolz = 0.9.0
682 683
zope.globalrequest = 1.5
waitress = 1.3.0
684
xlrd = 1.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
685

686 687 688
# 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
689
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
690
# Products.CMFCore==2.2.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
691
Products.ZSQLMethods = 2.13.5
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
692

693
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
694
# SOAPpy===0.12.0nxd001
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
695 696
fpconst = 0.7.2

697
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
698 699
# objgraph==3.1.0
graphviz = 0.5.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
700

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
701
# Required by:
702
# Pillow==6.2.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
703
olefile = 0.44
704

705 706 707 708
# Required by:
# munnel==0.3
python-libmilter = 1.0.3

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
709 710
# Required by:
# zope.app.testing==3.8.1
711
zope.app.debug = 3.4.1
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
712 713 714

# Required by:
# zope.app.testing==3.8.1
715
zope.app.dependable = 3.5.1
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
716 717 718 719

# Required by:
# Products.CMFCalendar==2.2.3
# five.formlib==1.0.4
720
zope.app.form = 4.0.2
721 722 723 724 725 726 727 728 729 730

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
731 732 733 734 735 736 737 738

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
739

Jérome Perrin's avatar
Jérome Perrin committed
740 741 742 743 744
responses = 0.10.6

# Required by:
# responses = 0.10.6
cookies = 2.2.1
Jérome Perrin's avatar
Jérome Perrin committed
745 746 747

jedi = 0.15.1
parso = 0.5.1
Jérome Perrin's avatar
Jérome Perrin committed
748 749

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

751 752 753 754 755 756 757 758 759 760 761 762 763 764 765
# 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