From d579d300f18b8e0eee8cc1e1531691ae20414569 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com> Date: Fri, 12 Feb 2010 10:37:26 +0000 Subject: [PATCH] - really separate software from data - rename templates and output files to be consistent with original (mysqld -> mysqld_safe) - reuse buildout automatic dependency - put binaries into var/bin and reuse from there Sometimes software is in "data" directory - especially those binaries which are controlling software configuration. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@32486 20353a03-c40f-0410-a6d1-a30d3c3de9de --- buildout/development.cfg | 1 - buildout/mysql-instance/buildout.cfg | 20 ++++++++++++------- buildout/mysql-instance/templates/mysql.in | 2 +- .../mysql-instance/templates/mysqladmin.in | 2 +- buildout/mysql-instance/templates/mysqld.in | 3 --- .../mysql-instance/templates/mysqld_safe.in | 3 +++ buildout/mysql-tritonn-5.0/buildout.cfg | 9 --------- buildout/official.cfg | 2 ++ buildout/zope-instance/buildout.cfg | 2 +- 9 files changed, 21 insertions(+), 23 deletions(-) delete mode 100755 buildout/mysql-instance/templates/mysqld.in create mode 100755 buildout/mysql-instance/templates/mysqld_safe.in diff --git a/buildout/development.cfg b/buildout/development.cfg index c8343c90f8..4e4b28b040 100644 --- a/buildout/development.cfg +++ b/buildout/development.cfg @@ -3,7 +3,6 @@ extends = official.cfg parts += create-directories - mysql-binaries mysql-cnf mysql-instance start-mysql-instance diff --git a/buildout/mysql-instance/buildout.cfg b/buildout/mysql-instance/buildout.cfg index 4b4334bd06..6c00efa8ad 100644 --- a/buildout/mysql-instance/buildout.cfg +++ b/buildout/mysql-instance/buildout.cfg @@ -4,7 +4,6 @@ [buildout] parts = - mycnf mysql-instance [configuration] @@ -19,17 +18,17 @@ mysql_cnf_file = ${buildout:etc-directory}/my.cnf [mysql-bin] recipe = collective.recipe.template input = ${buildout:directory}/mysql-instance/templates/mysql.in -output = ${buildout:directory}/bin/mysql +output = ${buildout:data-bin-directory}/mysql [mysql-admin] recipe = collective.recipe.template input = ${buildout:directory}/mysql-instance/templates/mysqladmin.in -output = ${buildout:directory}/bin/mysqladmin +output = ${buildout:data-bin-directory}/mysqladmin -[mysqld-bin] +[mysqld_safe-bin] recipe = collective.recipe.template -input = ${buildout:directory}/mysql-instance/templates/mysqld.in -output = ${buildout:directory}/bin/mysqld +input = ${buildout:directory}/mysql-instance/templates/mysqld_safe.in +output = ${buildout:data-bin-directory}/mysqld_safe [mysql-cnf] recipe = collective.recipe.template @@ -37,6 +36,13 @@ input = ${buildout:directory}/mysql-instance/templates/my.cnf.in output = ${configuration:mysql_cnf_file} [mysql-instance] +depends = + ${create-directories:command} + ${mysql-cnf:output} + ${mysql-bin:output} + ${mysql-admin:output} + ${mysqld_safe-bin:output} + recipe = plone.recipe.command command = mkdir -p ${configuration:mysql_datadir} @@ -44,7 +50,7 @@ command = [start-mysql-instance] recipe = plone.recipe.command -command = ${software_definition:software_home}/bin/mysqld_safe --defaults-file=${configuration:mysql_cnf_file} & +command = ${buildout:data-bin-directory}/bin/mysqld_safe & update-command = ${:command} [stop-mysql-instance] diff --git a/buildout/mysql-instance/templates/mysql.in b/buildout/mysql-instance/templates/mysql.in index 812a8aae20..e0fdfdfb2f 100755 --- a/buildout/mysql-instance/templates/mysql.in +++ b/buildout/mysql-instance/templates/mysql.in @@ -1,3 +1,3 @@ #!/bin/sh -${software_definition:mysql_software}/bin/mysql --no-defaults --protocol=tcp --host=${configuration:mysql_host} --port=${configuration:mysql_port} $@ +${software_definition:mysql_software}/bin/mysql --defaults-file=${configuration:mysql_cnf_file} $@ diff --git a/buildout/mysql-instance/templates/mysqladmin.in b/buildout/mysql-instance/templates/mysqladmin.in index 57cd1eb873..db39d292e5 100755 --- a/buildout/mysql-instance/templates/mysqladmin.in +++ b/buildout/mysql-instance/templates/mysqladmin.in @@ -1,3 +1,3 @@ #!/bin/sh -${software_definition:mysql_software}/bin/mysqladmin --no-defaults --protocol=tcp --host=${configuration:mysql_host} --port=${configuration:mysql_port} $@ +${software_definition:mysql_software}/bin/mysqladmin --defaults-file=${configuration:mysql_cnf_file} $@ diff --git a/buildout/mysql-instance/templates/mysqld.in b/buildout/mysql-instance/templates/mysqld.in deleted file mode 100755 index d27490b034..0000000000 --- a/buildout/mysql-instance/templates/mysqld.in +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -${software_definition:mysql_software}/bin/mysqld_safe --no-defaults --port=${configuration:mysql_port} --pid-file=${configuration:mysql_pid} --log-error=${configuration:mysql_error_log} --basedir=${software_definition:mysql_software} --datadir=${configuration:mysql_datadir} --socket=${configuration:mysql_sock} diff --git a/buildout/mysql-instance/templates/mysqld_safe.in b/buildout/mysql-instance/templates/mysqld_safe.in new file mode 100755 index 0000000000..9a12ebb7fd --- /dev/null +++ b/buildout/mysql-instance/templates/mysqld_safe.in @@ -0,0 +1,3 @@ +#!/bin/sh + +${software_definition:mysql_software}/bin/mysqld_safe --defaults-file=${configuration:mysql_cnf_file} $@ diff --git a/buildout/mysql-tritonn-5.0/buildout.cfg b/buildout/mysql-tritonn-5.0/buildout.cfg index 7b384b1248..a91be45583 100644 --- a/buildout/mysql-tritonn-5.0/buildout.cfg +++ b/buildout/mysql-tritonn-5.0/buildout.cfg @@ -42,15 +42,6 @@ environment = CXXFLAGS =-I${senna:location}/include LDLAGS =-L${senna:location}/lib -[mysql-binaries] -# another approach - software buildout provides easily accessible binaries -recipe = plone.recipe.command -command = - ln -sf ${software_definition:mysql_software}/bin/mysql ${buildout:directory}/bin/mysql - ln -sf ${software_definition:mysql_software}/bin/mysqladmin ${buildout:directory}/bin/mysqladmin - ln -sf ${software_definition:mysql_software}/bin/mysqld_safe ${buildout:directory}/bin/mysqld_safe - ln -sf ${software_definition:mysql_software}/bin/mysql_install_db ${buildout:directory}/bin/mysql_install_db - [requirements] binary = flex bison patch gcc g++ development = /usr/include/termcap.h /usr/include/curses.h diff --git a/buildout/official.cfg b/buildout/official.cfg index 55f33ab333..d364794084 100644 --- a/buildout/official.cfg +++ b/buildout/official.cfg @@ -17,6 +17,7 @@ extends = var-directory = ${:directory}/var etc-directory = ${:var-directory}/etc log-directory = ${:var-directory}/log +data-bin-directory = ${:var-directory}/bin versions = versions find-links = @@ -63,6 +64,7 @@ command = mkdir -p ${buildout:etc-directory} mkdir -p ${buildout:var-directory} mkdir -p ${buildout:log-directory} + mkdir -p ${buildout:data-bin-directory} [software_definition] software_home = ${buildout:directory} diff --git a/buildout/zope-instance/buildout.cfg b/buildout/zope-instance/buildout.cfg index ddf93f4c82..a22a39a1be 100644 --- a/buildout/zope-instance/buildout.cfg +++ b/buildout/zope-instance/buildout.cfg @@ -40,7 +40,7 @@ products = # XXX: This have to be converted into recipe recipe = plone.recipe.command command = - echo "CREATE DATABASE IF NOT EXISTS ${create_erp5_site:mysql_database_name} DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci" | ${software_definition:software_home}/bin/mysql --defaults-file=${configuration:mysql_cnf_file} -u root + echo "CREATE DATABASE IF NOT EXISTS ${create_erp5_site:mysql_database_name} DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci" | ${buildout:data-bin-directory}/mysql -u root [create_erp5_site] depends = ${create_mysql_database:command} -- 2.30.9