mirror of
https://github.com/LSPosed/MagiskOnWSALocal.git
synced 2025-04-23 00:39:20 +00:00
Fix parameter parsing
This commit is contained in:
parent
a3efd6dab1
commit
4f7d3c1951
3 changed files with 44 additions and 61 deletions
|
@ -92,6 +92,7 @@ default() {
|
||||||
RELEASE_TYPE=retail
|
RELEASE_TYPE=retail
|
||||||
MAGISK_VER=stable
|
MAGISK_VER=stable
|
||||||
ROOT_SOL=magisk
|
ROOT_SOL=magisk
|
||||||
|
COMPRESS_FORMAT=none
|
||||||
}
|
}
|
||||||
|
|
||||||
exit_with_message() {
|
exit_with_message() {
|
||||||
|
@ -129,6 +130,7 @@ ROOT_SOL_MAP=(
|
||||||
COMPRESS_FORMAT_MAP=(
|
COMPRESS_FORMAT_MAP=(
|
||||||
"7z"
|
"7z"
|
||||||
"zip"
|
"zip"
|
||||||
|
"none"
|
||||||
)
|
)
|
||||||
|
|
||||||
ARR_TO_STR() {
|
ARR_TO_STR() {
|
||||||
|
@ -164,18 +166,15 @@ Usage:
|
||||||
Possible values: $(ARR_TO_STR "${ROOT_SOL_MAP[@]}")
|
Possible values: $(ARR_TO_STR "${ROOT_SOL_MAP[@]}")
|
||||||
Default: $ROOT_SOL
|
Default: $ROOT_SOL
|
||||||
|
|
||||||
--compress-format
|
--compress-format Compress format of output file.
|
||||||
Compress format of output file.
|
|
||||||
If this option is not specified and --compress is not specified, the generated file will not be compressed
|
|
||||||
|
|
||||||
Possible values: $(ARR_TO_STR "${COMPRESS_FORMAT_MAP[@]}")
|
Possible values: $(ARR_TO_STR "${COMPRESS_FORMAT_MAP[@]}")
|
||||||
|
Default: $COMPRESS_FORMAT
|
||||||
|
|
||||||
Additional Options:
|
Additional Options:
|
||||||
--compress Compress the WSA, The default format is 7z, you can use the format specified by --compress-format
|
|
||||||
--offline Build WSA offline
|
--offline Build WSA offline
|
||||||
--magisk-custom Install custom Magisk
|
--magisk-custom Install custom Magisk
|
||||||
--skip-download-wsa Skip download WSA
|
--skip-download-wsa Skip download WSA
|
||||||
--debug Debug build mode
|
|
||||||
--help Show this help message and exit
|
--help Show this help message and exit
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
@ -188,20 +187,17 @@ Example:
|
||||||
}
|
}
|
||||||
|
|
||||||
ARGUMENT_LIST=(
|
ARGUMENT_LIST=(
|
||||||
|
"compress-format:"
|
||||||
"arch:"
|
"arch:"
|
||||||
"release-type:"
|
"release-type:"
|
||||||
"magisk-ver:"
|
|
||||||
"nofix-props"
|
|
||||||
"root-sol:"
|
"root-sol:"
|
||||||
"compress-format:"
|
"magisk-ver:"
|
||||||
"remove-amazon"
|
|
||||||
"compress"
|
|
||||||
"offline"
|
|
||||||
"magisk-custom"
|
"magisk-custom"
|
||||||
"debug"
|
|
||||||
"help"
|
|
||||||
"skip-download-wsa"
|
|
||||||
"install-gapps"
|
"install-gapps"
|
||||||
|
"offline"
|
||||||
|
"skip-download-wsa"
|
||||||
|
"help"
|
||||||
|
"debug"
|
||||||
)
|
)
|
||||||
|
|
||||||
default
|
default
|
||||||
|
@ -217,6 +213,10 @@ opts=$(
|
||||||
eval set --"$opts"
|
eval set --"$opts"
|
||||||
while [[ $# -gt 0 ]]; do
|
while [[ $# -gt 0 ]]; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
--compress-format)
|
||||||
|
COMPRESS_FORMAT="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
--arch)
|
--arch)
|
||||||
ARCH="$2"
|
ARCH="$2"
|
||||||
shift 2
|
shift 2
|
||||||
|
@ -225,36 +225,24 @@ while [[ $# -gt 0 ]]; do
|
||||||
RELEASE_TYPE="$2"
|
RELEASE_TYPE="$2"
|
||||||
shift 2
|
shift 2
|
||||||
;;
|
;;
|
||||||
--install-gapps)
|
|
||||||
HAS_GAPPS=true
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
--root-sol)
|
--root-sol)
|
||||||
ROOT_SOL="$2"
|
ROOT_SOL="$2"
|
||||||
shift 2
|
shift 2
|
||||||
;;
|
;;
|
||||||
--compress-format)
|
|
||||||
COMPRESS_FORMAT="$2"
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
--compress)
|
|
||||||
COMPRESS_OUTPUT="yes"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
--offline)
|
|
||||||
OFFLINE="on"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
--magisk-custom)
|
|
||||||
CUSTOM_MAGISK=true
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
--magisk-ver)
|
--magisk-ver)
|
||||||
MAGISK_VER="$2"
|
MAGISK_VER="$2"
|
||||||
shift 2
|
shift 2
|
||||||
;;
|
;;
|
||||||
--debug)
|
--magisk-custom)
|
||||||
DEBUG="on"
|
CUSTOM_MAGISK=true
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
--install-gapps)
|
||||||
|
HAS_GAPPS=true
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
--offline)
|
||||||
|
OFFLINE=true
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
--skip-download-wsa)
|
--skip-download-wsa)
|
||||||
|
@ -265,6 +253,10 @@ while [[ $# -gt 0 ]]; do
|
||||||
usage
|
usage
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
|
--debug)
|
||||||
|
DEBUG=true
|
||||||
|
shift
|
||||||
|
;;
|
||||||
--)
|
--)
|
||||||
shift
|
shift
|
||||||
break
|
break
|
||||||
|
@ -309,9 +301,7 @@ fi
|
||||||
declare -A RELEASE_NAME_MAP=(["retail"]="Retail" ["RP"]="Release Preview" ["WIS"]="Insider Slow" ["WIF"]="Insider Fast")
|
declare -A RELEASE_NAME_MAP=(["retail"]="Retail" ["RP"]="Release Preview" ["WIS"]="Insider Slow" ["WIF"]="Insider Fast")
|
||||||
declare -A ANDROID_API_MAP=(["30"]="11.0" ["32"]="12.1" ["33"]="13.0")
|
declare -A ANDROID_API_MAP=(["30"]="11.0" ["32"]="12.1" ["33"]="13.0")
|
||||||
RELEASE_NAME=${RELEASE_NAME_MAP[$RELEASE_TYPE]} || abort
|
RELEASE_NAME=${RELEASE_NAME_MAP[$RELEASE_TYPE]} || abort
|
||||||
|
echo -e "INFO: Release Name: $RELEASE_NAME\n"
|
||||||
echo -e "Build: RELEASE_TYPE=$RELEASE_NAME"
|
|
||||||
|
|
||||||
WSA_ZIP_PATH=$DOWNLOAD_DIR/wsa-$RELEASE_TYPE.zip
|
WSA_ZIP_PATH=$DOWNLOAD_DIR/wsa-$RELEASE_TYPE.zip
|
||||||
vclibs_PATH="$DOWNLOAD_DIR/Microsoft.VCLibs.140.00_$ARCH.appx"
|
vclibs_PATH="$DOWNLOAD_DIR/Microsoft.VCLibs.140.00_$ARCH.appx"
|
||||||
UWPVCLibs_PATH="$DOWNLOAD_DIR/Microsoft.VCLibs.140.00.UWPDesktop_$ARCH.appx"
|
UWPVCLibs_PATH="$DOWNLOAD_DIR/Microsoft.VCLibs.140.00.UWPDesktop_$ARCH.appx"
|
||||||
|
@ -322,7 +312,7 @@ if [ "$CUSTOM_MAGISK" ]; then
|
||||||
if [ ! -f "$MAGISK_PATH" ]; then
|
if [ ! -f "$MAGISK_PATH" ]; then
|
||||||
echo "Custom Magisk $MAGISK_ZIP not found"
|
echo "Custom Magisk $MAGISK_ZIP not found"
|
||||||
MAGISK_ZIP=app-$MAGISK_VER.apk
|
MAGISK_ZIP=app-$MAGISK_VER.apk
|
||||||
echo "Fallback to $MAGISK_ZIP"
|
echo -e "Fallback to $MAGISK_ZIP\n"
|
||||||
MAGISK_PATH=$DOWNLOAD_DIR/$MAGISK_ZIP
|
MAGISK_PATH=$DOWNLOAD_DIR/$MAGISK_ZIP
|
||||||
if [ ! -f "$MAGISK_PATH" ]; then
|
if [ ! -f "$MAGISK_PATH" ]; then
|
||||||
abort "Custom Magisk $MAGISK_ZIP not found\nPlease put custom Magisk in $DOWNLOAD_DIR"
|
abort "Custom Magisk $MAGISK_ZIP not found\nPlease put custom Magisk in $DOWNLOAD_DIR"
|
||||||
|
@ -388,7 +378,7 @@ if [ -f "$WSA_ZIP_PATH" ]; then
|
||||||
CLEAN_DOWNLOAD_WSA=1
|
CLEAN_DOWNLOAD_WSA=1
|
||||||
abort "Unzip WSA failed, is the download incomplete?"
|
abort "Unzip WSA failed, is the download incomplete?"
|
||||||
fi
|
fi
|
||||||
echo -e "Extract done\n"
|
echo -e "done\n"
|
||||||
# shellcheck disable=SC1090
|
# shellcheck disable=SC1090
|
||||||
source "$WSA_WORK_ENV" || abort
|
source "$WSA_WORK_ENV" || abort
|
||||||
else
|
else
|
||||||
|
@ -494,7 +484,6 @@ if [ "$HAS_GAPPS" ] || [ "$ROOT_SOL" = "magisk" ]; then
|
||||||
"add 0750 overlay.d/sbin/post-fs-data.sh post-fs-data.sh" \
|
"add 0750 overlay.d/sbin/post-fs-data.sh post-fs-data.sh" \
|
||||||
"add 000 overlay.d/init.lsp.se.rc init.lsp.se.rc" \
|
"add 000 overlay.d/init.lsp.se.rc init.lsp.se.rc" \
|
||||||
|| abort "Unable to patch initrd"
|
|| abort "Unable to patch initrd"
|
||||||
echo -e "Integrate Magisk done\n"
|
|
||||||
elif [ "$ROOT_SOL" = "kernelsu" ]; then
|
elif [ "$ROOT_SOL" = "kernelsu" ]; then
|
||||||
echo "Extracting KernelSU"
|
echo "Extracting KernelSU"
|
||||||
# shellcheck disable=SC1090
|
# shellcheck disable=SC1090
|
||||||
|
@ -513,9 +502,8 @@ elif [ "$ROOT_SOL" = "kernelsu" ]; then
|
||||||
echo "Integrate KernelSU"
|
echo "Integrate KernelSU"
|
||||||
mv "$WORK_DIR/wsa/$ARCH/Tools/kernel" "$WORK_DIR/wsa/$ARCH/Tools/kernel_origin"
|
mv "$WORK_DIR/wsa/$ARCH/Tools/kernel" "$WORK_DIR/wsa/$ARCH/Tools/kernel_origin"
|
||||||
cp "$WORK_DIR/kernelsu/kernel" "$WORK_DIR/wsa/$ARCH/Tools/kernel"
|
cp "$WORK_DIR/kernelsu/kernel" "$WORK_DIR/wsa/$ARCH/Tools/kernel"
|
||||||
echo -e "done\n"
|
|
||||||
fi
|
fi
|
||||||
|
echo -e "done\n"
|
||||||
if [ "$HAS_GAPPS" ]; then
|
if [ "$HAS_GAPPS" ]; then
|
||||||
update_gapps_file_name
|
update_gapps_file_name
|
||||||
if [ -f "$GAPPS_PATH" ]; then
|
if [ -f "$GAPPS_PATH" ]; then
|
||||||
|
@ -541,9 +529,8 @@ cp ../installer/MakePri.ps1 "$WORK_DIR/wsa/$ARCH" || abort
|
||||||
cp ../installer/Install.ps1 "$WORK_DIR/wsa/$ARCH" || abort
|
cp ../installer/Install.ps1 "$WORK_DIR/wsa/$ARCH" || abort
|
||||||
cp ../installer/Run.bat "$WORK_DIR/wsa/$ARCH" || abort
|
cp ../installer/Run.bat "$WORK_DIR/wsa/$ARCH" || abort
|
||||||
find "$WORK_DIR/wsa/$ARCH" -maxdepth 1 -mindepth 1 -printf "%P\n" >"$WORK_DIR/wsa/$ARCH/filelist.txt" || abort
|
find "$WORK_DIR/wsa/$ARCH" -maxdepth 1 -mindepth 1 -printf "%P\n" >"$WORK_DIR/wsa/$ARCH/filelist.txt" || abort
|
||||||
echo -e "Remove signature and add scripts done\n"
|
echo -e "done\n"
|
||||||
|
|
||||||
echo "Generating info"
|
|
||||||
if [[ "$ROOT_SOL" = "none" ]]; then
|
if [[ "$ROOT_SOL" = "none" ]]; then
|
||||||
name1=""
|
name1=""
|
||||||
elif [ "$ROOT_SOL" = "magisk" ]; then
|
elif [ "$ROOT_SOL" = "magisk" ]; then
|
||||||
|
@ -558,8 +545,6 @@ else
|
||||||
fi
|
fi
|
||||||
artifact_name=WSA_${WSA_VER}_${ARCH}_${WSA_REL}${name1}${name2}
|
artifact_name=WSA_${WSA_VER}_${ARCH}_${WSA_REL}${name1}${name2}
|
||||||
|
|
||||||
echo "$artifact_name"
|
|
||||||
echo -e "\nFinishing building...."
|
|
||||||
if [ -f "$OUTPUT_DIR" ]; then
|
if [ -f "$OUTPUT_DIR" ]; then
|
||||||
rm -rf ${OUTPUT_DIR:?}
|
rm -rf ${OUTPUT_DIR:?}
|
||||||
fi
|
fi
|
||||||
|
@ -567,25 +552,22 @@ if [ ! -d "$OUTPUT_DIR" ]; then
|
||||||
mkdir -p "$OUTPUT_DIR"
|
mkdir -p "$OUTPUT_DIR"
|
||||||
fi
|
fi
|
||||||
OUTPUT_PATH="${OUTPUT_DIR:?}/$artifact_name"
|
OUTPUT_PATH="${OUTPUT_DIR:?}/$artifact_name"
|
||||||
if [ "$COMPRESS_OUTPUT" ] || [ -n "$COMPRESS_FORMAT" ]; then
|
if [ "$COMPRESS_FORMAT" != "none" ]; then
|
||||||
mv "$WORK_DIR/wsa/$ARCH" "$WORK_DIR/wsa/$artifact_name"
|
mv "$WORK_DIR/wsa/$ARCH" "$WORK_DIR/wsa/$artifact_name"
|
||||||
if [ -z "$COMPRESS_FORMAT" ]; then
|
|
||||||
COMPRESS_FORMAT="7z"
|
|
||||||
fi
|
|
||||||
if [ -n "$COMPRESS_FORMAT" ]; then
|
if [ -n "$COMPRESS_FORMAT" ]; then
|
||||||
FILE_EXT=".$COMPRESS_FORMAT"
|
FILE_EXT=".$COMPRESS_FORMAT"
|
||||||
OUTPUT_PATH="$OUTPUT_PATH$FILE_EXT"
|
OUTPUT_PATH="$OUTPUT_PATH$FILE_EXT"
|
||||||
fi
|
fi
|
||||||
rm -f "${OUTPUT_PATH:?}" || abort
|
rm -f "${OUTPUT_PATH:?}" || abort
|
||||||
if [ "$COMPRESS_FORMAT" = "7z" ]; then
|
if [ "$COMPRESS_FORMAT" = "7z" ]; then
|
||||||
echo "Compressing with 7z"
|
echo "Compressing with 7z to $OUTPUT_PATH"
|
||||||
7z a "${OUTPUT_PATH:?}" "$WORK_DIR/wsa/$artifact_name" || abort
|
7z a "${OUTPUT_PATH:?}" "$WORK_DIR/wsa/$artifact_name" || abort
|
||||||
elif [ "$COMPRESS_FORMAT" = "zip" ]; then
|
elif [ "$COMPRESS_FORMAT" = "zip" ]; then
|
||||||
echo "Compressing with zip"
|
echo "Compressing with zip to $OUTPUT_PATH"
|
||||||
7z -tzip a "$OUTPUT_PATH" "$WORK_DIR/wsa/$artifact_name" || abort
|
7z -tzip a "$OUTPUT_PATH" "$WORK_DIR/wsa/$artifact_name" || abort
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
rm -rf "${OUTPUT_PATH:?}" || abort
|
rm -rf "${OUTPUT_PATH:?}" || abort
|
||||||
|
echo "Copying to $OUTPUT_PATH"
|
||||||
cp -r "$WORK_DIR/wsa/$ARCH" "$OUTPUT_PATH" || abort
|
cp -r "$WORK_DIR/wsa/$ARCH" "$OUTPUT_PATH" || abort
|
||||||
fi
|
fi
|
||||||
echo "done"
|
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
|
|
||||||
on post-fs
|
on post-fs
|
||||||
mkdir /mnt/cust 0775 system system
|
mkdir /mnt/cust 0775 system system
|
||||||
mount erofs loop@${MAGISKTMP}/cust.img /mnt/cust ro,seclabel
|
mount erofs loop@${MAGISKTMP}/cust.img /mnt/cust ro,seclabel
|
||||||
wait /system
|
wait /system_ext
|
||||||
mount overlay overlay /system_ext lowerdir=/mnt/cust/system_ext:/system_ext,seclabel
|
mount overlay overlay /system_ext lowerdir=/mnt/cust/system_ext:/system_ext,seclabel
|
||||||
|
wait /product
|
||||||
mount overlay overlay /product lowerdir=/mnt/cust/product:/product,seclabel
|
mount overlay overlay /product lowerdir=/mnt/cust/product:/product,seclabel
|
||||||
|
wait /vendor
|
||||||
|
mount overlay overlay /vendor lowerdir=/mnt/cust/vendor:/vendor,seclabel
|
||||||
|
wait /system
|
||||||
mount overlay overlay /system/priv-app lowerdir=/mnt/cust/system/priv-app:/system/priv-app,seclabel
|
mount overlay overlay /system/priv-app lowerdir=/mnt/cust/system/priv-app:/system/priv-app,seclabel
|
||||||
|
|
|
@ -2,8 +2,6 @@ allow gmscore_app gmscore_app vsock_socket { create connect write read }
|
||||||
allow gmscore_app device_config_runtime_native_boot_prop file read
|
allow gmscore_app device_config_runtime_native_boot_prop file read
|
||||||
allow gmscore_app system_server_tmpfs dir search
|
allow gmscore_app system_server_tmpfs dir search
|
||||||
allow gmscore_app system_server_tmpfs file open
|
allow gmscore_app system_server_tmpfs file open
|
||||||
allow gmscore_app system_server_tmpfs filesystem getattr
|
allow gmscore_app { system_server_tmpfs media_rw_data_file } filesystem getattr
|
||||||
allow gmscore_app media_rw_data_file filesystem getattr
|
allow { platform_app system_app } default_android_service service_manager { find add }
|
||||||
allow platform_app default_android_service service_manager { find add }
|
|
||||||
allow system_app default_android_service service_manager { find add }
|
|
||||||
allow system_server default_android_service service_manager add
|
allow system_server default_android_service service_manager add
|
||||||
|
|
Loading…
Add table
Reference in a new issue