Partially document global variables in scripts

This commit is contained in:
topjohnwu 2023-07-17 16:07:16 -07:00
parent c97ab690b6
commit 16d728f379
2 changed files with 28 additions and 15 deletions

View File

@ -116,8 +116,8 @@ fi
mkdir -p $MAGISKBIN 2>/dev/null mkdir -p $MAGISKBIN 2>/dev/null
unzip -oj magisk.apk 'assets/*.sh' -d $MAGISKBIN unzip -oj magisk.apk 'assets/*.sh' -d $MAGISKBIN
mkdir $NVBASE/modules 2>/dev/null mkdir $NVBASE/modules 2>/dev/null
mkdir $POSTFSDATAD 2>/dev/null mkdir $NVBASE/post-fs-data.d 2>/dev/null
mkdir $SERVICED 2>/dev/null mkdir $NVBASE/service.d 2>/dev/null
for file in magisk32 magisk64 magiskpolicy stub.apk; do for file in magisk32 magisk64 magiskpolicy stub.apk; do
chmod 755 ./$file chmod 755 ./$file

View File

@ -4,6 +4,23 @@
#MAGISK_VERSION_STUB #MAGISK_VERSION_STUB
###################
# Global Variables
###################
# True if the script is running on booted Android, not something like recovery
BOOTMODE=
# The path to store temporary files that don't need to persist
TMPDIR=
# The path to store files that can be persisted (non-volatile storage)
# Any modification to this variable should go through the function `set_nvbase`
NVBASE=
# The non-volatile path where magisk executables are stored
MAGISKBIN=
################### ###################
# Helper Functions # Helper Functions
################### ###################
@ -67,10 +84,9 @@ abort() {
exit 1 exit 1
} }
resolve_vars() { set_nvbase() {
MAGISKBIN=$NVBASE/magisk NVBASE="$1"
POSTFSDATAD=$NVBASE/post-fs-data.d MAGISKBIN="$1/magisk"
SERVICED=$NVBASE/service.d
} }
print_title() { print_title() {
@ -263,9 +279,9 @@ mount_ro_ensure() {
mount_partitions() { mount_partitions() {
# Check A/B slot # Check A/B slot
SLOT=`grep_cmdline androidboot.slot_suffix` SLOT=$(grep_cmdline androidboot.slot_suffix)
if [ -z $SLOT ]; then if [ -z $SLOT ]; then
SLOT=`grep_cmdline androidboot.slot` SLOT=$(grep_cmdline androidboot.slot)
[ -z $SLOT ] || SLOT=_${SLOT} [ -z $SLOT ] || SLOT=_${SLOT}
fi fi
[ "$SLOT" = "normal" ] && unset SLOT [ "$SLOT" = "normal" ] && unset SLOT
@ -575,10 +591,9 @@ check_data() {
$DATA && [ -d /data/adb ] && touch /data/adb/.rw && rm /data/adb/.rw && DATA_DE=true $DATA && [ -d /data/adb ] && touch /data/adb/.rw && rm /data/adb/.rw && DATA_DE=true
$DATA_DE && [ -d /data/adb/magisk ] || mkdir /data/adb/magisk || DATA_DE=false $DATA_DE && [ -d /data/adb/magisk ] || mkdir /data/adb/magisk || DATA_DE=false
fi fi
NVBASE=/data set_nvbase "/data"
$DATA || NVBASE=/cache/data_adb $DATA || set_nvbase "/cache/data_adb"
$DATA_DE && NVBASE=/data/adb $DATA_DE && set_nvbase "/data/adb"
resolve_vars
} }
find_magisk_apk() { find_magisk_apk() {
@ -813,12 +828,10 @@ install_module() {
[ -z $BOOTMODE ] && ps -A 2>/dev/null | grep zygote | grep -qv grep && BOOTMODE=true [ -z $BOOTMODE ] && ps -A 2>/dev/null | grep zygote | grep -qv grep && BOOTMODE=true
[ -z $BOOTMODE ] && BOOTMODE=false [ -z $BOOTMODE ] && BOOTMODE=false
NVBASE=/data/adb
TMPDIR=/dev/tmp TMPDIR=/dev/tmp
set_nvbase "/data/adb"
# Bootsigner related stuff # Bootsigner related stuff
BOOTSIGNERCLASS=com.topjohnwu.magisk.signing.SignBoot BOOTSIGNERCLASS=com.topjohnwu.magisk.signing.SignBoot
BOOTSIGNER='/system/bin/dalvikvm -Xnoimage-dex2oat -cp $APK $BOOTSIGNERCLASS' BOOTSIGNER='/system/bin/dalvikvm -Xnoimage-dex2oat -cp $APK $BOOTSIGNERCLASS'
BOOTSIGNED=false BOOTSIGNED=false
resolve_vars