80 lines
1.9 KiB
Bash
Executable File
80 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Copyies stuff to VM, run build on VM and copies binaries
|
|
# to $pre_repo_dir/$target/$box
|
|
|
|
set -x
|
|
|
|
|
|
rm -rf $pre_repo_dir/$target/$box
|
|
mkdir -p $pre_repo_dir/$target/SRC
|
|
mkdir -p $pre_repo_dir/$target/$box
|
|
|
|
export work_dir="MaxScale"
|
|
export orig_image=$box
|
|
|
|
ssh $sshopt "sudo rm -rf $work_dir"
|
|
echo "copying stuff to $image machine"
|
|
ssh $sshopt "mkdir -p $work_dir"
|
|
|
|
rsync -avz --delete -e "ssh $scpopt" ${script_dir}/../../ $sshuser@$IP:./$work_dir/
|
|
if [ $? -ne 0 ] ; then
|
|
echo "Error copying stuff to $box machine"
|
|
exit 2
|
|
fi
|
|
|
|
export install_script="install_build_deps.sh"
|
|
|
|
if [ "$box_type" == "RPM" ] ; then
|
|
build_script="build_rpm_local.sh"
|
|
files="*.rpm"
|
|
tars="$product_name*.tar.gz"
|
|
else
|
|
build_script="build_deb_local.sh"
|
|
files="../*.deb"
|
|
tars="$product_name*.tar.gz"
|
|
fi
|
|
|
|
export remote_build_cmd="export already_running=\"$already_running\"; \
|
|
export build_experimental=\"$build_experimental\"; \
|
|
export cmake_flags=\"$cmake_flags\"; \
|
|
export work_dir=\"$work_dir\"; \
|
|
export platform=\"$platform\"; \
|
|
export platform_version=\"$platform_version\"; \
|
|
export source=\"$source\"; \
|
|
export BUILD_TAG=\"$BUILD_TAG\"; \
|
|
"
|
|
|
|
if [ "$already_running" != "ok" ]
|
|
then
|
|
echo "install packages on $image"
|
|
ssh $sshopt "$remote_build_cmd ./MaxScale/BUILD/$install_script"
|
|
installres=$?
|
|
if [ $installres -ne 0 ]
|
|
then
|
|
exit $installres
|
|
fi
|
|
|
|
$HOME/mdbci/mdbci snapshot take --path-to-nodes $box --snapshot-name clean
|
|
|
|
else
|
|
echo "already running VM, not installing deps"
|
|
fi
|
|
|
|
echo "run build on $box"
|
|
ssh $sshopt "$remote_build_cmd ./MaxScale/BUILD/$build_script"
|
|
if [ $? -ne 0 ] ; then
|
|
echo "Error build on $box"
|
|
exit 4
|
|
fi
|
|
|
|
echo "copying binaries to the '$pre_repo_dir/$target/$box'"
|
|
scp $scpopt $sshuser@$IP:$work_dir/$files $pre_repo_dir/$target/$box/
|
|
scp $scpopt $sshuser@$IP:$work_dir/$tars $pre_repo_dir/$target/$box/
|
|
|
|
|
|
echo "package building for '$target' for '$platform' '$platform_version' done!"
|
|
|
|
|
|
|