install_mysql.sh: if cmake fails downloading boost-archive, try to download the boost-archive directly. In case of success, continue installation.

This commit is contained in:
Christoph 2020-03-02 00:26:54 +01:00
parent 672b8df4da
commit 1f22cb99d9

View File

@ -2094,61 +2094,67 @@ else
fi fi
#echo "" # Prevent cmake from downloading 'boost' archive, if it is already
#echo "shell> mkdir \"$MYSQL_INSTALL_DIR\"" # present.
#echo "shell> \"cp $MYSQL_SRC_BASE_DIR/boost_1_59_0.tar.gz\" \"$MYSQL_INSTALL_DIR\"" #
#echo "" # if cmake finds the apropriate 'boost' archive in the installation directory
#sleep 120 # cmake wil take this one.
#
if [[ "${MYSQL_DISTRIBUTION,,}" = "mysql" ]] ; then
BOOST_ARCHIV="$(grep "SET(BOOST_PACKAGE_NAME" ${MYSQL_SRC_DIR}/cmake/boost.cmake \ BOOST_ARCHIV="$(grep "SET(BOOST_PACKAGE_NAME" ${MYSQL_SRC_DIR}/cmake/boost.cmake \
| grep -o -w -E "boost_[0-9]{1,2}_[0-9]{1,2}_[0-9]{1,2}").tar.gz" | grep -o -w -E "boost_[0-9]{1,2}_[0-9]{1,2}_[0-9]{1,2}").tar.gz"
if [[ -f "${MYSQL_SRC_BASE_DIR}/$BOOST_ARCHIV" ]] ; then BOOST_VERSION="$(echo $BOOST_ARCHIV | grep -o -E "[0-9]{1,2}_[0-9]{1,2}_[0-9]{1,2}" | tr "_" "\." )"
echononl "Erstelle Installations Verzeichnis '$(basename $MYSQL_INSTALL_DIR)'.." if [[ -f "${MYSQL_SRC_BASE_DIR}/$BOOST_ARCHIV" ]] ; then
echo "" >> ${logdir}/main.log
echo "## - Erstelle Installations Verzeichnis '$(basename $MYSQL_INSTALL_DIR)'" >> ${logdir}/main.log
echo "## -" >> ${logdir}/main.log
echo "mkdir $MYSQL_INSTALL_DIR" >> ${logdir}/main.log
mkdir "$MYSQL_INSTALL_DIR" >> ${logdir}/main.log 2>&1
if [[ $? -ne 0 ]] ; then
echo_failed
error Erstellen des Installations Verzeichnisses $MYSQL_INSTALL_DIR ist fehlgeschlagen.. echononl "Erstelle Installations Verzeichnis '$(basename $MYSQL_INSTALL_DIR)'.."
echo "" >> ${logdir}/main.log
echo "## - Erstelle Installations Verzeichnis '$(basename $MYSQL_INSTALL_DIR)'" >> ${logdir}/main.log
echo "## -" >> ${logdir}/main.log
echo "mkdir $MYSQL_INSTALL_DIR" >> ${logdir}/main.log
mkdir "$MYSQL_INSTALL_DIR" >> ${logdir}/main.log 2>&1
if [[ $? -ne 0 ]] ; then
echo_failed
echononl "continue anyway [yes/no]: " error Erstellen des Installations Verzeichnisses $MYSQL_INSTALL_DIR ist fehlgeschlagen..
read OK
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')" echononl "continue anyway [yes/no]: "
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
echononl "Wrong entry! - repeat [yes/no]: "
read OK read OK
done OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
[[ $OK = "yes" ]] || fatal "Abbruch durch User" while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
else echononl "Wrong entry! - repeat [yes/no]: "
echo_ok read OK
fi done
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
else
echo_ok
fi
echononl "Kopiere '$BOOST_ARCHIV' nach '$(basename $MYSQL_INSTALL_DIR)'.." echononl "Kopiere '$BOOST_ARCHIV' nach '$(basename $MYSQL_INSTALL_DIR)'.."
echo "" >> ${logdir}/main.log echo "" >> ${logdir}/main.log
echo "## - Kopiere '$BOOST_ARCHIV' nach '$(basename $MYSQL_INSTALL_DIR)'.." >> ${logdir}/main.log echo "## - Kopiere '$BOOST_ARCHIV' nach '$(basename $MYSQL_INSTALL_DIR)'.." >> ${logdir}/main.log
echo "## -" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log
echo "cp \"${MYSQL_SRC_BASE_DIR}/$BOOST_ARCHIV\" \"$MYSQL_INSTALL_DIR)\"" >> ${logdir}/main.log echo "cp \"${MYSQL_SRC_BASE_DIR}/$BOOST_ARCHIV\" \"$MYSQL_INSTALL_DIR)\"" >> ${logdir}/main.log
cp "${MYSQL_SRC_BASE_DIR}/$BOOST_ARCHIV" "$MYSQL_INSTALL_DIR" >> ${logdir}/main.log 2>&1 cp "${MYSQL_SRC_BASE_DIR}/$BOOST_ARCHIV" "$MYSQL_INSTALL_DIR" >> ${logdir}/main.log 2>&1
if [[ $? -ne 0 ]] ; then if [[ $? -ne 0 ]] ; then
echo_failed echo_failed
error "Kann '$BOOST_ARCHIV' nicht in das Installations Verzeichniss '$MYSQL_INSTALL_DIR' kopieren.." error "Kann '$BOOST_ARCHIV' nicht in das Installations Verzeichniss '$MYSQL_INSTALL_DIR' kopieren.."
echononl "continue anyway [yes/no]: " echononl "continue anyway [yes/no]: "
read OK
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
echononl "Wrong entry! - repeat [yes/no]: "
read OK read OK
done OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
[[ $OK = "yes" ]] || fatal "Abbruch durch User" while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
else echononl "Wrong entry! - repeat [yes/no]: "
echo_ok read OK
done
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
else
echo_ok
fi
fi fi
fi fi
@ -2261,7 +2267,101 @@ if [ "$?" = "0" ]; then
echo_ok echo_ok
else else
echo_failed echo_failed
fatal Konfiguration fehlgeschlagen. Siehe ${logdir}/cmake-conf.log ..
if [[ "${MYSQL_DISTRIBUTION,,}" = "mysql" ]] \
&& $(grep "\-\- Download failed" ${logdir}/cmake-conf.log > /dev/null 2>&1) ; then
error "It seems downloading $BOOST_ARCHIV failed."
echononl "Try to download '$BOOST_ARCHIV' directly.."
echo "" >> ${logdir}/main.log
echo "# - Try to download '$BOOST_ARCHIV' directly.." >> ${logdir}/main.log
echo "# -" >> ${logdir}/main.log
echo "wget -O \"${MYSQL_SRC_BASE_DIR}/$BOOST_ARCHIV\" \\" >> ${logdir}/main.log
echo " https://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/${BOOST_ARCHIV}" >> ${logdir}/main.log
wget -O "${MYSQL_SRC_BASE_DIR}/$BOOST_ARCHIV" \
https://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/${BOOST_ARCHIV} >> ${logdir}/main.log 2>&1
if [[ $? -eq 0 ]]; then
echo_ok
echononl "Erstelle Installations Verzeichnis '$(basename $MYSQL_INSTALL_DIR)'.."
if [[ -d "$MYSQL_INSTALL_DIR" ]]; then
echo_skipped
else
echo "" >> ${logdir}/main.log
echo "## - Erstelle Installations Verzeichnis '$(basename $MYSQL_INSTALL_DIR)'" >> ${logdir}/main.log
echo "## -" >> ${logdir}/main.log
echo "mkdir $MYSQL_INSTALL_DIR" >> ${logdir}/main.log
mkdir "$MYSQL_INSTALL_DIR" >> ${logdir}/main.log 2>&1
if [[ $? -ne 0 ]] ; then
echo_failed
error Erstellen des Installations Verzeichnisses $MYSQL_INSTALL_DIR ist fehlgeschlagen..
echononl "continue anyway [yes/no]: "
read OK
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
echononl "Wrong entry! - repeat [yes/no]: "
read OK
done
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
else
echo_ok
fi
fi
echononl "Kopiere '$BOOST_ARCHIV' nach '$(basename $MYSQL_INSTALL_DIR)'.."
echo "" >> ${logdir}/main.log
echo "## - Kopiere '$BOOST_ARCHIV' nach '$(basename $MYSQL_INSTALL_DIR)'.." >> ${logdir}/main.log
echo "## -" >> ${logdir}/main.log
echo "cp \"${MYSQL_SRC_BASE_DIR}/$BOOST_ARCHIV\" \"$MYSQL_INSTALL_DIR)\"" >> ${logdir}/main.log
cp "${MYSQL_SRC_BASE_DIR}/$BOOST_ARCHIV" "$MYSQL_INSTALL_DIR" >> ${logdir}/main.log 2>&1
if [[ $? -ne 0 ]] ; then
echo_failed
error "Kann '$BOOST_ARCHIV' nicht in das Installations Verzeichniss '$MYSQL_INSTALL_DIR' kopieren.."
echononl "continue anyway [yes/no]: "
read OK
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
echononl "Wrong entry! - repeat [yes/no]: "
read OK
done
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
else
echo_ok
fi
echononl "Nochmal: konfiguriere MySQL (cmake).."
echo_wait
echo "" >> ${logdir}/main.log
echo "# - Nochml: konfiguriere MySQL (cmake).." >> ${logdir}/main.log
echo "# -" >> ${logdir}/main.log
echo "# - See ${logdir}/cmake-conf.log" >> ${logdir}/main.log
echo "# -" >> ${logdir}/main.log
echo "cmake \$cmake_options " >> ${logdir}/main.log
cmake $cmake_options > ${logdir}/cmake-conf.log 2>&1
if [ "$?" = "0" ]; then
echo_ok
echo ""
else
echo_failed
rm -rf "${MYSQL_SRC_BASE_DIR}/$BOOST_ARCHIV"
fatal Konfiguration erneut fehlgeschlagen. Siehe ${logdir}/cmake-conf.log ..
fi
else
echo_failed
fatal "Downloading '$BOOST_ARCHIV' directly failed"
fi
else
fatal Konfiguration fehlgeschlagen. Siehe ${logdir}/cmake-conf.log ..
fi
fi fi
echononl "Kompiliere MySQL.." echononl "Kompiliere MySQL.."