buildout.cfg 19.9 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/fonts/buildout.cfg
  ../../component/git/buildout.cfg
10
  ../../component/ghostscript/buildout.cfg
11 12
  ../../component/graphviz/buildout.cfg
  ../../component/gzip/buildout.cfg
13
  ../../component/xz-utils/buildout.cfg
14
  ../../component/haproxy/buildout.cfg
15
  ../../component/socat/buildout.cfg
16
  ../../component/rsyslogd/buildout.cfg
17
  ../../component/findutils/buildout.cfg
18 19
  ../../component/librsvg/buildout.cfg
  ../../component/imagemagick/buildout.cfg
20
  ../../component/jpegoptim/buildout.cfg
21 22
  ../../component/kumo/buildout.cfg
  ../../component/libdmtx/buildout.cfg
23
  ../../component/matplotlib/buildout.cfg
24
  ../../component/numpy/buildout.cfg
25 26
  ../../component/statsmodels/buildout.cfg
  ../../component/h5py/buildout.cfg
27
  ../../component/ocropy/buildout.cfg
28
  ../../component/optipng/buildout.cfg
29
  ../../component/pandas/buildout.cfg
30
  ../../component/percona-toolkit/buildout.cfg
31
  ../../component/patch/buildout.cfg
32
  ../../component/pillow/buildout.cfg
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
33
  ../../component/pycrypto-python/buildout.cfg
34 35
  ../../component/pysvn-python/buildout.cfg
  ../../component/python-ldap-python/buildout.cfg
36
  ../../component/scikit-learn/buildout.cfg
37 38
  ../../component/scikit-image/buildout.cfg
  ../../component/PyWavelets/buildout.cfg
39
  ../../component/subversion/buildout.cfg
40
  ../../component/tempstorage/buildout.cfg
41 42 43 44 45 46 47 48
  ../../component/tesseract/buildout.cfg
  ../../component/w3m/buildout.cfg
  ../../component/poppler/buildout.cfg
  ../../component/zabbix/buildout.cfg
  ../../component/sed/buildout.cfg
  ../../component/coreutils/buildout.cfg
  ../../component/grep/buildout.cfg
  ../../component/dash/buildout.cfg
49
  ../../component/bash/buildout.cfg
50 51
  ../../component/wget/buildout.cfg
  ../../component/aspell/buildout.cfg
52
  ../../component/jsl/buildout.cfg
53
  ../../component/6tunnel/buildout.cfg
54
  ../../component/userhosts/buildout.cfg
55
  ../../component/postfix/buildout.cfg
Yusei Tahara's avatar
Yusei Tahara committed
56
  ../../component/zbarlight/buildout.cfg
57
  ../../component/pylint/buildout.cfg
58
  ../../component/perl-Image-ExifTool/buildout.cfg
59
  ../../component/wendelin.core/buildout.cfg
60
  ../../component/jupyter-py2/buildout.cfg
61
  ../../stack/caucase/buildout.cfg
62 63
  ../../software/neoppod/software-common.cfg
# keep neoppod extends last
64

65
parts +=
66
  erp5-util-develop
67
  slapos-cookbook
68
  mroonga-mariadb
69 70 71 72
  tesseract
  zabbix-agent

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

# get git repositories
78 79
  genbt5list

80
# some additional utils
81
  zodbanalyze
82
  zodbpack
83

84 85 86
# Create instance template
  template

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

90

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

155

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

237
[template-erp5]
238
<= download-base
239

240
[template-zeo]
241
<= download-base
242

243 244 245
[template-zodb-base]
<= download-base

246
[template-zope]
247
<= download-base
248
link-binary =
249
  ${aspell-en-dictionary:bin-aspell}
250 251 252 253 254
  ${dmtx-utils:location}/bin/dmtxwrite
  ${git:location}/bin/git
  ${graphviz:location}/bin/dot
  ${grep:location}/bin/grep
  ${imagemagick:location}/bin/convert
255
  ${ghostscript:location}/bin/gs
256
  ${imagemagick:location}/bin/identify
257
  ${jpegoptim:location}/bin/jpegoptim
258 259
  ${jsl:location}/bin/jsl
  ${librsvg:location}/bin/rsvg-convert
260 261
  ${mariadb:location}/bin/mysql
  ${mariadb:location}/bin/mysqldump
262
  ${openssl:location}/bin/openssl
263
  ${optipng:location}/bin/optipng
264
  ${perl-Image-ExifTool:location}/bin/exiftool
265 266 267
  ${poppler:location}/bin/pdfinfo
  ${poppler:location}/bin/pdftohtml
  ${poppler:location}/bin/pdftotext
Aurel's avatar
Aurel committed
268
  ${python2.7:location}/bin/2to3
269 270 271
  ${sed:location}/bin/sed
  ${tesseract:location}/bin/tesseract
  ${w3m:location}/bin/w3m
272 273 274 275 276 277 278 279 280
fonts =
  ${liberation-fonts:location}
  ${ipaex-fonts:location}
  ${ipa-fonts:location}
  ${ocrb-fonts:location}
  ${android-fonts:location}
fontconfig-includes =
  ${fontconfig:location}/etc/fonts/conf.d

281 282

[template-balancer]
283
<= download-base
284

285
[template-haproxy-cfg]
286
<= download-base
287

288 289 290
[template-rsyslogd-cfg]
<= download-base

291 292 293
[instance-wcfs.cfg.in]
<= download-base

294 295 296 297 298
[erp5-bin]
<= erp5
repository = https://lab.nexedi.com/nexedi/erp5-bin.git
branch = master

299 300 301 302 303
[erp5-doc]
<= erp5
repository = https://lab.nexedi.com/nexedi/erp5-doc.git
branch = master

304 305 306 307 308 309 310 311 312 313 314
[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.
315
list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap ${erp5-bin:location}/bt5 ${erp5-doc:location}/bt5
316 317 318 319 320 321

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

[erp5_repository_list]
326
repository_id_list = erp5 erp5-bin erp5-doc
327

328 329
# ERP5 defaults, which can be overridden in inheriting recipes (e.g. wendelin)
[erp5-defaults]
330
cloudooo-connection-url = https://cloudooo.erp5.net/
331 332
# Jupyter is by default disabled in ERP5
jupyter-enable-default = false
333 334
# WCFS is by default disabled in ERP5
wcfs-enable-default = false
335

336
[erp5]
337
recipe = slapos.recipe.build:gitclone
338
repository = https://lab.nexedi.com/nexedi/erp5.git
339
branch = master
340
git-executable = ${git:location}/bin/git
341 342 343 344 345 346 347 348

[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 =
349
  runUnitTest=runUnitTest:main
350 351
scripts = runUnitTest
initialization =
352
  import glob, os, sys
353
  import Products
354 355
  Products.__path__[:0] = filter(None,
    os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
356
  os.environ['ZOPE_SCRIPTS'] = ''
Vincent Pelletier's avatar
Vincent Pelletier committed
357
  parts_directory = '''${buildout:parts-directory}'''
358 359
  repository_id_list = \
    '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
360 361
  os.environ['erp5_tests_bt5_path'] = ','.join(
    os.path.join(parts_directory, x, 'bt5') for x in repository_id_list)
362
  extra_path_list = '''${:extra-paths}'''.split()
363
  sys.path[:0] = sum((
364 365
    glob.glob(os.path.join(x, 'tests'))
    for x in extra_path_list), [])
366
  sys.path[:0] = sum((
367 368
    glob.glob(os.path.join(x, 'Products', '*', 'tests'))
    for x in extra_path_list), [])
369 370 371
  sys.path[:0] = sum((
    glob.glob(os.path.join(x, 'Products', '*', 'tests'))
    for x in os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep)), [])
372
  os.environ['PATH'] = '${jsl:location}/bin:%s' % os.environ['PATH']
373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388

[test_suite_runner]
# XXX: Workaround for fact ERP5Type is not an distribution and does not
#      expose entry point for test runner
recipe = zc.recipe.egg
eggs = ${eggs:eggs}
extra-paths = ${eggs:extra-paths}
entry-points =
  runTestSuite=Products.ERP5Type.tests.runTestSuite:main
scripts = runTestSuite
initialization =
  import os
  import sys
  import Products
  [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
  os.environ['ZOPE_SCRIPTS'] = ''
389
  repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
390
  sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
391

392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416
[zope-product-with-eggtestinfo]
recipe = zc.recipe.egg:custom
setup-eggs =
  eggtestinfo
egg = ${:_buildout_section_name_}

[Products.CMFUid]
<= zope-product-with-eggtestinfo
[Products.CMFActionIcons]
<= zope-product-with-eggtestinfo
[Products.CMFCalendar]
<= zope-product-with-eggtestinfo
[Products.CMFCore]
<= zope-product-with-eggtestinfo
[Products.CMFDefault]
<= zope-product-with-eggtestinfo
[Products.CMFTopic]
<= zope-product-with-eggtestinfo
[Products.DCWorkflow]
<= zope-product-with-eggtestinfo
Products.DCWorkflow-patches = ${:_profile_base_location_}/../../component/egg-patch/Products.DCWorkflow/workflow_method.patch#975b49e96bae33ac8563454fe5fa9899
Products.DCWorkflow-patch-options = -p1
[Products.GenericSetup]
<= zope-product-with-eggtestinfo

417
[eggs]
418
<= neoppod
419
eggs = ${neoppod:eggs}
420
  ${caucase-eggs:eggs}
421
  ${wendelin.core:egg}
422
  ${numpy:egg}
423
  ${matplotlib:egg}
424
  ${lxml-python:egg}
425
  ${ocropy:egg}
426
  ${pandas:egg}
427
  ${pillow-python:egg}
428 429
  ${python-ldap-python:egg}
  ${pysvn-python:egg}
430
  ${pycrypto-python:egg}
431
  ${scipy:egg}
432
  ${scikit-learn:egg}
433
  ${scikit-image:egg}
434
  sympy
435
  more-itertools
436 437 438
  ${h5py:egg}
  openpyxl
  ${statsmodels:egg}
Yusei Tahara's avatar
Yusei Tahara committed
439
  ${zbarlight:egg}
440
  lock_file
441
  astor
442
  APacheDEX
443
  PyStemmer
444
  PyXML
445
  Pympler
446 447
  SOAPpy
  chardet
448
  collective.recipe.template
Aurel's avatar
Aurel committed
449
  coverage
450
  erp5diff
451
  interval
452
  ipdb
453
  Jinja2
454
  jsonschema
455
  mechanize
Jérome Perrin's avatar
Jérome Perrin committed
456
  mock
457
  oauthlib
458
  objgraph
459 460
  paramiko
  ply
Jérome Perrin's avatar
Jérome Perrin committed
461
  pyflakes
Gabriel Monnerat's avatar
Gabriel Monnerat committed
462
  PyPDF2
463 464 465
  python-magic
  python-memcached
  pytz
466
  requests
Jérome Perrin's avatar
Jérome Perrin committed
467
  responses
468 469 470 471 472 473 474
  threadframe
  timerserver
  urlnorm
  uuid
  xml_marshaller
  xupdate_processor
  feedparser
475
  validictory
476
  erp5.util
477
  z3c.etestbrowser
478
  huBarcode
479
  qrcode
480
  spyne
481 482
  httplib2
  suds
483
  pprofile
484
  pycountry
Jérome Perrin's avatar
Jérome Perrin committed
485
  xfw
486
  jsonschema
Vincent Bechu's avatar
Vincent Bechu committed
487
  selenium
488 489 490
  pytesseract
  decorator
  networkx
491
# Needed for checking ZODB Components source code
492
  ${pylint:egg}
Jérome Perrin's avatar
Jérome Perrin committed
493
  jedi
Jérome Perrin's avatar
Jérome Perrin committed
494
  yapf
Jérome Perrin's avatar
Jérome Perrin committed
495
  typing
496
  pytracemalloc
497
  xlrd
498

Vincent Pelletier's avatar
Vincent Pelletier committed
499
# Zope
500
  Zope2
501
  ${tempstorage:egg}
Vincent Pelletier's avatar
Vincent Pelletier committed
502
# Zope acquisition patch
503
  Acquisition
504
# for runzeo
505
  ${ZEO:egg}
506 507 508 509 510 511

# Other Zope 2 packages
  Products.PluggableAuthService
  Products.PluginRegistry

# CMF 2.2
512 513 514 515 516 517 518 519
  ${Products.CMFActionIcons:egg}
  ${Products.CMFCalendar:egg}
  ${Products.CMFCore:egg}
  ${Products.CMFDefault:egg}
  ${Products.CMFTopic:egg}
  ${Products.CMFUid:egg}
  ${Products.DCWorkflow:egg}
  ${Products.GenericSetup:egg}
520 521 522 523 524 525 526
  five.localsitemanager

# Other products
  Products.DCWorkflowGraph
  Products.MimetypesRegistry
  Products.ExternalEditor
  Products.TIDStorage
527
  Products.LongRequestLogger
528

529 530 531 532
# BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
#      (for tests like testCookieCrumbler).
  zope.app.testing

533 534 535 536 537
# Currently forked in our repository
#    Products.PortalTransforms
# Dependency for our fork of PortalTransforms
  StructuredText

538 539
# Needed for parsing .po files from our Localizer subset
  polib
Rafael Monnerat's avatar
Rafael Monnerat committed
540

541 542
# Needed for Google OAuth
  google-api-python-client
543

Rafael Monnerat's avatar
Rafael Monnerat committed
544 545 546
# Need for Facebook OAuth
  facebook-sdk

547 548 549
# Used by ERP5 Jupyter backend
  ipykernel

550 551 552 553 554 555
# Used by DiffTool
  xmltodict
  deepdiff
  unidiff
  jsonpickle

556 557 558 559
# WSGI server
  zope.globalrequest
  waitress

560 561 562
# 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
563
interpreter = ${buildout:python}
564 565
entry-points =
  runwsgi=Products.ERP5.bin.zopewsgi:runwsgi
566
scripts =
567
  apachedex
568
  performance_tester_erp5
569
  runwsgi
570 571 572 573
  runzope
  runzeo
  tidstoraged
  tidstorage_repozo
574
  wcfs
575
  web_checker_utility
576 577

extra-paths =
578
  ${erp5:location}
579

580 581
# patches for eggs
patch-binary = ${patch:location}/bin/patch
Gabriel Monnerat's avatar
Gabriel Monnerat committed
582 583
PyPDF2-patches = ${:_profile_base_location_}/../../component/egg-patch/PyPDF2/0001-Custom-implementation-of-warnings.formatwarning-remo.patch#d25bb0f5dde7f3337a0a50c2f986f5c8
PyPDF2-patch-options = -p1
584
Acquisition-patches = ${:_profile_base_location_}/../../component/egg-patch/Acquisition/aq_dynamic.patch#1d9a56e9af4371f5b6951ebf217a15d7
585
Acquisition-patch-options = -p1
586
python-magic-patches = ${:_profile_base_location_}/../../component/egg-patch/python_magic/magic.patch#de0839bffac17801e39b60873a6c2068
587
python-magic-patch-options = -p1
588

589 590 591 592 593 594
[eggs-all-scripts]
recipe = zc.recipe.egg
eggs =
  munnel
patch-binary = ${eggs:patch-binary}

595 596
[zodbanalyze]
recipe = zc.recipe.egg
597
eggs = erp5.util
598 599 600 601
entry-points =
  zodbanalyze=erp5.util.zodbanalyze:main
scripts = zodbanalyze

602 603 604 605 606
# develop erp5.util from parts/erp5/
[erp5-util-develop]
recipe = zc.recipe.egg:develop
setup = ${erp5:location}

607
[zodbpack]
608
recipe = zc.recipe.egg
609
eggs =
Łukasz Nowak's avatar
Łukasz Nowak committed
610
  slapos.toolbox[zodbpack]
611
scripts =
Łukasz Nowak's avatar
Łukasz Nowak committed
612
  zodbpack
613 614
depends =
  ${slapos-toolbox-dependencies:eggs}
615

616
[versions]
617
# See ../../software/neoppod/software-common.cfg for versions common with NEO:
618
#  neoppod, mysqlclient, slapos.recipe.template
619

620
# patched eggs
621
Acquisition = 2.13.12+SlapOSPatched001
622
Products.DCWorkflow = 2.2.4+SlapOSPatched001
623
ocropy = 1.0+SlapOSPatched001
624
pysvn = 1.9.15+SlapOSPatched001
625
python-ldap = 2.4.32+SlapOSPatched001
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
626
python-magic = 0.4.12+SlapOSPatched001
Gabriel Monnerat's avatar
Gabriel Monnerat committed
627
PyPDF2 = 1.26.0+SlapOSPatched001
628 629
## https://lab.nexedi.com/nexedi/slapos/merge_requests/648
pylint = 1.4.4
630

631
# use newer version than specified in ZTK
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
632
PasteDeploy = 1.5.2
633
argparse = 1.4.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
634
zope.dottedname = 4.1.0
635 636 637

# modified version that works fine for buildout installation
SOAPpy = 0.12.0nxd001
638

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
639
# CMF 2.3 is not yet supported.
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
640
Products.CMFCalendar = 2.2.3
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
641
Products.CMFCore = 2.2.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
642
Products.CMFDefault = 2.2.4
643 644
Products.CMFTopic = 2.2.1
Products.CMFUid = 2.2.1
645

646 647 648 649 650 651
# 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
652
# newer version requires zope.testbrowser>=4
653 654
zope.app.testing = 3.8.1

655
# Pinned versions
656
APacheDEX = 1.8
657
Pillow = 6.2.2
658 659
Products.CMFActionIcons = 2.1.3
Products.DCWorkflowGraph = 0.4.1
660 661
# 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
662
Products.GenericSetup = 1.8.6
663
Products.LongRequestLogger = 2.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
664
# Products.MimetypesRegistry 2.1 requires AccessControl>=3.0.0Acquisition.
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
665
Products.MimetypesRegistry = 2.0.10
666
Products.PluggableAuthService = 1.10.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
667
Products.PluginRegistry = 1.4
668
Products.TIDStorage = 5.5.0
669
pyPdf = 1.13
670
PyStemmer = 1.3.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
671
PyXML = 0.8.5
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
672
Pympler = 0.4.3
673 674
StructuredText = 2.11.1
WSGIUtils = 0.7
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
675
# astroid 1.4.1 breaks testDynamicClassGeneration
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
676
astroid = 1.3.8
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
677
erp5diff = 0.8.1.7
678
five.formlib = 1.0.4
679
five.localsitemanager = 2.0.5
680
google-api-python-client = 1.6.1
681
httplib2 = 0.10.3
682
huBarcode = 1.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
683
interval = 1.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
684
ipdb = 0.10.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
685
logilab-common = 1.3.0
686
munnel = 0.3
687
nt-svcutils = 2.13.0
688
oauth2client = 4.0.0
689
oauthlib = 3.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
690
objgraph = 3.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
691
ply = 3.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
692
polib = 1.0.8
693
pprofile = 2.0.4
694
pyasn1-modules = 0.0.8
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
695
pycountry = 17.1.8
696
pycrypto = 2.6.1
697
pycurl = 7.43.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
698
pyflakes = 1.5.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
699
python-memcached = 1.58
700
pytracemalloc = 1.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
701
qrcode = 5.3
702
rsa = 3.4.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
703
spyne = 2.12.14
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
704
suds = 0.4
Rafael Monnerat's avatar
Rafael Monnerat committed
705
facebook-sdk = 2.0.0
706
threadframe = 0.2
707
timerserver = 2.0.4
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
708
urlnorm = 1.1.4
709
uuid = 1.30
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
710
validictory = 1.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
711
xfw = 0.10
712
xupdate-processor = 0.4
713
selenium = 3.14.1
714 715 716
scikit-image = 0.14.0
PyWavelets = 0.5.2
networkx = 2.1
717
pytesseract = 0.2.2
718
zbarlight = 2.3
719 720 721
cloudpickle = 0.5.3
dask = 0.18.1
toolz = 0.9.0
722
zope.globalrequest = 1.5
723
waitress = 1.4.4
724
xlrd = 1.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
725

726 727
# 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
728
Products.ZSQLMethods = 2.13.5
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
729
fpconst = 0.7.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
730 731
graphviz = 0.5.2
olefile = 0.44
732
python-libmilter = 1.0.3
733 734 735
zope.app.debug = 3.4.1
zope.app.dependable = 3.5.1
zope.app.form = 4.0.2
736 737 738 739 740 741
et-xmlfile = 1.0.1
h5py = 2.7.1
mpmath = 0.19
openpyxl = 2.4.8
sympy = 1.1.1
jdcal = 1.3
742 743 744 745
xmltodict = 0.11.0
deepdiff = 3.3.0
unidiff = 0.5.5
jsonpickle = 0.9.6
Jérome Perrin's avatar
Jérome Perrin committed
746 747
responses = 0.10.6
cookies = 2.2.1
Jérome Perrin's avatar
Jérome Perrin committed
748 749
jedi = 0.15.1
parso = 0.5.1
Jérome Perrin's avatar
Jérome Perrin committed
750
yapf = 0.28.0
751 752 753 754 755 756 757
z3c.etestbrowser = 3.0.1
zope.testbrowser = 5.5.1
WSGIProxy2 = 0.4.6
WebTest = 2.0.33
beautifulsoup4 = 4.8.2
WebOb = 1.8.5
soupsieve = 1.9.5
758
eggtestinfo = 0.3