mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-12-25 16:37:42 +01:00
100 lines
2.9 KiB
Bash
Executable File
100 lines
2.9 KiB
Bash
Executable File
#!/bin/bash
|
||
#
|
||
# Reset default charset for GNUsed problems...
|
||
#set -x
|
||
export LC_ALL=C
|
||
|
||
usage () {
|
||
printf "\n\e[1m%s\e[0m\n" "Usage: $0 [flag1 flag2...]"
|
||
printf "\n%s" "The (optional) exclude flags are being passed to the buildpkg.sh script, when specified."
|
||
printf "\n%s\n" "Possible flag values:"
|
||
printf "\n\e[1m%s\e[0m\t%s" "--nothemes" "Excludes the Themes subpackage."
|
||
printf "\n\e[1m%s\e[0m\t%s" "--noprefpane" "Excludes the Clover Prefpane / Clover Updater subpackage."
|
||
printf "\n\e[1m%s\e[0m\t\t%s" "--norc" "Excludes the RC scripts subpackage."
|
||
printf "\n\e[1m%s\e[0m\t%s" "--nolegacy" "Excludes the CloverEFI subpackages."
|
||
echo
|
||
}
|
||
|
||
while [[ $# -gt 0 ]]; do
|
||
case "${1}" in
|
||
--nothemes ) NOEXTRAS+=" --nothemes";;
|
||
--noprefpane ) NOEXTRAS+=" --noprefpane";;
|
||
--norc ) NOEXTRAS+=" --norc";;
|
||
--nolegacy ) NOEXTRAS+=" --nolegacy";;
|
||
* ) printf "\e[1m%s\e[0m\n" "Invalid option: ${1} !"; usage; exit 1;;
|
||
esac
|
||
shift
|
||
done
|
||
|
||
# Workspace = edk2/Clover/CloverPackage
|
||
|
||
# Go to the script directory to create the package
|
||
cd "$(dirname $0)"
|
||
|
||
revision=$(git describe --tags $(git rev-list --tags --max-count=1))
|
||
|
||
SRCROOT="${PWD}"
|
||
SYMROOT="${SRCROOT}"/sym
|
||
PKG_BUILD_DIR="${SYMROOT}"/package
|
||
|
||
echo "${revision}" > revision
|
||
|
||
# Workspace = edk2/Clover/CloverPackage
|
||
|
||
cp -f ../BootHFS/boot1f32-install.sh CloverV2/EFI/CLOVER/doc/boot1f32-install.sh
|
||
|
||
# Workspace = Clover/CloverPackage
|
||
# Prepare i386 for building package installer.
|
||
|
||
if [[ -d "$PKG_BUILD_DIR" && $(stat -f '%u' "$PKG_BUILD_DIR") -eq 0 ]]; then
|
||
sudo rm -rf sym
|
||
fi
|
||
rm -rf sym
|
||
|
||
# Create a new sym directory
|
||
mkdir sym
|
||
|
||
# Make the translation
|
||
echo ""
|
||
echo "========= Translating Resources ========"
|
||
./package/translate.sh || exit $?
|
||
|
||
# Check that XCode is install properly
|
||
xcode_path=$(/usr/bin/xcode-select --print-path 2>/dev/null)
|
||
if [[ -n "$xcode_path" ]]; then
|
||
# Make CloverUpdater
|
||
"${SRCROOT}"/CloverUpdater/translate_xib.sh # workaround for a bug in Xcode 10 Beta
|
||
make -C "${SRCROOT}"/CloverUpdater || exit $?
|
||
# Make CloverPrefpane
|
||
"${SRCROOT}"/CloverPrefpane/translate_xib.sh # workaround for a bug in Xcode 10 Beta
|
||
"${SRCROOT}"/CloverPrefpane/translate_source.sh # workaround for a bug in Xcode 10 Beta
|
||
make -C "${SRCROOT}"/CloverPrefpane || exit $?
|
||
# Make utils
|
||
make -C "${SRCROOT}"/utils || exit $?
|
||
# temporary use ready-to-use binaries
|
||
# mkdir -p "${SYMROOT}"/utils
|
||
# cp -v "${SRCROOT}"/utils/binaries/* "${SYMROOT}"/utils/
|
||
fi
|
||
|
||
# Start to build installer.
|
||
|
||
package/buildpkg.sh --srcroot "$SRCROOT" --symroot "sym" --builddir "$PKG_BUILD_DIR" ${NOEXTRAS:1} || exit $?
|
||
|
||
(cd sym ; zip Clover_r${revision}.zip \
|
||
Clover_r${revision}.pkg \
|
||
Clover_r${revision}.pkg.md5 )
|
||
|
||
# Workspace = edk2/Clover/CloverPackage/
|
||
# Remove temp files.
|
||
|
||
rm -f version # take this to clean old sources
|
||
rm -f revision
|
||
|
||
# Workspace = edk2/Clover/CloverPackage
|
||
# Open the final folder.
|
||
ls -la sym
|
||
open sym
|
||
# Finish building installer.
|
||
|
||
exit 0
|