# This is data only part of buildout for mysql with senna
# made by Leonardo Rochael Almeida <leorochael@gmail.com> (thanks!)
# Original place: https://svn.erp5.org/repos/public/experimental/mysqlsenna.buildout/

[buildout]
parts =
    ports
    env
    mysql-bin
    mysql-admin
    mysql_install_db
    mycnf
    supervisor
    pidproxy

[ports]
recipe = plone.recipe.command
command = 
    echo The following configuration items are active for this buildout
    echo Supervisor: ${:supervisor}
    echo MySQL: ${:mysql}
supervisor = 10000
mysql = 10002

[env]
recipe = gocept.recipe.env

[mysql-bin]
recipe = collective.recipe.template
input = ${buildout:directory}/mysql-tritonn-5.0-instance/templates/mysql.in
output = ${buildout:directory}/bin/mysql

[mysql-admin]
recipe = collective.recipe.template
input = ${buildout:directory}/mysql-tritonn-5.0-instance/templates/mysqladmin.in
output = ${buildout:directory}/bin/mysqladmin[mysql_install_db]

[mysql_install_db]
recipe = plone.recipe.command
command = 
    ${mysql-tritonn-5.0:location}/parts/bin/mysql_install_db --datadir=${mycnf:datadir}
    echo 
    echo After starting supervisord, you may want to run:
    echo ${buildout:directory}/parts/mysql/bin/mysqladmin -u root password 'new-password'
    echo
update-command = ${mysql_install_db:command}

[mycnf]
recipe = plone.recipe.command
command =
    echo
    echo These options are passed to mysqld_safe: ${mycnf:opt}
    echo
basedir=${mysql-tritonn-5.0:location}
datadir=${buildout:directory}/var
pid=${mycnf:datadir}/mysql.pid
err = ${mycnf:datadir}/log/mysql.err
sock = ${mycnf:datadir}/mysql.sock
opt = --port=${ports:mysql} --pid-file=${mycnf:pid} --log-error=${mycnf:err} --basedir=${mycnf:basedir} --datadir=${mycnf:datadir} --socket=${mycnf:sock}

[pidproxy]
# this should've been provided by collective.recipe.supervisor itself
recipe = zc.recipe.egg
eggs = supervisor
scripts = pidproxy

[supervisor]
recipe = collective.recipe.supervisor
port = ${ports:supervisor}
serverurl = http://127.0.0.1:${ports:supervisor}
pp = ${buildout:directory}/eggs/supervisor-3.0a7-py2.5.egg/supervisor/pidproxy.py
programs =
    10 mysql ${buildout:bin-directory}/pidproxy [ ${mycnf:pid} ${mysql-tritonn-5.0:location}/bin/mysqld_safe ${mycnf:opt} ]