mirror of
https://github.com/MustardChef/WSABuilds.git
synced 2025-02-02 21:12:31 +01:00
Fix offline mode
This commit is contained in:
parent
d30124de60
commit
2b493f8e74
106
scripts/build.sh
106
scripts/build.sh
@ -34,12 +34,6 @@ DOWNLOAD_DIR=../download
|
|||||||
DOWNLOAD_CONF_NAME=download.list
|
DOWNLOAD_CONF_NAME=download.list
|
||||||
OUTPUT_DIR=../output
|
OUTPUT_DIR=../output
|
||||||
MOUNT_DIR="$WORK_DIR"/system
|
MOUNT_DIR="$WORK_DIR"/system
|
||||||
CLEAN_DOWNLOAD_WSA=0
|
|
||||||
CLEAN_DOWNLOAD_MAGISK=0
|
|
||||||
CLEAN_DOWNLOAD_GAPPS=0
|
|
||||||
REMOVE_AMAZON="keep"
|
|
||||||
COMPRESS_OUTPUT="no"
|
|
||||||
OFFLINE=0
|
|
||||||
umount_clean(){
|
umount_clean(){
|
||||||
echo "Cleanup Work Directory"
|
echo "Cleanup Work Directory"
|
||||||
if [ -d "$MOUNT_DIR" ]; then
|
if [ -d "$MOUNT_DIR" ]; then
|
||||||
@ -59,13 +53,13 @@ umount_clean(){
|
|||||||
clean_download(){
|
clean_download(){
|
||||||
if [ -d "$DOWNLOAD_DIR" ]; then
|
if [ -d "$DOWNLOAD_DIR" ]; then
|
||||||
echo "Cleanup Download Directory"
|
echo "Cleanup Download Directory"
|
||||||
if [ "$CLEAN_DOWNLOAD_WSA" = "1" ]; then
|
if [ "$CLEAN_DOWNLOAD_WSA" ]; then
|
||||||
rm -f "${WSA_ZIP_PATH:?}"
|
rm -f "${WSA_ZIP_PATH:?}"
|
||||||
fi
|
fi
|
||||||
if [ "$CLEAN_DOWNLOAD_MAGISK" = "1" ]; then
|
if [ "$CLEAN_DOWNLOAD_MAGISK" ]; then
|
||||||
rm -f "${MAGISK_PATH:?}"
|
rm -f "${MAGISK_PATH:?}"
|
||||||
fi
|
fi
|
||||||
if [ "$CLEAN_DOWNLOAD_GAPPS" = "1" ]; then
|
if [ "$CLEAN_DOWNLOAD_GAPPS" ]; then
|
||||||
rm -f "${GAPPS_PATH:?}"
|
rm -f "${GAPPS_PATH:?}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -84,22 +78,33 @@ function Gen_Rand_Str {
|
|||||||
tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w "$1" | head -n 1
|
tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w "$1" | head -n 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
default(){
|
||||||
|
ARCH=x64
|
||||||
|
RELEASE_TYPE=retail
|
||||||
|
MAGISK_VER=stable
|
||||||
|
GAPPS_BRAND=OpenGApps
|
||||||
|
GAPPS_VARIANT=pico
|
||||||
|
ROOT_SOL=magisk
|
||||||
|
}
|
||||||
|
|
||||||
usage(){
|
usage(){
|
||||||
if [ -n "$1" ]; then
|
default
|
||||||
|
if [ "$1" ]; then
|
||||||
echo "Unknown parameter: $1"
|
echo "Unknown parameter: $1"
|
||||||
fi
|
fi
|
||||||
echo "Usage:
|
echo "Usage:
|
||||||
--arch
|
--arch Architecture of WSA, x64 or arm64, default: $ARCH
|
||||||
--release-type
|
--release-type Release type of WSA, retail or debug, default: $RELEASE_TYPE
|
||||||
--magisk-ver
|
--magisk-ver Magisk version, stable or canary, default: $MAGISK_VER
|
||||||
--gapps-brand
|
--gapps-brand GApps brand, OpenGApps or MindTheGApps, default: $GAPPS_BRAND
|
||||||
--gapps-variant
|
--gapps-variant GApps variant, pico or full, etc...., default: $GAPPS_VARIANT
|
||||||
--root-sol
|
--root-sol Root solution, magisk or null, default: $ROOT_SOL
|
||||||
--remove-amazon
|
--remove-amazon Remove Amazon from the system, default: false
|
||||||
--compress
|
--compress Compress the WSA, default: false
|
||||||
--offline
|
--offline Build WSA offline, default: false
|
||||||
--magisk-custom
|
--magisk-custom Install custom Magisk, default: false
|
||||||
--debug
|
--debug Debug build mode, default: false
|
||||||
"
|
"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
@ -116,8 +121,11 @@ ARGUMENT_LIST=(
|
|||||||
"offline"
|
"offline"
|
||||||
"magisk-custom"
|
"magisk-custom"
|
||||||
"debug"
|
"debug"
|
||||||
|
"help"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
default
|
||||||
|
|
||||||
opts=$(getopt \
|
opts=$(getopt \
|
||||||
--longoptions "$(printf "%s," "${ARGUMENT_LIST[@]}")" \
|
--longoptions "$(printf "%s," "${ARGUMENT_LIST[@]}")" \
|
||||||
--name "$(basename "$0")" \
|
--name "$(basename "$0")" \
|
||||||
@ -133,33 +141,32 @@ while [[ $# -gt 0 ]]; do
|
|||||||
--magisk-ver ) MAGISK_VER="$2"; shift 2 ;;
|
--magisk-ver ) MAGISK_VER="$2"; shift 2 ;;
|
||||||
--gapps-brand ) GAPPS_BRAND="$2"; shift 2 ;;
|
--gapps-brand ) GAPPS_BRAND="$2"; shift 2 ;;
|
||||||
--gapps-variant ) GAPPS_VARIANT="$2"; shift 2 ;;
|
--gapps-variant ) GAPPS_VARIANT="$2"; shift 2 ;;
|
||||||
--remove-amazon ) REMOVE_AMAZON="remove"; shift ;;
|
|
||||||
--root-sol ) ROOT_SOL="$2"; shift 2 ;;
|
--root-sol ) ROOT_SOL="$2"; shift 2 ;;
|
||||||
|
--remove-amazon ) REMOVE_AMAZON="remove"; shift ;;
|
||||||
--compress ) COMPRESS_OUTPUT="yes"; shift ;;
|
--compress ) COMPRESS_OUTPUT="yes"; shift ;;
|
||||||
--offline ) OFFLINE="1"; shift ;;
|
--offline ) OFFLINE="on"; shift ;;
|
||||||
--debug ) DEBUG="1"; shift ;;
|
--magisk-custom ) CUSTOM_MAGISK="debug"; MAGISK_VER=$CUSTOM_MAGISK shift ;;
|
||||||
--magisk-custom ) CUSTOM_MAGISK="1"; shift ;;
|
--debug ) DEBUG="on"; shift ;;
|
||||||
|
--help ) usage; shift ;;
|
||||||
-- ) shift; break;;
|
-- ) shift; break;;
|
||||||
? ) usage "$2"; shift ;;
|
? ) usage "$2"; break ;;
|
||||||
* ) break ;;
|
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
declare -A PARA_CHECK_LIST=([ARCH]="$ARCH" [RELEASE_TYPE]="$RELEASE_TYPE" [MAGISK_VER]="$MAGISK_VER" [GAPPS_VARIANT]="$GAPPS_VARIANT" [REMOVE_AMAZON]="$REMOVE_AMAZON" [ROOT_SOL]="$ROOT_SOL")
|
declare -A PARA_CHECK_LIST=([ARCH]="$ARCH" [RELEASE_TYPE]="$RELEASE_TYPE" [MAGISK_VER]="$MAGISK_VER" [GAPPS_VARIANT]="$GAPPS_VARIANT" [ROOT_SOL]="$ROOT_SOL")
|
||||||
for i in "${PARA_CHECK_LIST[@]}";
|
for i in "${PARA_CHECK_LIST[@]}"; do
|
||||||
do
|
if [ -z "${i+x}" ]; then
|
||||||
if [ -z "$i" ]; then
|
|
||||||
usage
|
usage
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
echo -e "build: ARCH=$ARCH\nRELEASE_TYPE=$RELEASE_TYPE\nMAGISK_VER=$MAGISK_VER\nGAPPS_VARIANT=$GAPPS_VARIANT\nREMOVE_AMAZON=$REMOVE_AMAZON\nROOT_SOL=$ROOT_SOL\nCOMPRESS_OUTPUT=$COMPRESS_OUTPUT"
|
echo -e "build: ARCH=$ARCH\nRELEASE_TYPE=$RELEASE_TYPE\nMAGISK_VER=$MAGISK_VER\nGAPPS_VARIANT=$GAPPS_VARIANT\nROOT_SOL=$ROOT_SOL"
|
||||||
|
|
||||||
declare -A RELEASE_TYPE_MAP=(["retail"]="Retail" ["release preview"]="RP" ["insider slow"]="WIS" ["insider fast"]="WIF")
|
declare -A RELEASE_TYPE_MAP=(["retail"]="Retail" ["release preview"]="RP" ["insider slow"]="WIS" ["insider fast"]="WIF")
|
||||||
|
|
||||||
WSA_ZIP_PATH=$DOWNLOAD_DIR/wsa-$ARCH-${RELEASE_TYPE_MAP[$RELEASE_TYPE]}.zip
|
WSA_ZIP_PATH=$DOWNLOAD_DIR/wsa-$ARCH-${RELEASE_TYPE_MAP[$RELEASE_TYPE]}.zip
|
||||||
vclibs_PATH=vclibs-"$ARCH".appx
|
vclibs_PATH=$DOWNLOAD_DIR/vclibs-"$ARCH".appx
|
||||||
xaml_PATH=xaml-"$ARCH".appx
|
xaml_PATH=$DOWNLOAD_DIR/xaml-"$ARCH".appx
|
||||||
MAGISK_PATH=$DOWNLOAD_DIR/magisk-$MAGISK_VER.zip
|
MAGISK_PATH=$DOWNLOAD_DIR/magisk-$MAGISK_VER.zip
|
||||||
if [ "$GAPPS_BRAND" = "OpenGApps" ]; then
|
if [ "$GAPPS_BRAND" = "OpenGApps" ]; then
|
||||||
GAPPS_PATH="$DOWNLOAD_DIR"/OpenGApps-$ARCH-$GAPPS_VARIANT.zip
|
GAPPS_PATH="$DOWNLOAD_DIR"/OpenGApps-$ARCH-$GAPPS_VARIANT.zip
|
||||||
@ -167,11 +174,11 @@ else
|
|||||||
GAPPS_PATH="$DOWNLOAD_DIR"/MindTheGapps-"$ARCH".zip
|
GAPPS_PATH="$DOWNLOAD_DIR"/MindTheGapps-"$ARCH".zip
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$OFFLINE" != "1" ]; then
|
if [ -z "${OFFLINE+x}" ]; then
|
||||||
trap 'rm -f -- "${DOWNLOAD_DIR:?}/${DOWNLOAD_CONF_NAME}"' EXIT
|
trap 'rm -f -- "${DOWNLOAD_DIR:?}/${DOWNLOAD_CONF_NAME}"' EXIT
|
||||||
echo "Generate Download Links"
|
echo "Generate Download Links"
|
||||||
python3 generateWSALinks.py "$ARCH" "$RELEASE_TYPE" "$DOWNLOAD_DIR" "$DOWNLOAD_CONF_NAME" || abort
|
python3 generateWSALinks.py "$ARCH" "$RELEASE_TYPE" "$DOWNLOAD_DIR" "$DOWNLOAD_CONF_NAME" || abort
|
||||||
if [ "$CUSTOM_MAGISK" != "1" ]; then
|
if [ -z "${CUSTOM_MAGISK+x}" ]; then
|
||||||
python3 generateMagiskLink.py "$MAGISK_VER" "$DOWNLOAD_DIR" "$DOWNLOAD_CONF_NAME" || abort
|
python3 generateMagiskLink.py "$MAGISK_VER" "$DOWNLOAD_DIR" "$DOWNLOAD_CONF_NAME" || abort
|
||||||
fi
|
fi
|
||||||
if [ "$GAPPS_VARIANT" != 'none' ] && [ "$GAPPS_VARIANT" != '' ]; then
|
if [ "$GAPPS_VARIANT" != 'none' ] && [ "$GAPPS_VARIANT" != '' ]; then
|
||||||
@ -186,21 +193,20 @@ if [ "$OFFLINE" != "1" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ ! -f "$WSA_ZIP_PATH" ] || [ ! -f "$xaml_PATH" ] || [ ! -f "$vclibs_PATH" ]; then
|
declare -A FILES_CHECK_LIST=([WSA_ZIP_PATH]="$WSA_ZIP_PATH" [xaml_PATH]="$xaml_PATH" [vclibs_PATH]="$vclibs_PATH" [MAGISK_PATH]="$MAGISK_PATH")
|
||||||
echo "Offline mode: missing WSA files."
|
for i in "${FILES_CHECK_LIST[@]}"; do
|
||||||
OFFLINE_ERR="1"
|
if [ ! -f "$i" ]; then
|
||||||
fi
|
echo "Offline mode: missing [$i]."
|
||||||
if [ ! -f "$MAGISK_PATH" ]; then
|
|
||||||
echo "Offline mode: missing Magisk $MAGISK_VER file."
|
|
||||||
OFFLINE_ERR="1"
|
OFFLINE_ERR="1"
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
if [ "$GAPPS_VARIANT" != 'none' ] && [ "$GAPPS_VARIANT" != '' ]; then
|
if [ "$GAPPS_VARIANT" != 'none' ] && [ "$GAPPS_VARIANT" != '' ]; then
|
||||||
if [ ! -f "$GAPPS_PATH" ]; then
|
if [ ! -f "$GAPPS_PATH" ]; then
|
||||||
echo "Offline mode: missing $GAPPS_BRAND file."
|
echo "Offline mode: missing [$GAPPS_PATH]."
|
||||||
OFFLINE_ERR="1"
|
OFFLINE_ERR="1"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [ -n "$OFFLINE_ERR" ]; then
|
if [ "$OFFLINE_ERR" ]; then
|
||||||
echo "Offline mode: Some files are missing, please disable offline mode."
|
echo "Offline mode: Some files are missing, please disable offline mode."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@ -231,7 +237,7 @@ if [ -f "$MAGISK_PATH" ]; then
|
|||||||
CLEAN_DOWNLOAD_MAGISK=1
|
CLEAN_DOWNLOAD_MAGISK=1
|
||||||
abort
|
abort
|
||||||
fi
|
fi
|
||||||
elif [ "$CUSTOM_MAGISK" != "1" ]; then
|
elif [ -z "${CUSTOM_MAGISK+x}" ]; then
|
||||||
echo "The Magisk zip package does not exist, is the download incomplete?"
|
echo "The Magisk zip package does not exist, is the download incomplete?"
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
@ -318,7 +324,7 @@ sudo mount -o loop "$WORK_DIR"/wsa/"$ARCH"/product.img "$MOUNT_DIR"/product || a
|
|||||||
sudo mount -o loop "$WORK_DIR"/wsa/"$ARCH"/system_ext.img "$MOUNT_DIR"/system_ext || abort
|
sudo mount -o loop "$WORK_DIR"/wsa/"$ARCH"/system_ext.img "$MOUNT_DIR"/system_ext || abort
|
||||||
echo -e "done\n"
|
echo -e "done\n"
|
||||||
|
|
||||||
if [ "$REMOVE_AMAZON" = 'remove' ]; then
|
if [ "$REMOVE_AMAZON" ]; then
|
||||||
echo "Remove Amazon AppStore"
|
echo "Remove Amazon AppStore"
|
||||||
find "${MOUNT_DIR:?}"/product/{etc/permissions,etc/sysconfig,framework,priv-app} | grep -e amazon -e venezia | sudo xargs rm -rf
|
find "${MOUNT_DIR:?}"/product/{etc/permissions,etc/sysconfig,framework,priv-app} | grep -e amazon -e venezia | sudo xargs rm -rf
|
||||||
echo -e "done\n"
|
echo -e "done\n"
|
||||||
@ -531,7 +537,7 @@ echo -e "Shrink images done\n"
|
|||||||
|
|
||||||
echo "Remove signature and add scripts"
|
echo "Remove signature and add scripts"
|
||||||
sudo rm -rf "${WORK_DIR:?}"/wsa/"$ARCH"/\[Content_Types\].xml "$WORK_DIR"/wsa/"$ARCH"/AppxBlockMap.xml "$WORK_DIR"/wsa/"$ARCH"/AppxSignature.p7x "$WORK_DIR"/wsa/"$ARCH"/AppxMetadata || abort
|
sudo rm -rf "${WORK_DIR:?}"/wsa/"$ARCH"/\[Content_Types\].xml "$WORK_DIR"/wsa/"$ARCH"/AppxBlockMap.xml "$WORK_DIR"/wsa/"$ARCH"/AppxSignature.p7x "$WORK_DIR"/wsa/"$ARCH"/AppxMetadata || abort
|
||||||
cp "$DOWNLOAD_DIR"/"$vclibs_PATH" "$DOWNLOAD_DIR"/"$xaml_PATH" "$WORK_DIR"/wsa/"$ARCH" || abort
|
cp "$vclibs_PATH" "$xaml_PATH" "$WORK_DIR"/wsa/"$ARCH" || abort
|
||||||
tee "$WORK_DIR"/wsa/"$ARCH"/Install.ps1 <<EOF
|
tee "$WORK_DIR"/wsa/"$ARCH"/Install.ps1 <<EOF
|
||||||
# Automated Install script by Midonei
|
# Automated Install script by Midonei
|
||||||
# http://github.com/doneibcn
|
# http://github.com/doneibcn
|
||||||
@ -643,7 +649,7 @@ else
|
|||||||
else
|
else
|
||||||
name2="-$GAPPS_BRAND"
|
name2="-$GAPPS_BRAND"
|
||||||
fi
|
fi
|
||||||
if [ "$GAPPS_BRAND" = "OpenGApps" ] && [ "$DEBUG" != "1" ]; then
|
if [ "$GAPPS_BRAND" = "OpenGApps" ] && [ "$DEBUG" ]; then
|
||||||
echo ":warning: Since OpenGApps doesn't officially support Android 12.1 yet, lock the variant to pico!"
|
echo ":warning: Since OpenGApps doesn't officially support Android 12.1 yet, lock the variant to pico!"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -656,10 +662,10 @@ fi
|
|||||||
if [ ! -d "$OUTPUT_DIR" ]; then
|
if [ ! -d "$OUTPUT_DIR" ]; then
|
||||||
mkdir -p "$OUTPUT_DIR"
|
mkdir -p "$OUTPUT_DIR"
|
||||||
fi
|
fi
|
||||||
if [ "$COMPRESS_OUTPUT" = "yes" ]; then
|
if [ "$COMPRESS_OUTPUT" ]; then
|
||||||
rm -f "${OUTPUT_DIR:?}"/"$artifact_name.7z" || abort
|
rm -f "${OUTPUT_DIR:?}"/"$artifact_name.7z" || abort
|
||||||
7z a "$OUTPUT_DIR"/"$artifact_name.7z" "$WORK_DIR/wsa/$ARCH/" || abort
|
7z a "$OUTPUT_DIR"/"$artifact_name.7z" "$WORK_DIR/wsa/$ARCH/" || abort
|
||||||
elif [ "$COMPRESS_OUTPUT" = "no" ]; then
|
else
|
||||||
rm -rf "${OUTPUT_DIR:?}/${artifact_name}" || abort
|
rm -rf "${OUTPUT_DIR:?}/${artifact_name}" || abort
|
||||||
mv "$WORK_DIR"/wsa/"$ARCH" "$OUTPUT_DIR/$artifact_name" || abort
|
mv "$WORK_DIR"/wsa/"$ARCH" "$OUTPUT_DIR/$artifact_name" || abort
|
||||||
fi
|
fi
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
|
|
||||||
# DEBUG=--debug
|
# DEBUG=--debug
|
||||||
# CUSTOM_MAGISK=--magisk-custom
|
# CUSTOM_MAGISK=--magisk-custom
|
||||||
|
|
||||||
if [ ! "$BASH_VERSION" ] ; then
|
if [ ! "$BASH_VERSION" ] ; then
|
||||||
echo "Please do not use sh to run this script, just execute it directly" 1>&2
|
echo "Please do not use sh to run this script, just execute it directly" 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
@ -68,7 +69,8 @@ RELEASE_TYPE=$(
|
|||||||
'insider slow' "Beta Channel" 'off' \
|
'insider slow' "Beta Channel" 'off' \
|
||||||
'insider fast' "Dev Channel" 'off'
|
'insider fast' "Dev Channel" 'off'
|
||||||
)
|
)
|
||||||
if [ "$CUSTOM_MAGISK" != "1" ]; then
|
|
||||||
|
if [ -z "${CUSTOM_MAGISK+x}" ]; then
|
||||||
MAGISK_VER=$(
|
MAGISK_VER=$(
|
||||||
Radiolist '([title]="Magisk version"
|
Radiolist '([title]="Magisk version"
|
||||||
[default]="stable")' \
|
[default]="stable")' \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user