More consistent colors, repeated code > functions

This commit is contained in:
hinto.janaiyo 2022-03-13 10:50:53 -04:00
parent 63eeb368e2
commit 65af179511

View file

@ -1,4 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
################################################################ HEADER CODE ################################################################
# #
# Colors # Colors
# #
@ -25,12 +28,42 @@ AutoBuild="$installDirectory/AutoBuild"
deps="$AutoBuild/deps" deps="$AutoBuild/deps"
libBuild="$AutoBuild/libBuild" libBuild="$AutoBuild/libBuild"
#
# Prompt/Message Functions
#
YES_no()
{
read yn
if [[ $yn = "" || $yn = "y" || $yn = "Y" ||$yn = "yes" || $yn = "Yes" ]]; then
Yes
else
No
fi
}
yes_NO()
{
read yn
if [[ $yn = "" || $yn = "n" || $yn = "N" ||$yn = "no" || $yn = "No" ]]; then
No
else
Yes
fi
}
Build_Message(){ $bgreen; echo "############ $1 ############" ;$off;}
#
# Build Dependency Install Functions
#
Apt_Build_Dependencies(){ sudo apt install git wget build-essential cmake automake libtool autoconf ;}
Pacman_Build_Dependencies(){ sudo pacman -S git wget base-devel cmake ;}
DNF_Build_Dependencies(){ sudo dnf install -y git wget make cmake gcc gcc-c++ libstdc++-static automake libtool autoconf ;}
# #
# Library Code Build Functions # Library Code Build Functions
# #
Build_Folders() Build_Folders()
{ {
$bgreen; echo "Creating Build Folders..." ;$off Build_Message "Creating Build Folders"
mkdir -p $AutoBuild mkdir -p $AutoBuild
mkdir -p $deps mkdir -p $deps
mkdir -p $deps/include mkdir -p $deps/include
@ -39,7 +72,7 @@ Build_Folders()
} }
Build_Libuv() Build_Libuv()
{ {
$bgreen; echo "Building Libuv..." ;$off Build_Message "Building Libuv"
local UV_VERSION="1.44.1" local UV_VERSION="1.44.1"
cd "$libBuild" cd "$libBuild"
if [[ $libVersion = "stable" ]]; then if [[ $libVersion = "stable" ]]; then
@ -58,7 +91,7 @@ Build_Libuv()
} }
Build_Hwloc() Build_Hwloc()
{ {
$bgreen; echo "Building Hwloc..." ;$off Build_Message "Building Hwloc"
local HWLOC_VERSION="2.7.0" local HWLOC_VERSION="2.7.0"
local HWLOC_V="v2.7" local HWLOC_V="v2.7"
cd "$AutoBuild" cd "$AutoBuild"
@ -79,7 +112,7 @@ Build_Hwloc()
} }
Build_OpenSSL() Build_OpenSSL()
{ {
$bgreen; echo "Building OpenSSL..." ;$off Build_Message "Building OpenSSL"
local OPENSSL_VERSION="1.1.1m" local OPENSSL_VERSION="1.1.1m"
cd "$AutoBuild" cd "$AutoBuild"
cd $libBuild cd $libBuild
@ -99,7 +132,7 @@ Build_OpenSSL()
} }
Build_LibreSSL() Build_LibreSSL()
{ {
$bgreen; echo "Building LibreSSL..." ;$off Build_Message "Building LibreSSL..."
local LIBRESSL_VERSION="3.4.2" local LIBRESSL_VERSION="3.4.2"
cd "$AutoBuild" cd "$AutoBuild"
cd $libBuild cd $libBuild
@ -120,7 +153,7 @@ Build_LibreSSL()
} }
Build_XMRig() Build_XMRig()
{ {
$bgreen; echo "Building XMRig..." ;$off Build_Message "Building XMRig..."
cd "$AutoBuild" cd "$AutoBuild"
cmake .. -DXMRIG_DEPS=$deps cmake .. -DXMRIG_DEPS=$deps
make -j$(nproc) make -j$(nproc)
@ -130,19 +163,23 @@ Build_Fail()
{ {
if [[ $? != 0 ]]; then if [[ $? != 0 ]]; then
$bred; echo "XMRig-Auto-Build failed building $1..." $bred; echo "XMRig-Auto-Build failed building $1..."
$bred; echo "Remove all XMRig-Auto-Build files? (Y/n) " $bred; echo -n "Remove all XMRig-Auto-Build files? (Y/n) " ;$off
read yn Yes()
if [[ $yn = "" || $yn = "y" || $yn = "Y" ||$yn = "yes" ||$yn = "Yes" ]]; then {
$bred; echo "Removing..." $iwhite; echo "Removing..."
sudo rm -r "$AutoBuild" &&$green&& echo "Removed!" sudo rm -r "$AutoBuild" &&$green&& echo "Removed!"
fi }
$bred; echo "Remove XMRig folder aswell? (Y/n) " No(){ $iwhite; echo "Skipping..." ;}
read yn YES_no
if [[ $yn = "" || $yn = "y" || $yn = "Y" ||$yn = "yes" ||$yn = "Yes" ]]; then $bred; echo -n "Remove XMRig folder aswell? (Y/n) " ;$off
$bred; echo "Removing..." Yes()
{
$iwhite; echo "Removing..."
sudo rm -r "$installDirectory" &&$green&& echo "Removed!" sudo rm -r "$installDirectory" &&$green&& echo "Removed!"
fi }
$ired; echo "Exiting XMRig-Auto-Build: $1 failed to build..." No(){ $iwhite; echo "Skipping..." ;}
YES_no
$ired; echo "Exiting XMRig-Auto-Build: $1 failed to build..."
exit exit
fi fi
} }
@ -157,20 +194,14 @@ $bgreen; echo "# XMRig-Auto-Build #"
$bgreen; echo "########################" $bgreen; echo "########################"
$bwhite; echo -n "Install into " $bwhite; echo -n "Install into "
$bblue; echo -n "${installDirectory}? " $bblue; echo -n "${installDirectory}? "
$bwhite; echo -n "(Y/n) " $bwhite; echo -n "(Y/n) " ;$off
$off Yes(){ $iwhite; echo "Starting..." ;}
read yn No(){ $ired; echo "Exiting..." ;exit; }
if [[ $yn = "" || $yn = "y" || $yn = "Y" ||$yn = "yes" ||$yn = "Yes" ]]; then YES_no
$iblue; echo "Starting..."
else
$ired; echo "Exiting..."
exit
fi
# #
# Checks if XMRig-Auto-Build is in /xmrig/ # Checks if XMRig-Auto-Build is in /xmrig/
# #
if [[ $installDirectory = *"/xmrig"* ]];then if [[ $installDirectory = *"/xmrig"* ]]; then
: :
else else
$bred; echo "/xmrig/ folder not found!" $bred; echo "/xmrig/ folder not found!"
@ -206,25 +237,25 @@ fi
# Installing Dependencies # Installing Dependencies
# #
$bblue; echo -n "Install build dependencies? (Y/n) " ;$off $bblue; echo -n "Install build dependencies? (Y/n) " ;$off
read yn Yes()
if [[ $yn = "" || $yn = "y" || $yn = "Y" ||$yn = "yes" ||$yn = "Yes" ]]; then {
case $foundPackageManager in case $foundPackageManager in
apt) apt)
sudo apt install git build-essential cmake automake libtool autoconf Apt_Build_Dependencies
;; ;;
pacman) pacman)
sudo pacman -S git base-devel cmake Pacman_Build_Dependencies
;; ;;
dnf) dnf)
sudo dnf install -y git make cmake gcc gcc-c++ libstdc++-static automake libtool autoconf DNF_Build_Dependencies
esac esac
if [[ $? != 0 ]]; then if [[ $? != 0 ]]; then
$bred; echo "Installing build dependencies failed, exiting..." $bred; echo "Installing build dependencies failed, exiting..."
exit exit
fi fi
else }
$iblue; echo "Skipping build dependencies..." No(){ $iwhite; echo "Skipping build dependencies..." ;}
fi YES_no
# #
# Pick Library Build Version # Pick Library Build Version
@ -241,7 +272,7 @@ Lib_Yesno()
} }
while true; do while true; do
$bblue; echo -n "Which library versions to build? " $bblue; echo -n "Which library versions to build? "
$igreen; echo -n "[ Stable / latest ] " ;$off $bgreen; echo -n "[ Stable / latest ] " ;$off
read answer read answer
case $answer in case $answer in
"") "")
@ -264,19 +295,18 @@ while true; do
;; ;;
esac esac
done done
$iblue; echo "[$libVersion] selected..." $iwhite; echo "[$libVersion] selected..."
# #
# Build Commands # Build Commands
# #
$bred; echo -n "Start XMRig-Auto-Build? (Y/n) " ;$off $bred; echo "#####################################"
read yn $bred; echo "# Start XMRig-Auto-Build? (Y/n) #"
if [[ $yn = "" || $yn = "y" || $yn = "Y" ||$yn = "yes" ||$yn = "Yes" ]]; then $bred; echo "#####################################"
$iblue; echo "Starting..." ;$off $off
else Yes(){ $iwhite; echo "Starting..." ;$off; }
$ired; echo "Exiting..." ;$off No(){ $ired; echo "Exiting..." ;$off;exit; }
exit YES_no
fi
Build_Folders Build_Folders
Build_Libuv Build_Libuv
@ -295,27 +325,27 @@ Build_Fail "XMRig"
echo echo
$bgreen; echo "XMRig-Auto-Build done!" $bgreen; echo "XMRig-Auto-Build done!"
$bwhite; echo -n "Delete source code? (leaves xmrig and config.json) (Y/n) " ;$off $bblue; echo -n "Delete source code? (leaves xmrig and config.json) (Y/n) " ;$off
# moves xmrig/config.json into /xmrig/tmp_autobuild/, deletes everything in /xmrig/, then moves them back and deletes /xmrig/tmp_autobuild/ # moves xmrig/config.json into /xmrig/tmp_autobuild/, deletes everything in /xmrig/, then moves them back and deletes /xmrig/tmp_autobuild/
# rm needs sudo because .git files are write-protected # rm needs sudo because .git files are write-protected
read yn Yes()
if [[ $yn = "" || $yn = "y" || $yn = "Y" ||$yn = "yes" ||$yn = "Yes" ]]; then {
$iblue; echo "Cleaning up..." ;$off $iwhite; echo "Cleaning up..." ;$off
tmp="$installDirectory/tmp_autobuild" tmp="$installDirectory/tmp_autobuild"
mkdir "$tmp" mkdir "$tmp"
mv "$AutoBuild/xmrig" "$tmp" mv "$AutoBuild/xmrig" "$tmp"
mv "$installDirectory/src/config.json" "$tmp" mv "$installDirectory/src/config.json" "$tmp"
cd $installDirectory cd $installDirectory
ls | grep -v "tmp_autobuild" | xargs sudo rm -r > /dev/null ls | grep -v "tmp_autobuild" | xargs sudo rm -r > /dev/null
sudo rm -r .git .github .gitignore > /dev/null sudo rm -r .git .github .gitignore > /dev/null
mv "$tmp/xmrig" $installDirectory mv "$tmp/xmrig" $installDirectory
mv "$tmp/config.json" $installDirectory mv "$tmp/config.json" $installDirectory
rm -r "$tmp" > /dev/null rm -r "$tmp" > /dev/null
else }
$iblue; echo "Skipping cleanup..." No(){ $iblue; echo "Skipping cleanup..." ;}
fi YES_no
# #
# End # End
@ -327,10 +357,11 @@ $bgreen; echo "##################################"
# shows different locations dependent on if source files are deleted or not # shows different locations dependent on if source files are deleted or not
if [[ $yn = "" || $yn = "y" || $yn = "Y" ||$yn = "yes" ||$yn = "Yes" ]]; then if [[ $yn = "" || $yn = "y" || $yn = "Y" ||$yn = "yes" ||$yn = "Yes" ]]; then
$bwhite; echo -n "XMRig Location: " $bblue; echo -n "XMRig Location: "
$bblue; echo $installDirectory $iwhite; echo $installDirectory
else else
$bwhite; echo "Location: " $bblue; echo "Location: "
$iwhite; echo -n "xmrig: " ;$bblue; echo "$AutoBuild/xmrig" $bwhite; echo -n "xmrig: " ;$iwhite; echo "$AutoBuild/xmrig"
$iwhite; echo -n "config.json: " ;$bblue; echo "$AutoBuild/config.json" $bwhite; echo -n "config.json: " ;$iwhite; echo "$AutoBuild/config.json"
fi fi
$off