# This buildout Compiles senna and mysql 5.0.87 patched for senna. # There are no patches for senna for mysql versions later than that. # # This buildout is extensively inspired on the LAMP buildout found on: # http://aclark.net/team/aclark/blog/a-lamp-buildout-for-wordpress-and-other-php-apps # # dependencies: lib64termcap-devel lib64ncurses-devel flex bison [buildout] parts = ports env senna mysql mysql_install_db mysql-bin mysql-admin mycnf supervisor pidproxy eggs-directory = eggs [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 [senna] recipe = hexagonit.recipe.cmmi url = http://sourceforge.jp/frs/redir.php?m=jaist&f=%2Fsenna%2F33763%2Fsenna-1.1.4.tar.gz keep-compile-dir = true configure-options = --without-mecab --enable-nfkc=no [mysql] recipe = hexagonit.recipe.cmmi #url = http://mysql.mirrors.hoobly.com/Downloads/MySQL-5.1/mysql-5.1.35.tar.gz url = http://downloads.mysql.com/archives/mysql-5.0/mysql-5.0.87.tar.gz keep-compile-dir = true pre-configure-hook = ${buildout:directory}/src/mysql_pre_configure.py:hook configure-options = --with-senna --without-mecab patch-options = -p1 patches = # would be nice if the Senna or Tritonn folks released patches for more # recent versions of MySQL # ${buildout:directory}/patches/mysql-5.0.67-add-ylwrap.diff is really required? ${buildout:directory}/patches/tritonn-1.0.12-mysql-5.0.87.diff environment = PATH =${senna:location}/bin:%(PATH)s [mysql_install_db] recipe = plone.recipe.command command = ${mysql:location}/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: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} [mysql-bin] recipe = collective.recipe.template input = ${buildout:directory}/templates/mysql.in output = ${buildout:directory}/bin/mysql [mysql-admin] recipe = collective.recipe.template input = ${buildout:directory}/templates/mysqladmin.in output = ${buildout:directory}/bin/mysqladmin [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:location}/bin/mysqld_safe ${mycnf:opt} ]