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/libreoffice-bin/buildout.cfg
28
  ../../component/matplotlib/buildout.cfg
29
  ../../component/mesa/buildout.cfg
30
  ../../component/numpy/buildout.cfg
31 32
  ../../component/statsmodels/buildout.cfg
  ../../component/h5py/buildout.cfg
33
  ../../component/ocropy/buildout.cfg
34
  ../../component/onlyoffice-core/buildout.cfg
35
  ../../component/pandas/buildout.cfg
36
  ../../component/percona-toolkit/buildout.cfg
37
  ../../component/patch/buildout.cfg
38
  ../../component/pillow/buildout.cfg
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
39
  ../../component/pycrypto-python/buildout.cfg
40 41 42
  ../../component/pysvn-python/buildout.cfg
  ../../component/python-ldap-python/buildout.cfg
  ../../component/rdiff-backup/buildout.cfg
43
  ../../component/scikit-learn/buildout.cfg
44
  ../../component/stunnel/buildout.cfg
45 46 47 48
  ../../component/subversion/buildout.cfg
  ../../component/tesseract/buildout.cfg
  ../../component/w3-validator/buildout.cfg
  ../../component/w3m/buildout.cfg
49
  ../../component/wkhtmltopdf/buildout.cfg
50 51 52 53 54 55 56
  ../../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
57
  ../../component/bash/buildout.cfg
58 59
  ../../component/wget/buildout.cfg
  ../../component/aspell/buildout.cfg
60
  ../../component/cloudooo/buildout.cfg
61
  ../../component/jsl/buildout.cfg
62 63
  ../../component/6tunnel/buildout.cfg
  ../../component/findutils/buildout.cfg
64
  ../../component/userhosts/buildout.cfg
65
  ../../component/postfix/buildout.cfg
Yusei Tahara's avatar
Yusei Tahara committed
66
  ../../component/zbarlight/buildout.cfg
67
  ../monitor/buildout.cfg
68
  ../../software/caucase/software.cfg
69
  ../../software/jupyter/software.cfg
70 71
  ../../software/neoppod/software-common.cfg
# keep neoppod extends last
72

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

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

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

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

131 132 133 134
# Cloudooo specific part
  cloudooo-develop
  cloudooo

135 136
# get git repositories
  erp5
137 138
  genbt5list

139
# some additional utils
140
  zodbanalyze
141

142 143 144
# Create instance template
  template

145
# jupyter
146
  jupyter
147
  jupyter-notebook-initialized-scripts
148
  instance-jupyter-notebook
149

150 151 152 153
# override python2.7 to add SlapOS libstdc++ in RPATH.
[python2.7]
extra-ldflags = -Wl,-rpath=${gcc:location}/lib -Wl,-rpath=${gcc:location}/lib64

154 155
# override instance-jupyter-notebook not to render into default template.cfg
[instance-jupyter-notebook]
156 157
rendered = ${buildout:directory}/template-jupyter.cfg

158 159 160
[instance-caucase]
rendered = ${buildout:directory}/instance-caucase.cfg

161
[download-base]
162
<= download-base-neo
163 164
url = ${:_profile_base_location_}/${:filename}

165 166 167 168 169 170
[check-recipe]
recipe = plone.recipe.command
stop-on-error = true
update-command = ${:command}
command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link

171 172 173 174
[mariadb-start-clone-from-backup]
<= download-base
mode = 755

175
[mariadb-resiliency-after-import-script]
176
<= download-base
177 178
mode = 755

179 180 181 182
[mariadb-slow-query-report-script]
<= download-base
mode = 755

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

[template-kumofs]
198
<= download-base
199

200 201 202
[template-cloudooo]
<= download-base

203
[template-zope-conf]
204
<= download-base
205

206
[site-zcml]
207
<= download-base
208

209
[template-my-cnf]
210
<= download-base
211 212

[template-mariadb-initial-setup]
213
<= download-base
214

215 216 217 218 219 220 221 222
[template-postfix]
< = download-base

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

[template-postfix-main-cf]
< = download-base
223 224 225

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

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

325
[template-erp5]
326
<= download-base
327

328
[template-zeo]
329
<= download-base
330

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

[template-balancer]
354
<= download-base
355

356
[template-haproxy-cfg]
357
<= download-base
358

359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376
[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 =
377
  echo '${local-bt5-repository:list}' |xargs ${buildout:executable} ${:genbt5list}
378
update-command = ${:command}
379 380 381 382

[erp5_repository_list]
repository_id_list = erp5

383 384 385 386 387
# ERP5 defaults, which can be overridden in inheriting recipes (e.g. wendelin)
[erp5-defaults]
# Jupyter is by default disabled in ERP5
jupyter-enable-default = false

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

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

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

[eggs]
452
<= neoppod
453
eggs = ${neoppod:eggs}
454
  ${numpy:egg}
455
  ${matplotlib:egg}
456
  ${lxml-python:egg}
457
  ${ocropy:egg}
458
  ${pandas:egg}
459
  ${pillow-python:egg}
460 461
  ${python-ldap-python:egg}
  ${pysvn-python:egg}
462
  ${pycrypto-python:egg}
463
  ${scipy:egg}
464
  ${scikit-learn:egg}
465 466 467 468
  sympy
  ${h5py:egg}
  openpyxl
  ${statsmodels:egg}
Yusei Tahara's avatar
Yusei Tahara committed
469
  ${zbarlight:egg}
470
  lock_file
471
  astor
472
  APacheDEX
473
  PyStemmer
474
  PyXML
475
  Pympler
476 477
  SOAPpy
  chardet
478
  collective.recipe.template
Aurel's avatar
Aurel committed
479
  coverage
480
  erp5diff
481
  interval
482
  ipdb
483
  Jinja2
484
  jsonschema
485
  mechanize
486
  objgraph
487 488
  paramiko
  ply
Jérome Perrin's avatar
Jérome Perrin committed
489
  pyflakes
Aurel's avatar
Aurel committed
490
  pypdf2
491 492 493
  python-magic
  python-memcached
  pytz
494
  requests
495 496 497 498 499 500 501
  threadframe
  timerserver
  urlnorm
  uuid
  xml_marshaller
  xupdate_processor
  feedparser
502
  validictory
503
  erp5.util
504
  huBarcode
505
  qrcode
506
  spyne
507 508
  httplib2
  suds
509
  pprofile
510
  pycountry
Jérome Perrin's avatar
Jérome Perrin committed
511
  xfw
512
  jsonschema
Vincent Bechu's avatar
Vincent Bechu committed
513
  selenium
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
# 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
571
interpreter = ${buildout:python}
572
scripts =
573
  apachedex
574 575 576 577 578
  repozo
  runzope
  runzeo
  tidstoraged
  tidstorage_repozo
579
  web_checker_utility = erp5.util.webchecker:web_checker_utility
580 581

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

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

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

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

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

611 612 613 614
[cloudooo-repository]
branch =
revision = 00604a3a5a69082f7c607665cc6badd5104a32b9

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
  runApacheDex
Łukasz Nowak's avatar
Łukasz Nowak committed
625
  zodbpack
626

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

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

639 640 641
# specify dev version to be sure that an old released version is not used
cloudooo = 1.2.5-dev

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
645
coverage = 4.3.4
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
646
zope.dottedname = 4.1.0
647 648 649 650

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

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

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

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

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

673
# Pinned versions
674
APacheDEX = 1.6.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
675
Pillow = 4.0.0
676 677
Products.CMFActionIcons = 2.1.3
Products.DCWorkflowGraph = 0.4.1
678 679
# 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
680
Products.GenericSetup = 1.8.6
681
Products.LongRequestLogger = 2.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
682
# Products.MimetypesRegistry 2.1 requires AccessControl>=3.0.0Acquisition.
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
683
Products.MimetypesRegistry = 2.0.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
684
Products.PluginRegistry = 1.4
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
685
Products.TIDStorage = 5.4.9
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
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
715
pprofile = 1.10.0
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
zbarlight = 2.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
743 744

# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
745
# Products.CMFCore==2.2.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
746
Products.ZSQLMethods = 2.13.5
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
747

748
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
749 750
# eventlet==0.20.1
enum-compat = 0.0.2
751

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
752
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
753
# SOAPpy===0.12.0nxd001
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
754 755
fpconst = 0.7.2

756
# Required by:
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
757 758
# objgraph==3.1.0
graphviz = 0.5.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
759

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
760 761 762
# Required by:
# Pillow==4.0.0
olefile = 0.44
763

764 765 766 767
# Required by:
# munnel==0.3
python-libmilter = 1.0.3

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
768 769
# Required by:
# zope.app.testing==3.8.1
770
zope.app.debug = 3.4.1
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
771 772 773

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

# Required by:
# Products.CMFCalendar==2.2.3
# five.formlib==1.0.4
779
zope.app.form = 4.0.2
780 781 782 783 784 785 786 787 788 789 790

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