# 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
    ../../stack/logrotate/buildout.cfg
#LXML
    ../../component/lxml-python/buildout.cfg
#END LXML
    ../../component/msgpack-python/buildout.cfg
    ../../component/patch/buildout.cfg
    ../../component/python-mysqlclient/buildout.cfg
    ../../component/python-cryptography/buildout.cfg
    ../../component/pycurl/buildout.cfg

parts =
# keep neoppod first so that ZODB is built correctly,
# before any other section that would depend on it
    neoppod-develop
    neoppod
    slapos-deps-eggs
    slapos-cookbook

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

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

[neoppod-develop]
recipe = zc.recipe.egg:develop
setup = ${neoppod-repository:location}
environment = neoppod-setup-env

[neoppod]
recipe = zc.recipe.egg
eggs = neoppod[admin, ctl, master, storage-mysqldb]
  ${msgpack-python:egg}
  ${python-mysqlclient:egg}
  psutil
  BTrees
  ZODB
  zope.testing
  zodbtools

[slapos-deps-eggs]
recipe = zc.recipe.egg
eggs =
  ${lxml-python:egg}
  ${pycurl:egg}
  ${python-PyYAML:egg}
  ${python-cryptography:egg}
  ${python-cliff:egg}
  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
md5sum = e8f5a83580e9791a32c66f5935cb6840
context =
    key bin_directory buildout:bin-directory
    key develop_eggs_directory buildout:develop-eggs-directory
    key eggs_directory buildout:eggs-directory
    key mariadb_location mariadb:location
    key neo_admin instance-neo-admin:target
    key neo_master instance-neo-master:target
    key neo_storage_mysql instance-neo-storage-mysql:target
    key template_logrotate_base template-logrotate-base:rendered
    key template_neo_my_cnf template-neo-my-cnf:target

[root-common]
<= download-base-neo
md5sum = f3259726bd5d824c569dc7db6b7d26a0

[instance-neo-admin]
<= download-base-neo
md5sum = f671bb5bbb006d6bcecee8c7814bee57

[instance-neo-master]
<= download-base-neo
md5sum = 1fee10f02c2fa2a581e21878ca0fd704

[instance-neo-storage-mysql]
<= download-base-neo
md5sum = 67d623d631c2f99e33bcabc79fc9cccf

[template-neo-my-cnf]
<= download-base-neo
url = ${:_profile_base_location_}/my.cnf.in
md5sum = 87d18c7021e4d43756813a83c9da5e97

[versions]
BTrees = 4.4.1
ZODB = 4.4.5
apache-libcloud = 1.5.0
ecdsa = 0.13
gitdb2 = 2.0.0
msgpack-python = 0.4.8
mysqlclient = 1.3.12
persistent = 4.2.3
pycrypto = 2.6.1
pycurl = 7.43.0
slapos.recipe.template = 3.0
slapos.toolbox = 0.72
smmap2 = 2.0.1
transaction = 1.7.0
zodbpickle = 0.6.0
zodbtools = 0.0.0.dev3

# Required by:
# slapos.toolbox==0.71
GitPython = 2.1.3

# Required by:
# slapos.toolbox==0.71
PyRSS2Gen = 1.1

# Required by:
# slapos.toolbox==0.71
atomize = 0.2.0

# Required by:
# slapos.toolbox==0.71
dnspython = 1.14.0

# Required by:
# slapos.toolbox==0.71
feedparser = 5.2.1

# slapos.toolbox==0.71
lockfile = 0.12.2

# Required by:
# slapos.toolbox==0.71
paramiko = 2.1.2

# Required by:
# slapos.toolbox==0.71
passlib = 1.7.1