buildout.cfg 20.5 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 410 411 412 413
  repository_id_list = \
    '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
  os.environ['erp5_tests_bt5_path'] = ','.join(sum((
    [bt5_path, os.path.join(bt5_path, '*')]
    for bt5_path in (os.path.join(parts_directory, x, 'bt5')
                     for x in repository_id_list)), []))
414
  extra_path_list = '''${:extra-paths}'''.split()
415
  sys.path[:0] = sum((
416 417
    glob.glob(os.path.join(x, 'tests'))
    for x in extra_path_list), [])
418
  sys.path[:0] = sum((
419 420
    glob.glob(os.path.join(x, 'Products', '*', 'tests'))
    for x in extra_path_list), [])
421 422 423
  sys.path[:0] = sum((
    glob.glob(os.path.join(x, 'Products', '*', 'tests'))
    for x in os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep)), [])
424
  os.environ['PATH'] = '${jsl:location}/bin:%s' % os.environ['PATH']
425
  os.environ['CGI_PATH'] = '${w3-validator:location}/httpd/cgi-bin'
426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443

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

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

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

# 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
545
  Products.LongRequestLogger
546

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

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

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

559 560
# Needed for Google OAuth
  google-api-python-client
561

Rafael Monnerat's avatar
Rafael Monnerat committed
562 563 564
# Need for Facebook OAuth
  facebook-sdk

565 566 567
# Used by ERP5 Jupyter backend
  ipykernel

568 569 570 571 572 573
# Used by DiffTool
  xmltodict
  deepdiff
  unidiff
  jsonpickle

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

extra-paths =
588
  ${erp5:location}
589

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

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

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

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

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

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

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

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

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

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

653 654
# modified version that works fine for buildout installation
SOAPpy = 0.12.0nxd001
655

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

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

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

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

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

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

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

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

771 772 773 774
# Required by:
# munnel==0.3
python-libmilter = 1.0.3

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

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

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

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
798 799 800 801 802 803 804 805

xmltodict = 0.11.0
deepdiff = 3.3.0
unidiff = 0.5.5

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