mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
108 lines
3.1 KiB
Bash
Executable file
108 lines
3.1 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
function usage() {
|
|
echo "make mysql and copy the tarballs to an amazon s3 bucket"
|
|
return 1
|
|
}
|
|
|
|
# copy build files to amazon s3
|
|
function copy_to_s3() {
|
|
local s3_build_bucket=$1; local s3_release_bucket=$2; local mysql_distro=$3
|
|
local ts=$(date +%s)
|
|
local ymd=$(date +%Y%m%d -d @$ts)
|
|
local ym=$(date +%Y%m -d @$ts)
|
|
local exitcode=0; local r=0
|
|
for f in $(find . -maxdepth 1 \( -name $mysql_distro'*.tar.gz*' -o -name $mysql_distro'*.rpm*' \) ) ; do
|
|
f=$(basename $f)
|
|
echo `date` s3put $s3_build_bucket $f
|
|
s3put $s3_build_bucket $f $f
|
|
r=$?
|
|
# index the file by date
|
|
echo `date` s3put $s3_build_bucket $f $r
|
|
if [ $r != 0 ] ; then exitcode=1; fi
|
|
s3put $s3_build_bucket-date $ymd/$f /dev/null
|
|
r=$?
|
|
echo `date` s3put $s3_build_bucket-date $ymd/$f $r
|
|
if [ $r != 0 ] ; then exitcode=1; fi
|
|
# copy to partition by date
|
|
s3mkbucket $s3_build_bucket-$ym
|
|
s3copykey $s3_build_bucket-$ym $f $s3_build_bucket $f
|
|
done
|
|
if [[ $git_tag =~ tokudb-.* ]] ; then
|
|
s3mkbucket $s3_release_bucket-$git_tag
|
|
if [ $r != 0 ] ; then
|
|
exitcode=1
|
|
else
|
|
for f in $(find . -maxdepth 1 \( -name $mysql_distro'*.tar.gz*' -o -name $mysql_distro'*.rpm*' \) ) ; do
|
|
f=$(basename $f)
|
|
echo `date` s3copykey $s3_release_bucket-$git_tag $f
|
|
s3copykey $s3_release_bucket-$git_tag $f $s3_build_bucket $f
|
|
r=$?
|
|
echo `date` s3copykey $s3_release_bucket-$git_tag $f $r
|
|
if [ $r != 0 ] ; then exitcode=1; fi
|
|
done
|
|
fi
|
|
fi
|
|
test $exitcode = 0
|
|
}
|
|
|
|
mysqlbuild=
|
|
s3=1
|
|
s3_build_bucket=tokutek-mysql-build
|
|
s3_release_bucket=tokutek-mysql
|
|
system=$(uname -s | tr '[:upper:]' '[:lower:]')
|
|
arch=$(uname -m | tr '[:upper:]' '[:lower:]')
|
|
|
|
pushd $(dirname $0)
|
|
source ./common.sh
|
|
popd
|
|
|
|
exitcode=0
|
|
make_args=
|
|
while [ $# -gt 0 ] ; do
|
|
arg=$1; shift
|
|
if [[ $arg =~ --(s3.*)=(.*) ]] ; then
|
|
eval ${BASH_REMATCH[1]}=${BASH_REMATCH[2]}
|
|
elif [[ $arg =~ --(.*)=(.*) ]] ; then
|
|
eval ${BASH_REMATCH[1]}=${BASH_REMATCH[2]}
|
|
make_args="$make_args $arg"
|
|
else
|
|
usage; exit 1
|
|
fi
|
|
done
|
|
|
|
if [ -z $mysqlbuild ] ; then exit 1; fi
|
|
|
|
# parse the mysqlbuild string
|
|
parse_mysqlbuild $mysqlbuild
|
|
if [ $? != 0 ] ; then exit 1; fi
|
|
|
|
# make the build dir
|
|
build_dir=build-tokudb-$tokudb_version
|
|
if [ -d builds ] ; then build_dir=builds/$build_dir; fi
|
|
if [ ! -d $build_dir ] ; then mkdir $build_dir; fi
|
|
pushd $build_dir
|
|
if [ $? != 0 ] ; then exit 1; fi
|
|
|
|
# make mysql
|
|
bash -x $HOME/github/ft-engine/scripts/make.mysql.bash $make_args
|
|
if [ $? != 0 ] ; then exitcode=1; fi
|
|
|
|
# generate md5 sums
|
|
for f in $(find $mysql_distro/build.* -maxdepth 1 \( -name '*.tar.gz' -o -name '*.rpm' \) ) ; do
|
|
newf=$(basename $f)
|
|
ln $f $newf
|
|
if [ $? != 0 ] ; then exitcode=1; fi
|
|
md5sum $newf >$newf.md5
|
|
if [ $? != 0 ] ; then exitcode=1; fi
|
|
done
|
|
|
|
# copy to s3
|
|
if [ $s3 != 0 ] ; then
|
|
copy_to_s3 $s3_build_bucket $s3_release_bucket $mysql_distro
|
|
if [ $? != 0 ] ; then exitcode=1; fi
|
|
fi
|
|
|
|
popd
|
|
|
|
exit $exitcode
|