diff --git a/component/groonga/buildout.cfg b/component/groonga/buildout.cfg index a3f932b45669a2a62d09d338f0492b2e6805acfd..a98da79cc9dc4bfe060c5430c7550d67e0b25d3e 100644 --- a/component/groonga/buildout.cfg +++ b/component/groonga/buildout.cfg @@ -7,8 +7,8 @@ parts = [groonga] recipe = hexagonit.recipe.cmmi -url = http://packages.groonga.org/source/groonga/groonga-2.0.5.tar.gz -md5sum = 6ea6634ceee97f701add89ee39f4c1da +url = http://packages.groonga.org/source/groonga/groonga-2.0.6.tar.gz +md5sum = 64467d1ab8d5e0df8348a636972a95a7 configure-options = --disable-static --disable-glibtest diff --git a/component/haproxy/buildout.cfg b/component/haproxy/buildout.cfg index 098e35f4c6b97a29ba48ca676cb857c034dd2ada..44a667c669514c1b56fe851145f33c2f93072c9e 100644 --- a/component/haproxy/buildout.cfg +++ b/component/haproxy/buildout.cfg @@ -9,8 +9,8 @@ parts = haproxy [haproxy] recipe = hexagonit.recipe.cmmi -url = http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.21.tar.gz -md5sum = f36d5d13fd4a44ab454eee5d06cb38a2 +url = http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.22.tar.gz +md5sum = a0b007c76f6a78524f3b3dd5e704979c configure-command = true # If the system is running on Linux 2.6, we use "linux26" as the TARGET, # otherwise use "generic". diff --git a/component/mariadb/buildout.cfg b/component/mariadb/buildout.cfg index e359c6a2cd2cbf959707c9e9f344ac96abaca2a6..dc77943298f46fc36537dc0b1efe7f8ad847d483 100644 --- a/component/mariadb/buildout.cfg +++ b/component/mariadb/buildout.cfg @@ -25,10 +25,10 @@ download-only = true [mariadb] recipe = hexagonit.recipe.cmmi -version = 5.5.25 +version = 5.5.27 revision = 1 url = http://downloads.askmonty.org/f/mariadb-${:version}/kvm-tarbake-jaunty-x86/mariadb-${:version}.tar.gz/from/http://ftp.osuosl.org/pub/mariadb -md5sum = 943f67c267d73a4080ab497e11740daf +md5sum = ad6f3239a1d5af0a667e30f7c0b05037 # compile directory is required to build mysql plugins. keep-compile-dir = true patch-options = -p0 @@ -59,9 +59,11 @@ environment = LDFLAGS=-L${libaio:location}/lib [mroonga-mariadb] +# mroonga - a storage engine for MySQL. It provides fast fulltext search feature to all MySQL users. +# http://mroonga.github.com/ recipe = hexagonit.recipe.cmmi -url = https://github.com/downloads/mroonga/mroonga/mroonga-2.05.tar.gz -md5sum = 6aee0e6ff948bba7c02854326afc11df +url = https://github.com/downloads/mroonga/mroonga/mroonga-2.06.tar.gz +md5sum = 89ce640a57ed8f2161b8358ff4c29c66 configure-options = --with-mysql-source=${mariadb:location}__compile__/mariadb-${mariadb:version} --with-mysql-config=${mariadb:location}/bin/mysql_config diff --git a/component/sphinx/buildout.cfg b/component/sphinx/buildout.cfg index 7fc921062c781eab940f818d32e1d692d6a88887..c4ece92a892ed429492e0409ecee03b8d2b4c248 100644 --- a/component/sphinx/buildout.cfg +++ b/component/sphinx/buildout.cfg @@ -20,8 +20,8 @@ filename = sphinx-1.10-beta-snowball.patch recipe = hexagonit.recipe.cmmi depends = ${mariadb:version} -url = http://sphinxsearch.com/files/sphinx-2.0.2-beta.tar.gz -md5sum = fafe0f1a71d0ded32404c067eba7d0b3 +url = http://sphinxsearch.com/files/sphinx-2.0.5-release.tar.gz +md5sum = e71fdb5b0c2911247d48fb30550b9584 configure-options = --with-mysql --with-mysql-includes=${mariadb:location}/include/mysql diff --git a/setup.py b/setup.py index 33697007516cf6895b33008c0850482f22e3b652..b897104d7ed9e45485289fbda7467960ac08b678 100755 --- a/setup.py +++ b/setup.py @@ -36,6 +36,7 @@ setup(name=name, 'xml_marshaller', # need to communication with slapgrid 'zc.buildout', # plays with buildout 'zc.recipe.egg', # for scripts generation + 'pytz', # for timezone database ], zip_safe=True, entry_points={ diff --git a/slapos/recipe/generic_mysql/mysql.py b/slapos/recipe/generic_mysql/mysql.py index 98f8ced8eb26fdacc8f69e353f4caefc2f994489..31b60eac4df38ee6b84a9bc42a88c3da1d0cc156 100644 --- a/slapos/recipe/generic_mysql/mysql.py +++ b/slapos/recipe/generic_mysql/mysql.py @@ -2,6 +2,7 @@ import os import subprocess import time import sys +import pytz def runMysql(args): @@ -65,8 +66,28 @@ def updateMysql(args): print 'Command %r failed with:\n%s' % (mysql_list, result) print 'Sleeping for %ss and retrying' % sleep else: - is_succeed = True - print 'SlapOS initialisation script succesfully applied on database.' + # import timezone database + mysql_tzinfo_to_sql_binary = os.path.join( + os.path.dirname(conf['mysql_binary'].strip()), 'mysql_tzinfo_to_sql') + zoneinfo_directory = '%s/zoneinfo' % os.path.dirname(pytz.__file__) + mysql_tzinfo_to_sql_list = [mysql_tzinfo_to_sql_binary, zoneinfo_directory] + mysql_tzinfo_to_sql = subprocess.Popen(mysql_tzinfo_to_sql_list, stdin=subprocess.PIPE, + stdout=subprocess.PIPE, stderr=subprocess.PIPE) + timezone_sql = mysql_tzinfo_to_sql.communicate()[0] + if mysql.returncode != 0: + print 'Command %r failed with:\n%s' % (mysql_tzinfo_to_sql_list, result) + print 'Sleeping for %ss and retrying' % sleep + else: + mysql = subprocess.Popen(mysql_list + ['mysql',], stdin=subprocess.PIPE, + stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + result = mysql.communicate(timezone_sql)[0] + if mysql.returncode is None: + mysql.kill() + if mysql.returncode != 0: + print 'Command %r failed with:\n%s' % (mysql_list, result) + print 'Sleeping for %ss and retrying' % sleep + is_succeed = True + print 'SlapOS initialisation script succesfully applied on database.' sys.stdout.flush() sys.stderr.flush() time.sleep(sleep)