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

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

# Buildoutish
  eggs
112
  eggs-all-scripts
113 114 115 116 117 118 119
  testrunner
  test_suite_runner

# basic Xorg
  libXdmcp
  libXext
  libXau
120
  libSM
121
  libXrender
122 123 124 125

# fonts
  liberation-fonts
  ipaex-fonts
126
  ipa-fonts
127
  ocrb-fonts
128
  android-fonts
129

130

131 132
# get git repositories
  erp5
133 134
  genbt5list

135
# some additional utils
136
  zodbanalyze
137

138 139 140
# Create instance template
  template

141
# jupyter
142
  jupyter
143
  jupyter-notebook-initialized-scripts
144
  instance-jupyter-notebook
145

146 147 148 149
# override python2.7 to add SlapOS libstdc++ in RPATH.
[python2.7]
extra-ldflags = -Wl,-rpath=${gcc:location}/lib -Wl,-rpath=${gcc:location}/lib64

150 151
# override instance-jupyter-notebook not to render into default template.cfg
[instance-jupyter-notebook]
152 153
rendered = ${buildout:directory}/template-jupyter.cfg

154 155 156
[instance-caucase]
rendered = ${buildout:directory}/instance-caucase.cfg

157
[download-base]
158
<= download-base-neo
159 160
url = ${:_profile_base_location_}/${:filename}

161 162 163 164 165 166
[check-recipe]
recipe = plone.recipe.command
stop-on-error = true
update-command = ${:command}
command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link

167 168 169 170
[mariadb-start-clone-from-backup]
<= download-base
mode = 755

171
[mariadb-resiliency-after-import-script]
172
<= download-base
173 174
mode = 755

175 176 177 178
[mariadb-slow-query-report-script]
<= download-base
mode = 755

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

[template-kumofs]
194
<= download-base
195 196

[template-zope-conf]
197
<= download-base
198

199
[site-zcml]
200
<= download-base
201

202
[template-my-cnf]
203
<= download-base
204 205

[template-mariadb-initial-setup]
206
<= download-base
207

208 209 210 211 212 213 214 215
[template-postfix]
< = download-base

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

[template-postfix-main-cf]
< = download-base
216 217 218

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

220 221 222 223
[template-run-zelenium]
< = download-base
url = ${:_profile_base_location_}/template/run-zelenium-test.py.in

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

320
[template-erp5]
321
<= download-base
322

323
[template-zeo]
324
<= download-base
325

326
[template-zope]
327
<= download-base
328
link-binary =
329
  ${aspell:location}/bin/aspell
330 331 332 333 334 335
  ${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
336 337
  ${jsl:location}/bin/jsl
  ${librsvg:location}/bin/rsvg-convert
338 339
  ${mariadb:location}/bin/mysql
  ${mariadb:location}/bin/mysqldump
340 341 342 343 344 345 346
  ${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
347 348

[template-balancer]
349
<= download-base
350

351
[template-haproxy-cfg]
352
<= download-base
353

354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371
[bt5-repository]
# Format:
#   <url or path> [...]
#
# Use absolute paths for local repositories, and URLs for non-local otherwise.
#
list = ${local-bt5-repository:list}

[local-bt5-repository]
# Same as bt5-repository, but only local repository.
# Used to generate bt5lists.
list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap

[genbt5list]
recipe = plone.recipe.command
stop-on-error = true
genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
command =
372
  echo '${local-bt5-repository:list}' |xargs ${buildout:executable} ${:genbt5list}
373
update-command = ${:command}
374 375 376 377

[erp5_repository_list]
repository_id_list = erp5

378 379
# ERP5 defaults, which can be overridden in inheriting recipes (e.g. wendelin)
[erp5-defaults]
380
cloudooo-connection-url = https://cloudooo.erp5.net/
381 382 383
# Jupyter is by default disabled in ERP5
jupyter-enable-default = false

384
[erp5]
385
recipe = slapos.recipe.build:gitclone
386
repository = https://lab.nexedi.com/nexedi/erp5.git
387
branch = master
388
git-executable = ${git:location}/bin/git
389 390 391 392 393 394 395 396

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

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

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

Vincent Pelletier's avatar
Vincent Pelletier committed
516
# Zope
517
  Zope2
Vincent Pelletier's avatar
Vincent Pelletier committed
518
# Zope acquisition patch
519
  Acquisition
520 521
# for runzeo
  ZEO
522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542

# 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
543
  Products.LongRequestLogger
544

545 546 547 548
# BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
#      (for tests like testCookieCrumbler).
  zope.app.testing

549 550 551 552 553
# Currently forked in our repository
#    Products.PortalTransforms
# Dependency for our fork of PortalTransforms
  StructuredText

554 555
# Needed for parsing .po files from our Localizer subset
  polib
Rafael Monnerat's avatar
Rafael Monnerat committed
556

557 558
# Needed for Google OAuth
  google-api-python-client
559

Rafael Monnerat's avatar
Rafael Monnerat committed
560 561 562
# Need for Facebook OAuth
  facebook-sdk

563 564 565
# Used by ERP5 Jupyter backend
  ipykernel

566 567 568 569 570 571
# Used by DiffTool
  xmltodict
  deepdiff
  unidiff
  jsonpickle

572 573 574
# 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
575
interpreter = ${buildout:python}
576
scripts =
577
  apachedex
578 579 580 581 582
  repozo
  runzope
  runzeo
  tidstoraged
  tidstorage_repozo
583
  web_checker_utility = erp5.util.webchecker:web_checker_utility
584 585

extra-paths =
586
  ${erp5:location}
587

588 589
# patches for eggs
patch-binary = ${patch:location}/bin/patch
590
Acquisition-patches = ${:_profile_base_location_}/../../component/egg-patch/Acquisition/aq_dynamic.patch#1d9a56e9af4371f5b6951ebf217a15d7
591
Acquisition-patch-options = -p1
592
Products.DCWorkflow-patches = ${:_profile_base_location_}/../../component/egg-patch/Products.DCWorkflow/workflow_method.patch#975b49e96bae33ac8563454fe5fa9899
593
Products.DCWorkflow-patch-options = -p1
594
python-magic-patches = ${:_profile_base_location_}/../../component/egg-patch/python_magic/magic.patch#de0839bffac17801e39b60873a6c2068
595
python-magic-patch-options = -p1
596

597 598 599 600 601 602
[eggs-all-scripts]
recipe = zc.recipe.egg
eggs =
  munnel
patch-binary = ${eggs:patch-binary}

603 604
[zodbanalyze]
recipe = zc.recipe.egg
605
eggs = erp5.util
606 607 608 609
entry-points =
  zodbanalyze=erp5.util.zodbanalyze:main
scripts = zodbanalyze

610 611 612 613 614
# develop erp5.util from parts/erp5/
[erp5-util-develop]
recipe = zc.recipe.egg:develop
setup = ${erp5:location}

615
[slapos-deps-eggs]
616
recipe = zc.recipe.egg
617
eggs +=
Łukasz Nowak's avatar
Łukasz Nowak committed
618
  slapos.toolbox[zodbpack]
619
scripts +=
620
  is-local-tcp-port-opened
621
  is-process-older-than-dependency-set
622 623
  check-slow-queries-digest-result
  check-apachedex-result
624
  check-computer-memory
625
  runApacheDex
Łukasz Nowak's avatar
Łukasz Nowak committed
626
  zodbpack
627

628
[versions]
629
# See ../../software/neoppod/software-common.cfg for versions common with NEO:
630
#  neoppod, mysqlclient, slapos.recipe.template & [slapos-deps-eggs]
631

632
# patched eggs
633
Acquisition = 2.13.12+SlapOSPatched001
634
Products.DCWorkflow = 2.2.4+SlapOSPatched001
635
ocropy = 1.0+SlapOSPatched001
636
pysvn = 1.7.10+SlapOSPatched002
637
python-ldap = 2.4.32+SlapOSPatched001
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
638
python-magic = 0.4.12+SlapOSPatched001
639

640
# use newer version than specified in ZTK
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
641
PasteDeploy = 1.5.2
642
argparse = 1.4.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
643
zope.dottedname = 4.1.0
644 645 646 647

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

648
# we are still using this old stable version.
649
rdiff-backup = 1.0.5+SlapOSPatched001
650

651 652
# modified version that works fine for buildout installation
SOAPpy = 0.12.0nxd001
653

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
654
# CMF 2.3 is not yet supported.
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
655
Products.CMFCalendar = 2.2.3
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
656
Products.CMFCore = 2.2.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
657
Products.CMFDefault = 2.2.4
658 659
Products.CMFTopic = 2.2.1
Products.CMFUid = 2.2.1
660

661 662 663 664 665 666
# 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
667
# newer version requires zope.testbrowser>=4
668 669
zope.app.testing = 3.8.1

670
# Pinned versions
671
APacheDEX = 1.6.2
672
Pillow = 5.2.0
673 674
Products.CMFActionIcons = 2.1.3
Products.DCWorkflowGraph = 0.4.1
675 676
# 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
677
Products.GenericSetup = 1.8.6
678
Products.LongRequestLogger = 2.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
679
# Products.MimetypesRegistry 2.1 requires AccessControl>=3.0.0Acquisition.
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
680
Products.MimetypesRegistry = 2.0.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
681
Products.PluginRegistry = 1.4
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
682
Products.TIDStorage = 5.4.9
683
pyPdf = 1.13
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
684
PyPDF2 = 1.26.0
685
PyStemmer = 1.3.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
686
PyXML = 0.8.5
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
687
Pympler = 0.4.3
688 689
StructuredText = 2.11.1
WSGIUtils = 0.7
690
ZODB3 = 3.11.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
691
# astroid 1.4.1 breaks testDynamicClassGeneration
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
692
astroid = 1.3.8
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
693
chardet = 2.3.0
694
csp-eventlet = 0.7.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
695
erp5diff = 0.8.1.7
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
696
eventlet = 0.20.1
697
five.formlib = 1.0.4
698
five.localsitemanager = 2.0.5
699
google-api-python-client = 1.6.1
700
greenlet = 0.4.12
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
701
http-parser = 0.8.3
702
httplib2 = 0.10.3
703
huBarcode = 1.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
704
interval = 1.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
705
ipdb = 0.10.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
706
logilab-common = 1.3.0
707
munnel = 0.3
708
nt-svcutils = 2.13.0
709
oauth2client = 4.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
710
objgraph = 3.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
711
ply = 3.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
712
polib = 1.0.8
713
pprofile = 2.0.1
714 715
pyasn1 = 0.2.3
pyasn1-modules = 0.0.8
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
716
pycountry = 17.1.8
717
pycrypto = 2.6.1
718
pycurl = 7.43.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
719
pyflakes = 1.5.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
720
# pylint 1.5.1 breaks testDynamicClassGeneration
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
721
pylint = 1.4.4
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
722
python-memcached = 1.58
723
pytracemalloc = 1.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
724
qrcode = 5.3
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
725
restkit = 4.2.2
726
rsa = 3.4.2
727
rtjp-eventlet = 0.3.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
728
socketpool = 0.5.3
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
729
spyne = 2.12.14
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
730
suds = 0.4
Rafael Monnerat's avatar
Rafael Monnerat committed
731
facebook-sdk = 2.0.0
732
threadframe = 0.2
733
timerserver = 2.0.4
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
734
urlnorm = 1.1.4
735
uuid = 1.30
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
736
validictory = 1.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
737
xfw = 0.10
738
xupdate-processor = 0.4
739
selenium = 3.8.0
740 741 742
scikit-image = 0.14.0
PyWavelets = 0.5.2
networkx = 2.1
743
pytesseract = 0.2.2
744
zbarlight = 2.0
745 746 747
cloudpickle = 0.5.3
dask = 0.18.1
toolz = 0.9.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
748 749

# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
750
# Products.CMFCore==2.2.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
751
Products.ZSQLMethods = 2.13.5
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
752

753
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
754 755
# eventlet==0.20.1
enum-compat = 0.0.2
756

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
757
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
758
# SOAPpy===0.12.0nxd001
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
759 760
fpconst = 0.7.2

761
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
762 763
# objgraph==3.1.0
graphviz = 0.5.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
764

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
765 766 767
# Required by:
# Pillow==4.0.0
olefile = 0.44
768

769 770 771 772
# Required by:
# munnel==0.3
python-libmilter = 1.0.3

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
773 774
# Required by:
# zope.app.testing==3.8.1
775
zope.app.debug = 3.4.1
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
776 777 778

# Required by:
# zope.app.testing==3.8.1
779
zope.app.dependable = 3.5.1
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
780 781 782 783

# Required by:
# Products.CMFCalendar==2.2.3
# five.formlib==1.0.4
784
zope.app.form = 4.0.2
785 786 787 788 789 790 791 792 793 794 795

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

# Required by:
# openpyxl==2.4.8
jdcal = 1.3
796 797 798 799 800 801 802 803

xmltodict = 0.11.0
deepdiff = 3.3.0
unidiff = 0.5.5

# Required by:
# deepdiff = 3.3.0
jsonpickle = 0.9.6
804
decorator = 4.3.0