diff --git a/buildme b/buildme index 23bdcd8f9..3a66307ce 100755 --- a/buildme +++ b/buildme @@ -9,7 +9,6 @@ # sudo apt-get install build-essential uuid-dev iasl git gcc-10 nasm python3-distutils # $1 argument override MYTOOLCHAIN variable, in case you want GCC53 for example - # ====== COLORS ====== COL_BLACK="\x1b[30;01m" COL_RED="\x1b[31;01m" @@ -25,6 +24,16 @@ cd "$(dirname $([ -L $0 ] && readlink $0 || echo $0))" declare -r CLOVERROOT="$PWD" declare -r SYSNAME="$(uname)" MYTOOLCHAIN=${1:-GCC53} +revision=$(git describe --tags $(git rev-list --tags --max-count=1)) +lsha1="not a git repo" +export DIR_OUT=${DIR_OUT:-"$CLOVERROOT"/toolchain/tools/output} +export DIR_SCT=${DIR_SCT:-${CLOVERROOT}/toolchain/tools/Scripts} +if [[ ! -d ${DIR_SCT} ]] || [[ ! -d ${DIR_OUT} ]]; then + mkdir -p ${DIR_SCT} ${DIR_OUT} +fi +if [[ -d .git ]]; then + lsha1=$(git rev-parse --short HEAD) +fi # Functions pathmunge() { @@ -105,11 +114,6 @@ else fi } -export DIR_OUT=${DIR_OUT:-"$CLOVERROOT"/toolchain/tools/output} -if [[ ! -d "${DIR_OUT}" ]]; then -mkdir -p "${DIR_OUT}" -fi - updateClover() { echo "[UPDATE CLOVER]" cd "${CLOVERROOT}" @@ -148,30 +152,35 @@ fi } makeRelease() { -checkTools - -# to force recreation of the Conf folder. You can still use a custom CONF_PATH if you don't want recreation. -rm -rf "$CLOVERROOT"/Conf -mkdir "$CLOVERROOT"/Conf - -cd "${CLOVERROOT}" -if [[ -z "$WORKSPACE" ]]; then - export EDK_TOOLS_PATH="${PWD}"/BaseTools - set +u - source ./edksetup.sh BaseTools - set -u - cd "$CLOVERROOT" - WORKSPACE="${PWD}" -fi - -echo "[BUILD CLOVER RELEASE]" -./ebuild.sh -fr -mc --no-usb -D NO_GRUB_DRIVERS_EMBEDDED -t $MYTOOLCHAIN -./ebuild.sh -fr -D NO_GRUB_DRIVERS_EMBEDDED -D LESS_DEBUG -t $MYTOOLCHAIN + checkTools + + # to force recreation of the Conf folder. You can still use a custom CONF_PATH if you don't want recreation. + rm -rf "$CLOVERROOT"/Conf + mkdir "$CLOVERROOT"/Conf + + cd "${CLOVERROOT}" + if [[ -z "$WORKSPACE" ]]; then + export EDK_TOOLS_PATH="${PWD}"/BaseTools + set +u + source ./edksetup.sh BaseTools + set -u + cd "$CLOVERROOT" + WORKSPACE="${PWD}" + fi + + echo "[BUILD CLOVER RELEASE]" + ./ebuild.sh -fr -mc --no-usb -D NO_GRUB_DRIVERS_EMBEDDED -t $MYTOOLCHAIN + ./ebuild.sh -fr -D NO_GRUB_DRIVERS_EMBEDDED -D LESS_DEBUG -t $MYTOOLCHAIN + # Run a post build script if exist (${DIR_TOOLS}/CloverScripts/postbuild.sh) + if [[ -x "${DIR_TOOLS}"/CloverScripts/postbuild.sh ]]; then + echo "Running Clover postbuild script" + "${DIR_TOOLS}"/CloverScripts/postbuild.sh "${CLOVERROOT}" $MYTOOLCHAIN + fi } buildCCPV() { -cd "${CLOVERROOT}"/Xcode/CloverConfigPlistValidator -make + cd "${CLOVERROOT}"/Xcode/CloverConfigPlistValidator + make } BLC() { @@ -183,68 +192,67 @@ chmod 775 "${CLOVERROOT}"/CloverPackage/BootLoaderChooser/BootX64.efi } buildClover() { -checkTools - -# to force recreation of the Conf folder. You can still use a custom CONF_PATH if you don't want recreation. -rm -rf "$CLOVERROOT"/Conf -mkdir "$CLOVERROOT"/Conf - -cd "${CLOVERROOT}" -if [[ -z "$WORKSPACE" ]]; then - export EDK_TOOLS_PATH="${PWD}"/BaseTools - set +u - source ./edksetup.sh BaseTools - set -u - cd "$CLOVERROOT" - WORKSPACE="${PWD}" -fi - -echo "[BUILD CLOVER]" -# Run a custom build script if exist (~/src/tools/Scripts/build.sh) -# This allow the user to run ebuild.sh with own parameters -if [[ -x "${DIR_TOOLS}"/Scripts/build.sh ]]; then - echo "Running custom build script" - "${DIR_TOOLS}"/Scripts/build.sh "${CLOVERROOT}" $MYTOOLCHAIN -else - local parameter=${1:-none} - if [[ "${parameter}" == HFSPlus ]]; then - #./ebuild.sh -fr -mc --no-usb -D NO_GRUB_DRIVERS_EMBEDDED -D USE_APPLE_HFSPLUS_DRIVER -t $MYTOOLCHAIN - ./ebuild.sh -fr -D NO_GRUB_DRIVERS_EMBEDDED -D USE_APPLE_HFSPLUS_DRIVER -t $MYTOOLCHAIN - else - #./ebuild.sh -fr -mc --no-usb -D NO_GRUB_DRIVERS_EMBEDDED -t $MYTOOLCHAIN - ./ebuild.sh -fr -D NO_GRUB_DRIVERS_EMBEDDED -D LESS_DEBUG -t $MYTOOLCHAIN - fi -fi - -# Run a post build script if exist (~/src/tools/Scripts/postbuild.sh) -if [[ -x "${DIR_TOOLS}"/Scripts/postbuild.sh ]]; then - echo "Running postbuild script" - "${DIR_TOOLS}"/Scripts/postbuild.sh "${CLOVERROOT}" $MYTOOLCHAIN -fi + checkTools + + # to force recreation of the Conf folder. You can still use a custom CONF_PATH if you don't want recreation. + rm -rf "$CLOVERROOT"/Conf + mkdir "$CLOVERROOT"/Conf + + cd "${CLOVERROOT}" + if [[ -z "$WORKSPACE" ]]; then + export EDK_TOOLS_PATH="${PWD}"/BaseTools + set +u + source ./edksetup.sh BaseTools + set -u + cd "$CLOVERROOT" + WORKSPACE="${PWD}" + fi + + echo "[BUILD CLOVER]" + # Run a custom build script if exist (${DIR_TOOLS}/Scripts/build.sh) + # This allow the user to run ebuild.sh with own parameters + if [[ -x "${DIR_TOOLS}"/Scripts/build.sh ]]; then + echo "Running custom build script" + "${DIR_TOOLS}"/Scripts/build.sh "${CLOVERROOT}" $MYTOOLCHAIN + else + local parameter=${1:-none} + if [[ "${parameter}" == HFSPlus ]]; then + #./ebuild.sh -fr -mc --no-usb -D NO_GRUB_DRIVERS_EMBEDDED -D USE_APPLE_HFSPLUS_DRIVER -t $MYTOOLCHAIN + ./ebuild.sh -fr -D NO_GRUB_DRIVERS_EMBEDDED -D USE_APPLE_HFSPLUS_DRIVER -t $MYTOOLCHAIN + else + #./ebuild.sh -fr -mc --no-usb -D NO_GRUB_DRIVERS_EMBEDDED -t $MYTOOLCHAIN + ./ebuild.sh -fr -D NO_GRUB_DRIVERS_EMBEDDED -D LESS_DEBUG -t $MYTOOLCHAIN + fi + fi + # Run a post build script if exist (${DIR_TOOLS}/Scripts/postbuild.sh) + if [[ -x "${DIR_TOOLS}"/Scripts/postbuild.sh ]]; then + echo "Running postbuild script" + "${DIR_TOOLS}"/Scripts/postbuild.sh "${CLOVERROOT}" $MYTOOLCHAIN + fi } buildtestsix() { -checkTools - -# to force recreation of the Conf folder. You can still use a custom CONF_PATH if you don't want recreation. -rm -rf "$CLOVERROOT"/Conf -mkdir "$CLOVERROOT"/Conf - -cd "${CLOVERROOT}" -echo "[BUILD CLOVERDB]" -./hebuild.sh + checkTools + + # to force recreation of the Conf folder. You can still use a custom CONF_PATH if you don't want recreation. + rm -rf "$CLOVERROOT"/Conf + mkdir "$CLOVERROOT"/Conf + + cd "${CLOVERROOT}" + echo "[BUILD CLOVERDB]" + ./hebuild.sh } buildtestsev() { -checkTools - -# to force recreation of the Conf folder. You can still use a custom CONF_PATH if you don't want recreation. -rm -rf "$CLOVERROOT"/Conf -mkdir "$CLOVERROOT"/Conf - -cd "${CLOVERROOT}" -echo "[BUILD CLOVERDB]" -./ebuild.sh -t GCC53 -mc + checkTools + + # to force recreation of the Conf folder. You can still use a custom CONF_PATH if you don't want recreation. + rm -rf "$CLOVERROOT"/Conf + mkdir "$CLOVERROOT"/Conf + + cd "${CLOVERROOT}" + echo "[BUILD CLOVERDB]" + ./ebuild.sh -t GCC53 -mc } @@ -301,39 +309,35 @@ fi } buildIso() { -cd "${CLOVERROOT}"/CloverPackage -echo "[BUILD ISO]" -make iso + cd "${CLOVERROOT}"/CloverPackage + echo "[BUILD ISO]" + make iso } makeV2() { -cd "${CLOVERROOT}"/CloverPackage -echo "[BUILD CloverV2]" -make zip + cd "${CLOVERROOT}"/CloverPackage + echo "[BUILD CloverV2]" + make zip } checkStatus() { -revision=r$(git describe --tags $(git rev-list --tags --max-count=1)) -cd "${CLOVERROOT}" -if [[ -d .git ]]; then - git fetch --recurse-submodules origin - git log -n 1 > "${DIR_OUT}"/status_${revision}-$(date +%Y%m%d-%H.%M.%S).txt - git status >> "${DIR_OUT}"/status_${revision}-$(date +%Y%m%d-%H.%M.%S).txt - git submodule foreach --recursive "git log -n 1 && git status" >> "${DIR_OUT}"/status_${revision}-$(date +%Y%m%d-%H.%M.%S).txt && open "${DIR_OUT}"/status_${revision}-*.txt -else - echo "Error: this is not a git repository, can't get info!" -fi + if [[ -d .git ]]; then + git fetch --recurse-submodules origin + git log -n 1 > "${DIR_OUT}"/status_${revision}-$(date +%Y%m%d-%H.%M.%S).txt + git status >> "${DIR_OUT}"/status_${revision}-$(date +%Y%m%d-%H.%M.%S).txt + git submodule foreach --recursive "git log -n 1 && git status" >> "${DIR_OUT}"/status_${revision}-$(date +%Y%m%d-%H.%M.%S).txt && open "${DIR_OUT}"/status_${revision}-*.txt + else + echo "Error: this is not a git repository, can't get info!" + fi } showdiff() { -revision=r$(git describe --tags $(git rev-list --tags --max-count=1)) -cd "${CLOVERROOT}" -if [[ -d .git ]]; then - git fetch --recurse-submodules origin - git diff > "${DIR_OUT}"/diff_${revision}-$(date +%Y%m%d-%H.%M.%S).txt && open "${DIR_OUT}"/diff_${revision}-*.txt -else - echo "Error: this is not a git repository, can't get info!" -fi + if [[ -d .git ]]; then + git fetch --recurse-submodules origin + git diff > "${DIR_OUT}"/diff_${revision}-$(date +%Y%m%d-%H.%M.%S).txt && open "${DIR_OUT}"/diff_${revision}-*.txt + else + echo "Error: this is not a git repository, can't get info!" + fi } cleanBaseTools() { @@ -343,140 +347,135 @@ make clean ## Utilities buildCPV() { -revision=r$(git describe --tags $(git rev-list --tags --max-count=1)) -if [[ -d "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator ]]; then - rm -Rf "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator -fi -mkdir -p "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator -cd "${CLOVERROOT}"/Xcode/CloverConfigPlistValidator -checkXCODE -xcodebuild -project ./CloverConfigPlistValidator.xcodeproj -quiet CONFIGURATION_BUILD_DIR="${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator -mv -f "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator/CloverConfigPlistValidator "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator/CloverConfigPlistValidator_${revision} -rm -r "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator/*.dSYM -open "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator + revision=r$(git describe --tags $(git rev-list --tags --max-count=1)) + if [[ -d "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator ]]; then + rm -Rf "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator + fi + mkdir -p "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator + cd "${CLOVERROOT}"/Xcode/CloverConfigPlistValidator + checkXCODE + xcodebuild -project ./CloverConfigPlistValidator.xcodeproj -quiet CONFIGURATION_BUILD_DIR="${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator + mv -f "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator/CloverConfigPlistValidator "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator/CloverConfigPlistValidator_${revision} + rm -r "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator/*.dSYM + open "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator } PlistEDPlus() { -if [[ ! -d $HOME/Desktop/ClovUtils ]]; then - mkdir -p $HOME/Desktop/ClovUtils -fi -cd $HOME/Desktop/ClovUtils && curl -qsSLk https://github.com/ic005k/PlistEDPlus/releases/download/1.0.64/PlistEDPlus_Mac.dmg > PlistEDPlus_Mac.dmg -hdiutil attach -quiet -noverify -nobrowse PlistEDPlus_Mac.dmg && cp -Rf /Volumes/bin\:release\:PlistEDPlus/PlistEDPlus.app $HOME/Desktop/ClovUtils -hdiutil detach -force /Volumes/bin\:release\:PlistEDPlus -rm -r $HOME/Desktop/ClovUtils/PlistEDPlus_Mac.dmg && open $HOME/Desktop/ClovUtils + if [[ ! -d $HOME/Desktop/ClovUtils ]]; then + mkdir -p $HOME/Desktop/ClovUtils + fi + cd $HOME/Desktop/ClovUtils && curl -qsSLk https://github.com/ic005k/PlistEDPlus/releases/download/1.2.35/PlistEDPlus_Mac.dmg > PlistEDPlus_Mac.dmg + hdiutil attach -quiet -noverify -nobrowse PlistEDPlus_Mac.dmg && cp -Rf /Volumes/bin\:release\:PlistEDPlus/PlistEDPlus.app $HOME/Desktop/ClovUtils + hdiutil detach -force /Volumes/bin\:release\:PlistEDPlus + rm -r $HOME/Desktop/ClovUtils/PlistEDPlus_Mac.dmg && open $HOME/Desktop/ClovUtils } Hackintool() { -if [[ ! -d $HOME/Desktop/ClovUtils ]]; then - mkdir -p $HOME/Desktop/ClovUtils -fi -cd $HOME/Desktop/ClovUtils && curl -sLq https://github.com/headkaze/Hackintool/releases/download/3.6.2/Hackintool.zip -o Hackintool.zip -unzip -q Hackintool.zip && rm -r Hackintool.zip && open $HOME/Desktop/ClovUtils + if [[ ! -d $HOME/Desktop/ClovUtils ]]; then + mkdir -p $HOME/Desktop/ClovUtils + fi + cd $HOME/Desktop/ClovUtils && curl -sLq https://github.com/headkaze/Hackintool/releases/download/3.8.4/Hackintool.zip -o Hackintool.zip + unzip -q Hackintool.zip && rm -r Hackintool.zip && open $HOME/Desktop/ClovUtils } BitmaskDecode() { -if [[ ! -d $HOME/Desktop/ClovUtils ]]; then - mkdir -p $HOME/Desktop/ClovUtils -fi -cd $HOME/Desktop/ClovUtils && git clone -q https://github.com/corpnewt/BitmaskDecode && open $HOME/Desktop/ClovUtils + if [[ ! -d $HOME/Desktop/ClovUtils ]]; then + mkdir -p $HOME/Desktop/ClovUtils + fi + cd $HOME/Desktop/ClovUtils && git clone -q https://github.com/corpnewt/BitmaskDecode && open $HOME/Desktop/ClovUtils } MaciASL() { -if [[ ! -d $HOME/Desktop/ClovUtils ]]; then - mkdir -p $HOME/Desktop/ClovUtils -fi -cd $HOME/Desktop/ClovUtils && curl -sLq https://github.com/acidanthera/MaciASL/releases/download/1.6.2/MaciASL-1.6.2-RELEASE.dmg > MaciASL-1.6.2-RELEASE.dmg -hdiutil attach -quiet -noverify -nobrowse MaciASL-1.6.2-RELEASE.dmg && cp -Rf /Volumes/MaciASL/MaciASL.app $HOME/Desktop/ClovUtils -hdiutil detach -force /Volumes/MaciASL -rm -r $HOME/Desktop/ClovUtils/MaciASL-1.6.2-RELEASE.dmg && open $HOME/Desktop/ClovUtils + if [[ ! -d $HOME/Desktop/ClovUtils ]]; then + mkdir -p $HOME/Desktop/ClovUtils + fi + cd $HOME/Desktop/ClovUtils && curl -sLq https://github.com/acidanthera/MaciASL/releases/download/1.6.2/MaciASL-1.6.2-RELEASE.dmg > MaciASL-1.6.2-RELEASE.dmg + hdiutil attach -quiet -noverify -nobrowse MaciASL-1.6.2-RELEASE.dmg && cp -Rf /Volumes/MaciASL/MaciASL.app $HOME/Desktop/ClovUtils + hdiutil detach -force /Volumes/MaciASL + rm -r $HOME/Desktop/ClovUtils/MaciASL-1.6.2-RELEASE.dmg && open $HOME/Desktop/ClovUtils } dmidecode() { -if [[ ! -d $HOME/Desktop/ClovUtils ]]; then - mkdir -p $HOME/Desktop/ClovUtils/dmidecode -fi -cd $HOME/Desktop/ClovUtils && git clone -q https://github.com/acidanthera/dmidecode dmi-decode && xcodebuild -project ./dmi-decode/dmidecode.xcodeproj -quiet -cp -r dmi-decode/dmidecode $HOME/Desktop/ClovUtils/dmidecode && rm -Rf $HOME/Desktop/ClovUtils/dmi-decode && open $HOME/Desktop/ClovUtils + if [[ ! -d $HOME/Desktop/ClovUtils ]]; then + mkdir -p $HOME/Desktop/ClovUtils/dmidecode + fi + cd $HOME/Desktop/ClovUtils && git clone -q https://github.com/acidanthera/dmidecode dmi-decode && xcodebuild -project ./dmi-decode/dmidecode.xcodeproj -quiet + cp -r dmi-decode/dmidecode $HOME/Desktop/ClovUtils/dmidecode && rm -Rf $HOME/Desktop/ClovUtils/dmi-decode && open $HOME/Desktop/ClovUtils } Get-IOReg-Devices() { -if [[ ! -d $HOME/Desktop/ClovUtils ]]; then - mkdir -p $HOME/Desktop/ClovUtils -fi -cd $HOME/Desktop/ClovUtils && git clone -q https://github.com/LAbyOne/Get-IOReg-Devices -mv -f Get-IOReg-Devices/Get\ IOReg\ Devices $HOME/Desktop/ClovUtils/Get\ IOReg-Devices && chmod a+x $HOME/Desktop/ClovUtils/Get\ IOReg-Devices/*.command -rm -rf Get-IOReg-Devices && open $HOME/Desktop/ClovUtils + if [[ ! -d $HOME/Desktop/ClovUtils ]]; then + mkdir -p $HOME/Desktop/ClovUtils + fi + cd $HOME/Desktop/ClovUtils && git clone -q https://github.com/LAbyOne/Get-IOReg-Devices + mv -f Get-IOReg-Devices/Get\ IOReg\ Devices $HOME/Desktop/ClovUtils/Get\ IOReg-Devices && chmod a+x $HOME/Desktop/ClovUtils/Get\ IOReg-Devices/*.command + rm -rf Get-IOReg-Devices && open $HOME/Desktop/ClovUtils } NDBrightness () { -if [[ ! -d $HOME/Desktop/ClovUtils ]]; then - mkdir -p $HOME/Desktop/ClovUtils -fi -cd $HOME/Desktop/ClovUtils && git clone -q https://github.com/KAMIKAZEUA/NativeDisplayBrightness NDBrightness -xcodebuild -project ./NDBrightness/NativeDisplayBrightness.xcodeproj -quiet -configuration Release clean build ARCHS=x86_64 ONLY_ACTIVE_ARCH=YES CONFIGURATION_BUILD_DIR=$HOME/Desktop/ClovUtils -rm -Rf $HOME/Desktop/ClovUtils/NDBrightness && rm -r $HOME/Desktop/ClovUtils/*.dSYM && open $HOME/Desktop/ClovUtils + if [[ ! -d $HOME/Desktop/ClovUtils ]]; then + mkdir -p $HOME/Desktop/ClovUtils + fi + cd $HOME/Desktop/ClovUtils && git clone -q https://github.com/KAMIKAZEUA/NativeDisplayBrightness NDBrightness + xcodebuild -project ./NDBrightness/NativeDisplayBrightness.xcodeproj -quiet -configuration Release clean build ARCHS=x86_64 ONLY_ACTIVE_ARCH=YES CONFIGURATION_BUILD_DIR=$HOME/Desktop/ClovUtils + rm -Rf $HOME/Desktop/ClovUtils/NDBrightness && rm -r $HOME/Desktop/ClovUtils/*.dSYM && open $HOME/Desktop/ClovUtils } SSDTTime() { -if [[ ! -d $HOME/Desktop/ClovUtils ]]; then - mkdir -p $HOME/Desktop/ClovUtils -fi -cd $HOME/Desktop/ClovUtils && git clone -q https://github.com/corpnewt/SSDTTime && open $HOME/Desktop/ClovUtils + if [[ ! -d $HOME/Desktop/ClovUtils ]]; then + mkdir -p $HOME/Desktop/ClovUtils + fi + cd $HOME/Desktop/ClovUtils && git clone -q https://github.com/corpnewt/SSDTTime && open $HOME/Desktop/ClovUtils } USBMap() { -if [[ ! -d $HOME/Desktop/ClovUtils ]]; then - mkdir -p $HOME/Desktop/ClovUtils -fi -cd $HOME/Desktop/ClovUtils && git clone -q https://github.com/corpnewt/USBMap -open $HOME/Desktop/ClovUtils + if [[ ! -d $HOME/Desktop/ClovUtils ]]; then + mkdir -p $HOME/Desktop/ClovUtils + fi + cd $HOME/Desktop/ClovUtils && git clone -q https://github.com/corpnewt/USBMap + open $HOME/Desktop/ClovUtils } QtiASL() { -if [[ ! -d $HOME/Desktop/ClovUtils ]]; then - mkdir -p $HOME/Desktop/ClovUtils -fi -cd $HOME/Desktop/ClovUtils && curl -sLq https://github.com/ic005k/QtiASL/releases/download/1.0.63/QtiASL_Mac.dmg > QtiASL_Mac.dmg -hdiutil attach -quiet -noverify -nobrowse QtiASL_Mac.dmg && cp -Rf /Volumes/bin\:release\:QtiASL/QtiASL.app $HOME/Desktop/ClovUtils -hdiutil detach -force /Volumes/bin\:release\:QtiASL -rm -r $HOME/Desktop/ClovUtils/QtiASL_Mac.dmg && open $HOME/Desktop/ClovUtils + if [[ ! -d $HOME/Desktop/ClovUtils ]]; then + mkdir -p $HOME/Desktop/ClovUtils + fi + cd $HOME/Desktop/ClovUtils && curl -sLq https://github.com/ic005k/QtiASL/releases/download/1.1.63/Xiasl_Mac.dmg > Xiasl_Mac.dmg + hdiutil attach -quiet -noverify -nobrowse Xiasl_Mac.dmg && cp -Rf /Volumes/bin\:release\:Xiasl/Xiasl.app $HOME/Desktop/ClovUtils + hdiutil detach -force /Volumes/bin\:release\:QtiASL + rm -r $HOME/Desktop/ClovUtils/Xiasl_Mac.dmg && open $HOME/Desktop/ClovUtils } CsrDecode() { -if [[ ! -d $HOME/Desktop/ClovUtils ]]; then - mkdir -p $HOME/Desktop/ClovUtils/CsrDecode -fi -cd $HOME/Desktop/ClovUtils && git clone -q https://github.com/corpnewt/CsrDecode && open $HOME/Desktop/ClovUtils + if [[ ! -d $HOME/Desktop/ClovUtils ]]; then + mkdir -p $HOME/Desktop/ClovUtils/CsrDecode + fi + cd $HOME/Desktop/ClovUtils && git clone -q https://github.com/corpnewt/CsrDecode && open $HOME/Desktop/ClovUtils } gibMacOS() { -if [[ ! -d $HOME/Desktop/ClovUtils ]]; then - mkdir -p $HOME/Desktop/ClovUtils -fi -cd $HOME/Desktop/ClovUtils && git clone -q https://github.com/corpnewt/gibMacOS && open $HOME/Desktop/ClovUtils + if [[ ! -d $HOME/Desktop/ClovUtils ]]; then + mkdir -p $HOME/Desktop/ClovUtils + fi + cd $HOME/Desktop/ClovUtils && git clone -q https://github.com/corpnewt/gibMacOS && open $HOME/Desktop/ClovUtils } mountR/W() { -if [[ ! -d $HOME/Desktop/ClovUtils ]]; then - mkdir -p $HOME/Desktop/ClovUtils -fi -cd $HOME/Desktop/ClovUtils && curl -sLq https://github.com/jacklukem/BigSurmountsrw/releases/download/1.0/BigSurmountsrw2.app.zip -o BigSurmountsrw2.app.zip && open $HOME/Desktop/ClovUtils -unzip -q $HOME/Desktop/ClovUtils/BigSurmountsrw2.app.zip && rm -r $HOME/Desktop/ClovUtils/BigSurmountsrw2.app.zip $HOME/Desktop/ClovUtils/__MACOSX + if [[ ! -d $HOME/Desktop/ClovUtils ]]; then + mkdir -p $HOME/Desktop/ClovUtils + fi + cd $HOME/Desktop/ClovUtils && curl -sLq https://github.com/jacklukem/BigSurmountsrw/releases/download/1.0/BigSurmountsrw2.app.zip -o BigSurmountsrw2.app.zip && open $HOME/Desktop/ClovUtils + unzip -q $HOME/Desktop/ClovUtils/BigSurmountsrw2.app.zip && rm -r $HOME/Desktop/ClovUtils/BigSurmountsrw2.app.zip $HOME/Desktop/ClovUtils/__MACOSX } testing() { clear echo -echo -e $COL_GREEN"-----------------------------------------------------------"$COL_RESET -cd "${CLOVERROOT}" -local lsha1="not a git repo" -if [[ -d .git ]]; then - lsha1=$(git rev-parse --short HEAD) -fi -echo -e " 🍀$COL_GREEN Clover r$(git describe --tags $(git rev-list --tags --max-count=1))$COL_WHITE (SHA: $lsha1)"$COL_RESET -echo -e $COL_CYAN" $COL_CYAN Test Builds "$COL_RESET -echo -e $COL_GREEN"-----------------------------------------------------------"$COL_RESET +echo -e $COL_GREEN" ------------------------------------------------------------------------------" +echo -e " 🍀 Clover r${revision}$COL_WHITE (SHA: $lsha1)" +echo -e $COL_CYAN" Test Builds" +echo -e $COL_GREEN" ------------------------------------------------------------------------------"$COL_RESET echo -e "\n\n\n\n\n\n\n\n\n\n\n" PS3=' @@ -520,27 +519,22 @@ testing Utilities() { echo -echo -e $COL_GREEN"-----------------------------------------------------------"$COL_RESET -cd "${CLOVERROOT}" -local lsha1="not a git repo" -if [[ -d .git ]]; then - lsha1=$(git rev-parse --short HEAD) -fi -echo -e " 🍀$COL_GREEN Clover r$(git describe --tags $(git rev-list --tags --max-count=1))$COL_WHITE (SHA: $lsha1)"$COL_RESET -echo -e $COL_CYAN" $COL_CYAN Utilities "$COL_RESET -echo -e $COL_GREEN"-----------------------------------------------------------"$COL_RESET +echo -e $COL_GREEN" ------------------------------------------------------------------------------" +echo -e " 🍀 Clover r${revision}$COL_WHITE (SHA: $lsha1)" +echo -e $COL_CYAN" External Utilities " +echo -e $COL_GREEN" ------------------------------------------------------------------------------"$COL_RESET echo -e "\n\n\n\n\n\n\n\n" PS3=' Files will be put on Desktop/ClovUtils: ' -options=( 'Get CloverConfigPlistValidator' - 'Get PlistEDPlus' - 'Get Hackintool' - 'Get BitmaskDecode' - 'Get MaciASL' - 'Get dmidecode' - 'Get IOReg-Devices' - 'Get NativeDisplayBrightness' +options=( 'Get CloverConfigPlistValidator ' + 'Get PlistEDPlus ' + 'Get Hackintool ' + 'Get BitmaskDecode ' + 'Get MaciASL ' + 'Get dmidecode ' + 'Get IOReg-Devices ' + 'Get NativeDisplayBrightness ' 'Get SSDTTime' 'Get USBMap' 'Get QtiASL' @@ -552,35 +546,35 @@ options=( 'Get CloverConfigPlistValidator' select opt in "${options[@]}" do case $opt in - "Get CloverConfigPlistValidator") + "Get CloverConfigPlistValidator ") buildCPV break ;; - "Get PlistEDPlus") + "Get PlistEDPlus ") PlistEDPlus break ;; - "Get Hackintool") + "Get Hackintool ") Hackintool break ;; - "Get BitmaskDecode") + "Get BitmaskDecode ") BitmaskDecode break ;; - "Get MaciASL") + "Get MaciASL ") MaciASL break ;; - "Get dmidecode") + "Get dmidecode ") dmidecode break ;; - "Get IOReg-Devices") + "Get IOReg-Devices ") Get-IOReg-Devices break ;; - "Get NativeDisplayBrightness") + "Get NativeDisplayBrightness ") NDBrightness break ;; @@ -627,18 +621,10 @@ Utilities menu() { echo -echo -e $COL_GREEN"-----------------------------------------------------------"$COL_RESET -cd "${CLOVERROOT}" - -local lsha1="not a git repo" - -if [[ -d .git ]]; then - lsha1=$(git rev-parse --short HEAD) -fi - -echo -e " 🍀$COL_GREEN Clover r$(git describe --tags $(git rev-list --tags --max-count=1))$COL_WHITE (SHA: $lsha1)"$COL_RESET -echo -e "$COL_CYAN TOOLCHAIN: $MYTOOLCHAIN (override example: './buildme XCODE8')" -echo -e $COL_GREEN"-----------------------------------------------------------"$COL_RESET +echo -e $COL_GREEN" ------------------------------------------------------------------------------" +echo -e " 🍀 Clover r${revision}$COL_WHITE (SHA: $lsha1)" +echo -e "$COL_CYAN TOOLCHAIN: $MYTOOLCHAIN (override example: './buildme XCODE8')" +echo -e $COL_GREEN" ------------------------------------------------------------------------------"$COL_RESET echo -e "\n\n\n\n\n\n\n\n" PS3=' Please enter your choice: ' diff --git a/toolchain/tools/CloverScripts/postbuild.sh b/toolchain/tools/CloverScripts/postbuild.sh new file mode 100644 index 000000000..6d54cf089 --- /dev/null +++ b/toolchain/tools/CloverScripts/postbuild.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +# ************************************************** +# CLOVER builds only +# ************************************************** +# postinstall for OpenRuntime.efi +# ************************************************** +# Users please do not Modify +# for Personalized scripts use "Scripts" folder +# ************************************************** +cd "$(dirname $0)" + +export CLOVERROOT=${CLOVERROOT:-$WORKSPACE} +export OR_DIR=${OR_DIR:-$CLOVERROOT/CloverPackage/CloverV2/EFI/CLOVER/drivers/off/UEFI/MemoryFix} +version=v12 + +if [[ ! -x "${CLOVERROOT}"/ebuild.sh ]]; then + echo "can't find Clover" +fi + +if [[ -d "${OR_DIR}" ]]; then + mv -f "${OR_DIR}"/OpenRuntime.efi "${OR_DIR}"/OpenRuntime-${version}.efi +else + echo "" && echo "ERROR: nothing to be done, driver not in place!" + sleep 2 +fi +# ************************************************** \ No newline at end of file