#!/usr/bin/bash
usage() {
printf "Usage: sh dep_install.sh [options]\n
-e: install addtitional dependencies qemu for remote testing\n
-g shell_file: run shell file to set crocess compiliation, if have run srcipt must use source\n
-h: print this usage info\n
\n"
}
common_dep(){
yum install expect psmisc make iputils python3-six python3-paramiko -y
}
qemu_dep(){
echo "install qemu"
yum install bridge-utils -y
qemu-system-aarch64 --version && qemu-system-arm --version
if [ $? -eq 0 ]; then
return 0
fi
yum install qemu-system-aarch64 qemu-system-arm -y
if [ $? -ne 0 ]; then
echo "ERROR: qemu not install, you need install it youself."
return 1
fi
}
run_name=$0
in_qemu=0
run_shell=""
check_option(){
had_g=0
for opt in "$@"; do
if [[ $opt == "-h" ]]; then
usage
return 0
elif [[ $opt == "-e" ]]; then
in_qemu=1
elif [[ $opt == "-g" ]]; then
had_g=1
check_name=${run_name##*/}
if [[ $check_name == "dep_install.sh" ]]; then
echo "ERROR: run with crocess compiliation, must use 'source' to run script"
return 1
fi
elif [ $had_g -eq 1 ]; then
run_shell=$opt
else
usage
return 1
fi
done
if [[ had_g -eq 1 && run_shell == "" ]]; then
echo "ERROR: -g parameter need"
usage
return 1
fi
return 0
}
main(){
check_option $@
if [ $? -ne 0 ]; then
return 1
fi
common_dep
if [ $? -ne 0 ]; then
return 1
fi
if [ $in_qemu -eq 1 ]; then
qemu_dep
if [ $? -ne 0 ]; then
return 1
fi
fi
if [ $run_shell ]; then
source $run_shell
if [ $? -ne 0 ]; then
echo "ERROR: run crocess compiliation file $run_shell fail"
return 1
fi
fi
return 0
}
main $@