summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Prohaska <prohaska@tokutek.com>2014-06-02 16:24:47 -0400
committerRich Prohaska <prohaska@tokutek.com>2014-06-02 16:24:47 -0400
commit6334a16940ddd7cbe05b88613df642bd007b359f (patch)
tree7f3d21b01ab94471561ed3dd77f6f7f5429caf0d
parent7ea92a6561b208d59677a194fd7bb422011dcd0b (diff)
downloadmariadb-git-6334a16940ddd7cbe05b88613df642bd007b359f.tar.gz
#248 install PS+TokuDB tarballs
-rwxr-xr-xscripts/setup.mysql.bash79
1 files changed, 56 insertions, 23 deletions
diff --git a/scripts/setup.mysql.bash b/scripts/setup.mysql.bash
index e97e4a4f562..85132350289 100755
--- a/scripts/setup.mysql.bash
+++ b/scripts/setup.mysql.bash
@@ -5,6 +5,39 @@ function usage() {
echo "--mysqlbuild=$mysqlbuild --shutdown=$shutdown --install=$install --startup=$startup"
}
+function download_file() {
+ local file=$1
+ s3get $s3bucket $file $file
+}
+
+function download_tarball() {
+ local tarball=$1
+ if [ ! -f $tarball ] ; then
+ download_file $tarball
+ if [ $? -ne 0 ] ; then test 0 = 1; return; fi
+ fi
+ if [ ! -f $tarball.md5 ] ; then
+ download_file $tarball.md5
+ if [ $? -ne 0 ] ; then test 0 = 1; return; fi
+ fi
+}
+
+function install_tarball() {
+ local basedir=$1; local tarball=$2
+ tar -x -z -f $basedir/$tarball
+ if [ $? -ne 0 ] ; then test 0 = 1; return; fi
+}
+
+function check_md5() {
+ local tarball=$1
+ md5sum --check $tarball.md5
+ if [ $? -ne 0 ] ; then
+ # support jacksum md5 output which is almost the same as md5sum
+ diff -b <(cat $tarball.md5) <(md5sum $tarball)
+ if [ $? -ne 0 ] ; then test 0 = 1; return; fi
+ fi
+}
+
mysqlbuild=
shutdown=1
install=1
@@ -64,30 +97,24 @@ basedir=$PWD
mysqltarball=$mysqlbuild.tar.gz
-if [ -f $mysqlbuild.tar.gz ] ; then
- compression=-z
- mysqltarball=$mysqlbuild.tar.gz
-elif [ -f $mysqlbuild.tar.bz2 ] ; then
- compression=-j
- mysqltarball=$mysqlbuild.tar.bz2
-fi
-
-# get the release
-if [ ! -f $mysqltarball ] ; then
- s3get $s3bucket $mysqltarball $mysqltarball
- if [ $? -ne 0 ] ; then exit 1; fi
-fi
-if [ ! -f $mysqltarball.md5 ] ; then
- s3get $s3bucket $mysqltarball.md5 $mysqltarball.md5
- if [ $? -ne 0 ] ; then exit 1; fi
-fi
+# get the tarball
+download_tarball $mysqltarball
+if [ $? -ne 0 ] ; then exit 1; fi
# check the md5 sum
-md5sum --check $mysqltarball.md5
-if [ $? -ne 0 ] ; then
- # support jacksum md5 output which is almost the same as md5sum
- diff -b <(cat $mysqltarball.md5) <(md5sum $mysqltarball)
- if [ $? -ne 0 ] ; then exit 1; fi
+check_md5 $mysqltarball
+if [ $? -ne 0 ] ; then exit 1; fi
+
+tokudbtarball=""
+if [[ $mysqltarball =~ ^(Percona-Server.*)\.(Linux\.x86_64.*)$ ]] ; then
+ tar tzf $mysqltarball | egrep ha_tokudb.so >/dev/null 2>&1
+ if [ $? -ne 0 ] ; then
+ tokudbtarball=${BASH_REMATCH[1]}.TokuDB.${BASH_REMATCH[2]}
+ download_tarball $tokudbtarball
+ if [ $? -ne 0 ] ; then exit 1; fi
+ check_md5 $tokudbtarball
+ if [ $? -ne 0 ] ; then exit 1; fi
+ fi
fi
# set ldpath
@@ -126,8 +153,14 @@ if [ ! -d $mysqlbuild ] || [ $install -ne 0 ] ; then
rm mysql
if [ -d $mysqlbuild ] ; then $sudo rm -rf $mysqlbuild; fi
- tar -x $compression -f $basedir/$mysqltarball
+ install_tarball $basedir $mysqltarball
if [ $? -ne 0 ] ; then exit 1; fi
+
+ if [ $tokudbtarball ] ; then
+ install_tarball $basedir $tokudbtarball
+ if [ $? -ne 0 ] ; then exit 1; fi
+ fi
+
ln -s $mysqldir /usr/local/mysql
if [ $? -ne 0 ] ; then exit 1; fi
ln -s $mysqldir /usr/local/$mysqlbuild