Skip to content

Commit cef6e60

Browse files
committed
Align Misc Items
1 parent ed002b7 commit cef6e60

File tree

14 files changed

+353
-242
lines changed

14 files changed

+353
-242
lines changed

000-BuildScript/RefindPlusBuilder.sh

Lines changed: 91 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# RefindPlusBuilder.sh
44
# A script to build RefindPlus
55
#
6-
# Copyright (c) 2020-2024 Dayo Akanji
6+
# Copyright (c) 2020-2025 Dayo Akanji
77
# MIT-0 License
88
###
99

@@ -40,27 +40,21 @@ msg_error() {
4040

4141
## REVERT WORD_WRAP FIX ##
4242
RevertWordWrap() {
43+
export PATH="${ORIG_PATH}";
44+
if [ -f "${MAKEFILE_ORIG}" ] ; then
45+
mv -f "${MAKEFILE_ORIG}" "${MAKEFILE_BASE}" || true
46+
fi
4347
if [ "${WORD_WRAP}" == '0' ] ; then
4448
# Enable WordWrap
4549
tput smam
4650
fi
4751
}
4852

49-
## REVERT SHASUM FIX ##
50-
RevertShasumFix() {
51-
if [ "${SHASUM_FIX}" == 'true' ] ; then
52-
mv -f "${TMP_SHASUM}" "${DUP_SHASUM}"
53-
fi
54-
}
55-
5653
## ERROR HANDLERS ##
5754
trapINT() { # $1: message
5855
# Declare Local Variables
5956
local errMessage
6057

61-
# In case it was stopped while shasum is unset
62-
RevertShasumFix ;
63-
6458
# Revert Word Wrap Fix
6559
RevertWordWrap ;
6660

@@ -77,9 +71,6 @@ runErr() { # $1: message
7771
# Declare Local Variables
7872
local errMessage
7973

80-
# In case it failed while shasum is unset
81-
RevertShasumFix ;
82-
8374
# Revert Word Wrap Fix
8475
RevertWordWrap ;
8576

@@ -96,6 +87,7 @@ trap trapINT SIGINT
9687

9788

9889
# Set Script Params
90+
ORIG_PATH="${PATH}"
9991
DONE_ONE="False"
10092

10193
BUILD_BRANCH="${1:-GOPFix}"
@@ -116,7 +108,9 @@ fi
116108
if [ "${BUILD_TYPE}" == 'REL' ] || [ "${BUILD_TYPE}" == 'NPT' ] ; then
117109
RUN_DBG="False"
118110
fi
119-
if [ "${BUILD_TYPE}" == 'ALL' ] || [ "${BUILD_TYPE}" == 'NPT' ] || ( [ "${BUILD_TYPE}" != 'REL' ] && [ "${BUILD_TYPE}" != 'DBG' ] && [ "${BUILD_TYPE}" != 'SOME' ] ) ; then
111+
if [ "${BUILD_TYPE}" == 'ALL' ] || [ "${BUILD_TYPE}" == 'NPT' ] \
112+
|| ([ "${BUILD_TYPE}" != 'REL' ] && [ "${BUILD_TYPE}" != 'DBG' ] && \
113+
[ "${BUILD_TYPE}" != 'SOME' ]) ; then
120114
RUN_NPT="True"
121115
fi
122116

@@ -139,40 +133,45 @@ BINARY_DIR_DBG="${XCODE_DIR_DBG}/X64"
139133
BINARY_DIR_NPT="${XCODE_DIR_NPT}/X64"
140134
OUTPUT_DIR="${EDK2_DIR}/000-BOOTx64-Files"
141135
OUR_SHASUM='/usr/bin/shasum'
142-
DUP_SHASUM='/usr/local/bin/shasum'
143-
TMP_SHASUM='/usr/local/bin/_shasum'
136+
MAKEFILE_BASE="${EDK2_DIR}/BaseTools/Source/C/Makefiles/header.makefile"
137+
MAKEFILE_ORIG="${EDK2_DIR}/BaseTools/Source/C/Makefiles/header.makefile-orig"
138+
144139

145140
ErrMsg="ERROR: Could not find '${EDK2_DIR}/BaseTools'"
146141
pushd "${EDK2_DIR}/BaseTools" > /dev/null || runErr "${ErrMsg}"
147-
SHASUM_FIX='false'
148-
if [ -f "${DUP_SHASUM}" ] ; then
149-
mv -f "${DUP_SHASUM}" "${TMP_SHASUM}"
150-
SHASUM_FIX='true'
151-
fi
152142
BASETOOLS_SHA_FILE="${EDK2_DIR}/000-BuildScript/BaseToolsSHA.txt"
153143
if [ ! -f "${BASETOOLS_SHA_FILE}" ] ; then
154144
BASETOOLS_SHA_OLD='Default'
155145
else
156146
# shellcheck disable=SC1090
157147
source "${BASETOOLS_SHA_FILE}" || BASETOOLS_SHA_OLD='Default'
158148
fi
159-
Get_Sha_Str="$(find . -type f \( -name '*.c' -or -name '*.cpp' -or -name '*.h' -or -name '*.py' -or -name '*.makefile' -or -name 'GNUmakefile' \) -print0 | sort -z | xargs -0 ${OUR_SHASUM} | ${OUR_SHASUM} | cut -d ' ' -f 1)"
160-
RevertShasumFix ;
149+
Get_Sha_Str="$(find "${EDK2_DIR}/BaseTools" "${EDK2_DIR}/Conf" \
150+
-type f \( -name '*.c' -or -name '*.cpp' -or -name '*.h' -or -name '*.py' -or \
151+
-name '*.txt' -or -name '*.template' -or -name '*.makefile' -or -name 'GNUmakefile' \) \
152+
-print0 | sort -z | xargs -0 ${OUR_SHASUM} | ${OUR_SHASUM} | cut -d ' ' -f 1)"
161153
Get_Mac_Ver="$( sysctl kern.osrelease | cut -d ':' -f 2 | xargs )"
162154
BASETOOLS_SHA_NEW="${Get_Sha_Str}:${Get_Mac_Ver}"
163155
BUILD_TOOLS='false'
164-
if [ ! -d "${EDK2_DIR}/BaseTools/Source/C/bin" ] || [ "${BASETOOLS_SHA_NEW}" != "${BASETOOLS_SHA_OLD}" ] ; then
156+
if [ ! -d "${EDK2_DIR}/BaseTools/Source/C/bin" ] \
157+
|| [ "${BASETOOLS_SHA_NEW}" != "${BASETOOLS_SHA_OLD}" ] ; then
165158
BUILD_TOOLS='true'
166-
echo '#!/usr/bin/env bash' > "${BASETOOLS_SHA_FILE}"
167-
echo "BASETOOLS_SHA_OLD='${BASETOOLS_SHA_NEW}'" >> "${BASETOOLS_SHA_FILE}"
159+
if [ -f "${BASETOOLS_SHA_FILE}" ] ; then
160+
rm -f "${BASETOOLS_SHA_FILE}"
161+
fi
168162
fi
169-
popd > /dev/null || exit 1
163+
popd > /dev/null || true
164+
165+
msg_base 'Export Temp "PATH"...'
166+
export PATH="/usr/bin:/opt/local/bin:/opt/local/sbin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/local/sbin:${PATH}"
167+
msg_status '...OK'; echo ''
170168

171169
ErrMsg="ERROR: Could not find '${WORK_DIR}'"
172170
pushd "${WORK_DIR}" > /dev/null || runErr "${ErrMsg}"
173171
msg_base "Checkout '${BUILD_BRANCH}' branch..."
174172
git checkout ${BUILD_BRANCH} > /dev/null
175173
msg_status '...OK'; echo ''
174+
176175
msg_base 'Update RefindPlusPkg...'
177176
# Remove Later - START #
178177
rm -fr "${EDK2_DIR}/RefindPkg"
@@ -183,38 +182,70 @@ if [ ! -L "${EDK2_DIR}/RefindPlusPkg" ]; then
183182
ln -s "${WORK_DIR}" "${EDK2_DIR}/RefindPlusPkg"
184183
fi
185184
msg_status '...OK'; echo ''
186-
popd > /dev/null || exit 1
185+
popd > /dev/null || true
187186

188187
if [ "${BUILD_TOOLS}" == 'true' ] ; then
189188
ErrMsg="ERROR: Could not find '${EDK2_DIR}/BaseTools/Source/C'"
190189
pushd "${EDK2_DIR}/BaseTools/Source/C" > /dev/null || runErr "${ErrMsg}"
191190
msg_base 'Make Clean...'
192191
make clean
193192
msg_status '...OK'; echo ''
194-
popd > /dev/null || exit 1
193+
popd > /dev/null || true
194+
195+
msg_base 'Update Temp Makefile...'
196+
if [ -f "${MAKEFILE_ORIG}" ] ; then
197+
cp -f "${MAKEFILE_ORIG}" "${MAKEFILE_BASE}"
198+
else
199+
cp -f "${MAKEFILE_BASE}" "${MAKEFILE_ORIG}"
200+
fi
201+
CFLAGS=-Wno-pointer-to-int-cast
202+
BUILD_CFLAGS+=($CFLAGS)
203+
BUILD_CXXFLAGS+=($CFLAGS)
204+
#CC_FLAGS+=($CFLAGS)
205+
(
206+
echo ""
207+
echo "BUILD_CFLAGS += $BUILD_CFLAGS"
208+
echo "BUILD_CXXFLAGS += $BUILD_CXXFLAGS"
209+
) >> "${MAKEFILE_BASE}"
210+
msg_status '...OK'; echo ''
195211

196212
ErrMsg="ERROR: Could not find '${EDK2_DIR}'"
197213
pushd "${EDK2_DIR}" > /dev/null || runErr "${ErrMsg}"
198214
msg_base 'Make BaseTools...'
199215
make -C BaseTools/Source/C
216+
echo '#!/usr/bin/env bash' > "${BASETOOLS_SHA_FILE}"
217+
echo "BASETOOLS_SHA_OLD='${BASETOOLS_SHA_NEW}'" >> "${BASETOOLS_SHA_FILE}"
218+
msg_status '...OK'; echo ''
219+
popd > /dev/null || true
220+
221+
msg_base 'Update BaseTools SHA...'
222+
echo '#!/usr/bin/env bash' > "${BASETOOLS_SHA_FILE}"
223+
echo "BASETOOLS_SHA_OLD='${BASETOOLS_SHA_NEW}'" >> "${BASETOOLS_SHA_FILE}"
224+
msg_status '...OK'; echo ''
225+
226+
msg_base 'Discard Temp Makefile...'
227+
if [ -f "${MAKEFILE_ORIG}" ] ; then
228+
mv -f "${MAKEFILE_ORIG}" "${MAKEFILE_BASE}" || true
229+
fi
200230
msg_status '...OK'; echo ''
201-
popd > /dev/null || exit 1
202231
fi
203232

204233

205234
# Basic clean up
235+
echo ''
206236
clear
207237
msg_info "## RefindPlusBuilder - Initial Clean Up ## : ${BUILD_BRANCH}"
208238
msg_info '##--------------------------------------##'
239+
msg_base 'Misc Item Fixup...'
209240
rm -fr "${EDK2_DIR}/Build"
210241
rm -fr "${OUTPUT_DIR}"
211242
mkdir -p "${EDK2_DIR}/Build"
212243
mkdir -p "${OUTPUT_DIR}"
213-
214-
244+
msg_status '...OK'; echo ''
215245

216246
# Build RELEASE version
217247
if [ "${RUN_REL}" == 'True' ] ; then
248+
echo ''
218249
clear
219250
msg_info "## RefindPlusBuilder - Building REL Version ## : ${BUILD_BRANCH}"
220251
msg_info '##------------------------------------------##'
@@ -225,7 +256,15 @@ if [ "${RUN_REL}" == 'True' ] ; then
225256
if [ -d "${EDK2_DIR}/Build" ] ; then
226257
cp "${BINARY_DIR_REL}/RefindPlus.efi" "${OUTPUT_DIR}/BOOTx64-REL.efi"
227258
fi
228-
popd > /dev/null || exit 1
259+
for file in "${BINARY_DIR_REL}"/*.efi; do
260+
filetag=$(basename "${file%.efi}")
261+
if [[ "${filetag}" == 'gptsync' || "${filetag}" == 'RefindPlus' ]]; then
262+
mv "${file}" "${BINARY_DIR_REL}/x64_${filetag}_REL.efi"
263+
else
264+
mv "${file}" "${BINARY_DIR_REL}/DRIVER_REL--x64_${filetag}.efi"
265+
fi
266+
done
267+
popd > /dev/null || true
229268
echo ''
230269
msg_info "Completed REL Build on '${BUILD_BRANCH}' Branch of RefindPlus"
231270
DONE_ONE="True"
@@ -250,7 +289,15 @@ if [ "${RUN_DBG}" == 'True' ] ; then
250289
if [ -d "${EDK2_DIR}/Build" ] ; then
251290
cp -f "${BINARY_DIR_DBG}/RefindPlus.efi" "${OUTPUT_DIR}/BOOTx64-DBG.efi"
252291
fi
253-
popd > /dev/null || exit 1
292+
for file in "${BINARY_DIR_DBG}"/*.efi; do
293+
filetag=$(basename "${file%.efi}")
294+
if [[ "${filetag}" == 'gptsync' || "${filetag}" == 'RefindPlus' ]]; then
295+
mv "${file}" "${BINARY_DIR_DBG}/x64_${filetag}_DBG.efi"
296+
else
297+
mv "${file}" "${BINARY_DIR_DBG}/DRIVER_DBG--x64_${filetag}.efi"
298+
fi
299+
done
300+
popd > /dev/null || true
254301
echo ''
255302
msg_info "Completed DBG Build on '${BUILD_BRANCH}' Branch of RefindPlus"
256303
DONE_ONE="True"
@@ -275,7 +322,15 @@ if [ "${RUN_NPT}" == 'True' ] ; then
275322
if [ -d "${EDK2_DIR}/Build" ] ; then
276323
cp -f "${BINARY_DIR_NPT}/RefindPlus.efi" "${OUTPUT_DIR}/BOOTx64-NPT.efi"
277324
fi
278-
popd > /dev/null || exit 1
325+
for file in "${BINARY_DIR_NPT}"/*.efi; do
326+
filetag=$(basename "${file%.efi}")
327+
if [[ "${filetag}" == 'gptsync' || "${filetag}" == 'RefindPlus' ]]; then
328+
mv "${file}" "${BINARY_DIR_NPT}/x64_${filetag}_NPT.efi"
329+
else
330+
mv "${file}" "${BINARY_DIR_NPT}/DRIVER_NPT--x64_${filetag}.efi"
331+
fi
332+
done
333+
popd > /dev/null || true
279334
echo ''
280335
msg_info "Completed NPT Build on '${BUILD_BRANCH}' Branch of RefindPlus"
281336
DONE_ONE="True"

000-BuildScript/RepoUpdater.sh

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# RepoUpdater.sh
55
# A script to sync the RefindPlus and RefindPlusUDK Repos with upstream
66
#
7-
# Copyright (c) 2020-2021 Dayo Akanji
7+
# Copyright (c) 2020-2025 Dayo Akanji
88
# MIT License
99
###
1010

@@ -84,6 +84,15 @@ SyncRepo() {
8484
fi
8585
git reset --hard "${resetSHA}"
8686

87+
if [ "${EXIT_CALL}" == 'true' ] ; then
88+
return 0
89+
fi
90+
if [ "${OUR_BRANCH}" == 'GOPFix' ] ; then
91+
(git remote get-url upstream 2>/dev/null | grep -q "https://github.com/RefindPlusRepo/RefindPlus.git") || (git remote remove upstream && git remote add upstream https://github.com/RefindPlusRepo/RefindPlus.git 2>/dev/null)
92+
else
93+
(git remote get-url upstream 2>/dev/null | grep -q "https://github.com/RefindPlusRepo/RefindPlusUDK.git") || (git remote remove upstream && git remote add upstream https://github.com/RefindPlusRepo/RefindPlusUDK.git 2>/dev/null)
94+
fi
95+
8796
if [ "${EXIT_CALL}" == 'true' ] ; then
8897
return 0
8998
fi

0 commit comments

Comments
 (0)