software-common.cfg 5.22 KB
Newer Older
1 2 3 4 5 6 7 8 9
# Note on LXML/END LXML: they delimit areas where lxml magic is needed. lxml is
# a slapos.cookbook dependency, so it should be fetched automatically. But when
# automatically fetched, it gets built against system headers/libs, which is
# forbidden in slapos. So we need to fetch lxml explicitly so it is properly
# built.

[buildout]
extends =
    ../../stack/slapos.cfg
10
    ../../stack/logrotate/buildout.cfg
11
    ../../stack/monitor/buildout.cfg
12
    ../../component/cython-zstd/buildout.cfg
13 14 15
#LXML
    ../../component/lxml-python/buildout.cfg
#END LXML
16
    ../../component/msgpack-python/buildout.cfg
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
17
    ../../component/patch/buildout.cfg
18
    ../../component/python-mysqlclient/buildout.cfg
19
    ../../component/python-cryptography/buildout.cfg
20
    ../../component/pycurl/buildout.cfg
21 22

parts =
23
# keep neoppod first so that ZODB is built correctly,
24
# before any other section that would depend on it
25
    neoppod-develop
26
    neoppod
27 28 29
    slapos-deps-eggs
    slapos-cookbook

30 31
[neoppod-repository]
recipe = slapos.recipe.build:gitclone
32
repository = https://lab.nexedi.com/nexedi/neoppod.git
33 34
git-executable = ${git:location}/bin/git

35 36 37
[neoppod-setup-env]
PATH = ${git:location}/bin:%(PATH)s

38 39 40
[neoppod-develop]
recipe = zc.recipe.egg:develop
setup = ${neoppod-repository:location}
41
environment = neoppod-setup-env
42 43 44

[neoppod]
recipe = zc.recipe.egg
45
eggs = neoppod[admin, ctl, master]
46
  ${cython-zstd:egg}
47
  ${msgpack-python:egg}
48
  ${:adapter-egg}
49
  ${BTrees:egg}
50 51 52
  psutil
  ZODB
  zope.testing
53
  zodbtools
54
  coverage
55
  setproctitle
56
adapter-egg = ${python-mysqlclient:egg}
57 58 59 60 61
patch-binary = ${patch:location}/bin/patch
ZEO-patch-options = -p1
ZEO-patches =
  ${:_profile_base_location_}/../../component/egg-patch/ZEO4/TCP_NODELAY.patch#b07288522d5c6857738240d948321df6

62 63 64 65 66 67 68 69 70 71 72
# XXX: buildout fails to install properly eggs with setup_requires
[BTrees]
recipe = zc.recipe.egg:custom
egg = ${:_buildout_section_name_}
setup-eggs = ${persistent:egg}

[persistent]
recipe = zc.recipe.egg:custom
egg = ${:_buildout_section_name_}
setup-eggs = ${python-cffi:egg}
###
73

74 75 76 77
[slapos-deps-eggs]
recipe = zc.recipe.egg
eggs =
  ${lxml-python:egg}
78
  ${pycurl:egg}
79
  ${python-PyYAML:egg}
80
  ${python-cryptography:egg}
81
  ${python-cliff:egg}
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
  slapos.toolbox
scripts =
  slapos-kill

[download-base-neo]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/${:_buildout_section_name_}.cfg.in
# XXX: following mode should be the default
mode = 644

# XXX: must be rendered, not just dled
[instance-common]
recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/${:_buildout_section_name_}.cfg.in
rendered = ${buildout:directory}/${:_buildout_section_name_}.cfg
97
md5sum = 0a3a54fcc7be0bbd63cbd64f006ceebc
98 99 100 101 102 103
context =
    key bin_directory buildout:bin-directory
    key develop_eggs_directory buildout:develop-eggs-directory
    key eggs_directory buildout:eggs-directory
    key neo_admin instance-neo-admin:target
    key neo_master instance-neo-master:target
104
    key neo instance-neo:target
105
    key template_logrotate_base template-logrotate-base:rendered
106
    key template_monitor monitor2-template:rendered
107 108 109
    ${:adapter-context}
adapter-context =
    key mariadb_location mariadb:location
110
    key template_mysqld_wrapper template-mysqld-wrapper:rendered
111 112 113 114
    key template_neo_my_cnf template-neo-my-cnf:target

[root-common]
<= download-base-neo
Julien Muchembled's avatar
Julien Muchembled committed
115
md5sum = ccc6e33412259415ec6c3452d37b77cc
116 117 118

[instance-neo-admin]
<= download-base-neo
119
md5sum = 87670ddc6b5d2007dac1b6d2ba86d168
120 121 122

[instance-neo-master]
<= download-base-neo
123
md5sum = 9f27195d770b2f57461c60a82c851ab9
124

125
[instance-neo]
126
<= download-base-neo
Julien Muchembled's avatar
Julien Muchembled committed
127
md5sum = d18e049d580720e733502b774b0d6790
128 129 130 131

[template-neo-my-cnf]
<= download-base-neo
url = ${:_profile_base_location_}/my.cnf.in
132
md5sum = 9f6f8f2b5f4cb0d97d50ffc1d3837e2f
133

134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
[template-mysqld-wrapper]
recipe = slapos.recipe.template:jinja2
rendered = ${buildout:parts-directory}/${:_buildout_section_name_}/mysqld.in
mode = 644
template =
  inline:{% raw %}#!/bin/sh -e
  datadir='{{datadir}}'
  [ -e "$datadir" ] || {
    rm -vrf "$datadir.new"
    '${mariadb:location}/scripts/mysql_install_db' \
      --defaults-file='{{defaults_file}}' \
      --skip-name-resolve \
      --basedir='${mariadb:location}' \
      --datadir="$datadir.new"
    mv -v "$datadir.new" "$datadir"
  }
150 151 152 153 154
  {%- if environ is defined %}
  {%-   for variable in environ.splitlines() %}
  {{ variable }} \
  {%-   endfor %}
  {%- endif %}
155 156 157 158 159
  exec '${mariadb:location}/bin/mysqld' \
    --defaults-file='{{defaults_file}}' \
    "$@"
  {% endraw %}

160
[versions]
Kirill Smelkov's avatar
Kirill Smelkov committed
161
BTrees = 4.5.1
162
ZODB = 4.4.5
163
coverage = 4.5.1
164
mock = 3.0.5
165 166
ecdsa = 0.13
gitdb2 = 2.0.0
167
msgpack = 0.5.6
168
msgpack-python = 0.5.6
169
mysqlclient = 1.3.12
170
persistent = 4.5.0
171 172
pycrypto = 2.6.1
pycurl = 7.43.0
173
setproctitle = 1.1.10
174
slapos.recipe.template = 4.3
175
smmap2 = 2.0.1
176
transaction = 1.7.0
177
zodbpickle = 1.0.4
178
zodbtools = 0.0.0.dev4
Rafael Monnerat's avatar
Rafael Monnerat committed
179
cython-zstd = 0.2
180
python-dateutil = 2.7.3
181

182 183 184 185 186 187 188
# Required by:
# zodbtools==0.0.0dev4
zodburi = 2.3.0

# Required by:
# zodburi==2.0
# ZEO 5 requires transaction >= 2
189
ZEO = 4.3.1+SlapOSPatched001
190 191 192 193

# Required by:
# ZEO==4.3.1
zdaemon = 4.2.0
Rafael Monnerat's avatar
Rafael Monnerat committed
194

195 196 197
# Required by:
# mock = 3.0.5
funcsigs = 1.0.2
Rafael Monnerat's avatar
Rafael Monnerat committed
198

Rafael Monnerat's avatar
Rafael Monnerat committed
199 200 201

# Test Suite: NEO-MASTER ran at 2019/08/30 16:41:54.539799 UTC
#             22 failures, 3 errors, 839 total, status: FAIL
Rafael Monnerat's avatar
Rafael Monnerat committed
202 203

[neoppod-repository]
Rafael Monnerat's avatar
Rafael Monnerat committed
204
revision = c681f666c191581551c9d63e1f302270fd6a343d
Rafael Monnerat's avatar
Rafael Monnerat committed
205