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
  ../../component/subversion/buildout.cfg
  ../../component/tesseract/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
55
  ../../component/bash/buildout.cfg
56 57
  ../../component/wget/buildout.cfg
  ../../component/aspell/buildout.cfg
58
  ../../component/jsl/buildout.cfg
59 60
  ../../component/6tunnel/buildout.cfg
  ../../component/findutils/buildout.cfg
61
  ../../component/userhosts/buildout.cfg
62
  ../../component/postfix/buildout.cfg
Yusei Tahara's avatar
Yusei Tahara committed
63
  ../../component/zbarlight/buildout.cfg
64
  ../monitor/buildout.cfg
65
  ../../software/caucase/software.cfg
66
  ../../software/jupyter/software.cfg
67 68
  ../../software/neoppod/software-common.cfg
# keep neoppod extends last
69

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

# Buildoutish
  eggs
110
  eggs-all-scripts
111 112 113 114 115 116 117
  testrunner
  test_suite_runner

# basic Xorg
  libXdmcp
  libXext
  libXau
118
  libSM
119
  libXrender
120 121 122 123

# fonts
  liberation-fonts
  ipaex-fonts
124
  ipa-fonts
125
  ocrb-fonts
126
  android-fonts
127

128

129 130
# get git repositories
  erp5
131 132
  genbt5list

133
# some additional utils
134
  zodbanalyze
135

136 137 138
# Create instance template
  template

139
# jupyter
140
  jupyter
141
  jupyter-notebook-initialized-scripts
142
  instance-jupyter-notebook
143

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

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

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

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

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

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

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

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

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

[template-kumofs]
192
<= download-base
193 194

[template-zope-conf]
195
<= download-base
196

197
[site-zcml]
198
<= download-base
199

200
[template-my-cnf]
201
<= download-base
202 203

[template-mariadb-initial-setup]
204
<= download-base
205

206 207 208 209 210 211 212 213
[template-postfix]
< = download-base

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

[template-postfix-main-cf]
< = download-base
214 215 216

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

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

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

318
[template-erp5]
319
<= download-base
320

321
[template-zeo]
322
<= download-base
323

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

[template-balancer]
347
<= download-base
348

349
[template-haproxy-cfg]
350
<= download-base
351

352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369
[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 =
370
  echo '${local-bt5-repository:list}' |xargs ${buildout:executable} ${:genbt5list}
371
update-command = ${:command}
372 373 374 375

[erp5_repository_list]
repository_id_list = erp5

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

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

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

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

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

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

# 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
540
  Products.LongRequestLogger
541

542 543 544 545
# BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
#      (for tests like testCookieCrumbler).
  zope.app.testing

546 547 548 549 550
# Currently forked in our repository
#    Products.PortalTransforms
# Dependency for our fork of PortalTransforms
  StructuredText

551 552
# Needed for parsing .po files from our Localizer subset
  polib
Rafael Monnerat's avatar
Rafael Monnerat committed
553

554 555
# Needed for Google OAuth
  google-api-python-client
556

Rafael Monnerat's avatar
Rafael Monnerat committed
557 558 559
# Need for Facebook OAuth
  facebook-sdk

560 561 562
# Used by ERP5 Jupyter backend
  ipykernel

563 564 565 566 567 568
# Used by DiffTool
  xmltodict
  deepdiff
  unidiff
  jsonpickle

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

extra-paths =
583
  ${erp5:location}
584

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

594 595 596 597 598 599
[eggs-all-scripts]
recipe = zc.recipe.egg
eggs =
  munnel
patch-binary = ${eggs:patch-binary}

600 601
[zodbanalyze]
recipe = zc.recipe.egg
602
eggs = erp5.util
603 604 605 606
entry-points =
  zodbanalyze=erp5.util.zodbanalyze:main
scripts = zodbanalyze

607 608 609 610 611
# develop erp5.util from parts/erp5/
[erp5-util-develop]
recipe = zc.recipe.egg:develop
setup = ${erp5:location}

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

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

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

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

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

645
# we are still using this old stable version.
646
rdiff-backup = 1.0.5+SlapOSPatched001
647

648 649
# modified version that works fine for buildout installation
SOAPpy = 0.12.0nxd001
650

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

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

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

745 746 747
# 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
748
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
749
# Products.CMFCore==2.2.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
750
Products.ZSQLMethods = 2.13.5
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
751

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

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

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

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

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

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

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

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

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
795 796 797 798 799 800 801 802

xmltodict = 0.11.0
deepdiff = 3.3.0
unidiff = 0.5.5

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