More consistent colors, repeated code > functions
This commit is contained in:
parent
63eeb368e2
commit
65af179511
1 changed files with 100 additions and 69 deletions
169
XMRig-Auto-Build
169
XMRig-Auto-Build
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue