mirror of
https://github.com/MustardChef/WSABuilds.git
synced 2024-11-14 15:45:06 +01:00
Download GApps by Android version (#280)
This commit is contained in:
parent
78a408de0c
commit
c9e4374c2f
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -1,3 +1,4 @@
|
|||||||
|
*.py text eol=lf
|
||||||
*.sh text eol=lf
|
*.sh text eol=lf
|
||||||
*.exe binary
|
*.exe binary
|
||||||
*.apk binary
|
*.apk binary
|
||||||
|
@ -42,6 +42,10 @@ SUDO="$(which sudo 2>/dev/null)"
|
|||||||
if [ -z "$SUDO" ]; then
|
if [ -z "$SUDO" ]; then
|
||||||
unset SUDO
|
unset SUDO
|
||||||
fi
|
fi
|
||||||
|
WSA_WORK_ENV="${WORK_DIR:?}"/ENV
|
||||||
|
if [ -f "$WSA_WORK_ENV" ]; then rm -f "${WSA_WORK_ENV:?}"; fi
|
||||||
|
touch "$WSA_WORK_ENV"
|
||||||
|
export WSA_WORK_ENV
|
||||||
umount_clean() {
|
umount_clean() {
|
||||||
if [ -d "$MOUNT_DIR" ]; then
|
if [ -d "$MOUNT_DIR" ]; then
|
||||||
echo "Cleanup Work Directory"
|
echo "Cleanup Work Directory"
|
||||||
@ -88,7 +92,7 @@ abort() {
|
|||||||
}
|
}
|
||||||
trap abort INT TERM
|
trap abort INT TERM
|
||||||
|
|
||||||
function Gen_Rand_Str {
|
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
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -324,6 +328,7 @@ require_su() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
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")
|
||||||
RELEASE_NAME=${RELEASE_NAME_MAP[$RELEASE_TYPE]} || abort
|
RELEASE_NAME=${RELEASE_NAME_MAP[$RELEASE_TYPE]} || abort
|
||||||
|
|
||||||
echo -e "Build: RELEASE_TYPE=$RELEASE_NAME"
|
echo -e "Build: RELEASE_TYPE=$RELEASE_NAME"
|
||||||
@ -345,22 +350,33 @@ if [ "$CUSTOM_MAGISK" ]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [ "$GAPPS_BRAND" = "OpenGApps" ]; then
|
ANDROID_API=32
|
||||||
GAPPS_PATH="$DOWNLOAD_DIR"/OpenGApps-$ARCH-$GAPPS_VARIANT.zip
|
update_gapps_zip_name() {
|
||||||
else
|
if [ "$GAPPS_BRAND" = "OpenGApps" ]; then
|
||||||
GAPPS_PATH="$DOWNLOAD_DIR"/MindTheGapps-"$ARCH".zip
|
ANDROID_API=30
|
||||||
fi
|
GAPPS_ZIP_NAME="$GAPPS_BRAND-$ARCH-${ANDROID_API_MAP[$ANDROID_API]}-$GAPPS_VARIANT".zip
|
||||||
|
else
|
||||||
|
GAPPS_ZIP_NAME="$GAPPS_BRAND-$ARCH-${ANDROID_API_MAP[$ANDROID_API]}".zip
|
||||||
|
fi
|
||||||
|
GAPPS_PATH=$DOWNLOAD_DIR/$GAPPS_ZIP_NAME
|
||||||
|
}
|
||||||
|
update_gapps_zip_name
|
||||||
if [ -z "${OFFLINE+x}" ]; then
|
if [ -z "${OFFLINE+x}" ]; then
|
||||||
trap 'rm -f -- "${DOWNLOAD_DIR:?}/${DOWNLOAD_CONF_NAME}"' EXIT
|
trap 'rm -f -- "${DOWNLOAD_DIR:?}/${DOWNLOAD_CONF_NAME}"' EXIT
|
||||||
require_su
|
require_su
|
||||||
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
|
||||||
|
# shellcheck disable=SC1091
|
||||||
|
source "${WORK_DIR:?}/ENV" || abort
|
||||||
|
if [[ "$DOWN_WSA_MAIN_VERSION" -ge 2211 ]]; then
|
||||||
|
ANDROID_API=33
|
||||||
|
update_gapps_zip_name
|
||||||
|
fi
|
||||||
if [ -z "${CUSTOM_MAGISK+x}" ]; 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_BRAND" != "none" ]; then
|
if [ "$GAPPS_BRAND" != "none" ]; then
|
||||||
python3 generateGappsLink.py "$ARCH" "$GAPPS_BRAND" "$GAPPS_VARIANT" "$DOWNLOAD_DIR" "$DOWNLOAD_CONF_NAME" || abort
|
python3 generateGappsLink.py "$ARCH" "$GAPPS_BRAND" "$GAPPS_VARIANT" "$DOWNLOAD_DIR" "$DOWNLOAD_CONF_NAME" "$ANDROID_API" "$GAPPS_ZIP_NAME" || abort
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Download Artifacts"
|
echo "Download Artifacts"
|
||||||
@ -391,10 +407,6 @@ fi
|
|||||||
|
|
||||||
echo "Extract WSA"
|
echo "Extract WSA"
|
||||||
if [ -f "$WSA_ZIP_PATH" ]; then
|
if [ -f "$WSA_ZIP_PATH" ]; then
|
||||||
WSA_WORK_ENV="${WORK_DIR:?}"/ENV
|
|
||||||
if [ -f "$WSA_WORK_ENV" ]; then rm -f "${WSA_WORK_ENV:?}"; fi
|
|
||||||
touch "$WSA_WORK_ENV"
|
|
||||||
export WSA_WORK_ENV
|
|
||||||
if ! python3 extractWSA.py "$ARCH" "$WSA_ZIP_PATH" "$WORK_DIR"; then
|
if ! python3 extractWSA.py "$ARCH" "$WSA_ZIP_PATH" "$WORK_DIR"; then
|
||||||
echo "Unzip WSA failed, is the download incomplete?"
|
echo "Unzip WSA failed, is the download incomplete?"
|
||||||
CLEAN_DOWNLOAD_WSA=1
|
CLEAN_DOWNLOAD_WSA=1
|
||||||
@ -403,6 +415,10 @@ if [ -f "$WSA_ZIP_PATH" ]; then
|
|||||||
echo -e "Extract done\n"
|
echo -e "Extract done\n"
|
||||||
# shellcheck disable=SC1091
|
# shellcheck disable=SC1091
|
||||||
source "${WORK_DIR:?}/ENV" || abort
|
source "${WORK_DIR:?}/ENV" || abort
|
||||||
|
if [[ "$WSA_MAIN_VER" -ge 2211 ]]; then
|
||||||
|
ANDROID_API=33
|
||||||
|
update_gapps_zip_name
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo "The WSA zip package does not exist, is the download incomplete?"
|
echo "The WSA zip package does not exist, is the download incomplete?"
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python3
|
||||||
#
|
#
|
||||||
# This file is part of MagiskOnWSALocal.
|
# This file is part of MagiskOnWSALocal.
|
||||||
#
|
#
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python3
|
||||||
#
|
#
|
||||||
# This file is part of MagiskOnWSALocal.
|
# This file is part of MagiskOnWSALocal.
|
||||||
#
|
#
|
||||||
@ -47,14 +47,12 @@ with zipfile.ZipFile(wsa_zip_path) as zip:
|
|||||||
long_ver = ver_no[1]
|
long_ver = ver_no[1]
|
||||||
ver = long_ver.split(".")
|
ver = long_ver.split(".")
|
||||||
main_ver = ver[0]
|
main_ver = ver[0]
|
||||||
with open(os.environ['WSA_WORK_ENV'], 'a') as g:
|
|
||||||
g.write(f'WSA_VER={long_ver}\n')
|
|
||||||
with open(os.environ['WSA_WORK_ENV'], 'a') as g:
|
|
||||||
g.write(f'WSA_MAIN_VER={main_ver}\n')
|
|
||||||
rel = ver_no[3].split(".")
|
rel = ver_no[3].split(".")
|
||||||
rell = str(rel[0])
|
rel_long = str(rel[0])
|
||||||
with open(os.environ['WSA_WORK_ENV'], 'a') as g:
|
with open(os.environ['WSA_WORK_ENV'], 'a') as environ_file:
|
||||||
g.write(f'WSA_REL={rell}\n')
|
environ_file.write(f'WSA_VER={long_ver}\n')
|
||||||
|
environ_file.write(f'WSA_MAIN_VER={main_ver}\n')
|
||||||
|
environ_file.write(f'WSA_REL={rel_long}\n')
|
||||||
if 'language' in f.filename.lower() or 'scale' in f.filename.lower():
|
if 'language' in f.filename.lower() or 'scale' in f.filename.lower():
|
||||||
name = f.filename.split("-", 1)[1].split(".")[0]
|
name = f.filename.split("-", 1)[1].split(".")[0]
|
||||||
zip.extract(f, workdir)
|
zip.extract(f, workdir)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python3
|
||||||
#
|
#
|
||||||
# This file is part of MagiskOnWSALocal.
|
# This file is part of MagiskOnWSALocal.
|
||||||
#
|
#
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python3
|
||||||
#
|
#
|
||||||
# This file is part of MagiskOnWSALocal.
|
# This file is part of MagiskOnWSALocal.
|
||||||
#
|
#
|
||||||
@ -31,13 +31,13 @@ variant = sys.argv[3]
|
|||||||
download_dir = Path.cwd().parent / \
|
download_dir = Path.cwd().parent / \
|
||||||
"download" if sys.argv[4] == "" else Path(sys.argv[4]).resolve()
|
"download" if sys.argv[4] == "" else Path(sys.argv[4]).resolve()
|
||||||
tempScript = sys.argv[5]
|
tempScript = sys.argv[5]
|
||||||
|
android_api = sys.argv[6]
|
||||||
|
file_name = sys.argv[7]
|
||||||
print(
|
print(
|
||||||
f"Generating {brand} download link: arch={arch} variant={variant}", flush=True)
|
f"Generating {brand} download link: arch={arch} variant={variant}", flush=True)
|
||||||
abi_map = {"x64": "x86_64", "arm64": "arm64"}
|
abi_map = {"x64": "x86_64", "arm64": "arm64"}
|
||||||
# TODO: keep it 11.0 since opengapps does not support 12+ yet
|
android_api_map = {"30": "11.0", "32": "12.1", "33": "13.0"}
|
||||||
# As soon as opengapps is available for 12+, we need to get the sdk/release from build.prop and
|
release = [android_api_map[android_api]]
|
||||||
# download the corresponding version
|
|
||||||
release = "11.0"
|
|
||||||
if brand == "OpenGApps":
|
if brand == "OpenGApps":
|
||||||
try:
|
try:
|
||||||
res = requests.get(f"https://api.opengapps.org/list")
|
res = requests.get(f"https://api.opengapps.org/list")
|
||||||
@ -55,7 +55,7 @@ if brand == "OpenGApps":
|
|||||||
elif brand == "MindTheGapps":
|
elif brand == "MindTheGapps":
|
||||||
res = requests.get(
|
res = requests.get(
|
||||||
f'https://sourceforge.net/projects/wsa-mtg/rss?path=/{abi_map[arch]}&limit=100')
|
f'https://sourceforge.net/projects/wsa-mtg/rss?path=/{abi_map[arch]}&limit=100')
|
||||||
link = re.search(f'https://.*{abi_map[arch]}/.*\.zip/download', res.text).group().replace(
|
link = re.search(f'https://.*{release}.*{abi_map[arch]}/.*\.zip/download', res.text).group().replace(
|
||||||
'.zip/download', '.zip').replace('sourceforge.net/projects/wsa-mtg/files', 'downloads.sourceforge.net/project/wsa-mtg')
|
'.zip/download', '.zip').replace('sourceforge.net/projects/wsa-mtg/files', 'downloads.sourceforge.net/project/wsa-mtg')
|
||||||
|
|
||||||
print(f"download link: {link}", flush=True)
|
print(f"download link: {link}", flush=True)
|
||||||
@ -63,7 +63,4 @@ print(f"download link: {link}", flush=True)
|
|||||||
with open(download_dir/tempScript, 'a') as f:
|
with open(download_dir/tempScript, 'a') as f:
|
||||||
f.writelines(f'{link}\n')
|
f.writelines(f'{link}\n')
|
||||||
f.writelines(f' dir={download_dir}\n')
|
f.writelines(f' dir={download_dir}\n')
|
||||||
if brand == "OpenGApps":
|
f.writelines(f' out={file_name}\n')
|
||||||
f.writelines(f' out={brand}-{arch}-{variant}.zip\n')
|
|
||||||
elif brand == "MindTheGapps":
|
|
||||||
f.writelines(f' out={brand}-{arch}.zip\n')
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python3
|
||||||
#
|
#
|
||||||
# This file is part of MagiskOnWSALocal.
|
# This file is part of MagiskOnWSALocal.
|
||||||
#
|
#
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python3
|
||||||
#
|
#
|
||||||
# This file is part of MagiskOnWSALocal.
|
# This file is part of MagiskOnWSALocal.
|
||||||
#
|
#
|
||||||
@ -26,6 +26,7 @@ import html
|
|||||||
import warnings
|
import warnings
|
||||||
import re
|
import re
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
import os
|
||||||
|
|
||||||
warnings.filterwarnings("ignore")
|
warnings.filterwarnings("ignore")
|
||||||
|
|
||||||
@ -91,6 +92,11 @@ for i, v, f in identities:
|
|||||||
# out_file_name = f"Microsoft.VCLibs.140.00.UWPDesktop_{arch}.appx"
|
# out_file_name = f"Microsoft.VCLibs.140.00.UWPDesktop_{arch}.appx"
|
||||||
# out_file = download_dir / out_file_name
|
# out_file = download_dir / out_file_name
|
||||||
elif re.match(f"MicrosoftCorporationII\.WindowsSubsystemForAndroid_.*\.msixbundle", f):
|
elif re.match(f"MicrosoftCorporationII\.WindowsSubsystemForAndroid_.*\.msixbundle", f):
|
||||||
|
wsa_long_ver = re.search(u'\d{4}.\d{5}.\d{1,}.\d{1,}', f).group()
|
||||||
|
main_ver = wsa_long_ver.split(".")[0]
|
||||||
|
with open(os.environ['WSA_WORK_ENV'], 'a') as environ_file:
|
||||||
|
environ_file.write(f"DOWN_WSA_VERSION={wsa_long_ver}\n")
|
||||||
|
environ_file.write(f"DOWN_WSA_MAIN_VERSION={main_ver}\n")
|
||||||
out_file_name = f"wsa-{release_type}.zip"
|
out_file_name = f"wsa-{release_type}.zip"
|
||||||
out_file = download_dir / out_file_name
|
out_file = download_dir / out_file_name
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user