quindecim 2020-05-23 04:45:56 -04:00
parent aab310a596
commit afef73a04a
1 changed files with 50 additions and 27 deletions

View File

@ -6,54 +6,74 @@
umask 022 umask 022
# Global vars
TMPDIR=/dev/tmp
PERSISTDIR=/sbin/.magisk/mirror/persist
rm -rf $TMPDIR 2>/dev/null
mkdir -p $TMPDIR
# echo before loading util_functions # echo before loading util_functions
ui_print() { echo "$1"; } ui_print() { echo "$1"; }
require_new_magisk() { require_new_magisk() {
ui_print "*******************************" ui_print "*******************************"
ui_print " Please install Magisk v19.0+! " ui_print " Please install Magisk v20.0+! "
ui_print "*******************************" ui_print "*******************************"
exit 1 exit 1
} }
#########################
# Load util_functions.sh
#########################
OUTFD=$2
ZIPFILE=$3
mount /data 2>/dev/null
[ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk
. /data/adb/magisk/util_functions.sh
[ $MAGISK_VER_CODE -lt 20000 ] && require_new_magisk
if [ $MAGISK_VER_CODE -ge 20400 ]; then
# New Magisk have complete installation logic within util_functions.sh
install_module
exit 0
fi
#################
# Legacy Support
#################
TMPDIR=/dev/tmp
PERSISTDIR=/sbin/.magisk/mirror/persist
is_legacy_script() { is_legacy_script() {
unzip -l "$ZIPFILE" install.sh | grep -q install.sh unzip -l "$ZIPFILE" install.sh | grep -q install.sh
return $? return $?
} }
print_modname() { print_modname() {
local len local authlen len namelen pounds
len=`echo -n $MODNAME | wc -c` namelen=`echo -n $MODNAME | wc -c`
authlen=$((`echo -n $MODAUTH | wc -c` + 3))
[ $namelen -gt $authlen ] && len=$namelen || len=$authlen
len=$((len + 2)) len=$((len + 2))
local pounds=`printf "%${len}s" | tr ' ' '*'` pounds=$(printf "%${len}s" | tr ' ' '*')
ui_print "$pounds" ui_print "$pounds"
ui_print " $MODNAME " ui_print " $MODNAME "
ui_print " by $MODAUTH "
ui_print "$pounds" ui_print "$pounds"
ui_print "*******************" ui_print "*******************"
ui_print " Powered by Magisk " ui_print " Powered by Magisk "
ui_print "*******************" ui_print "*******************"
} }
############## # Override abort as old scripts have some issues
# Environment abort() {
############## ui_print "$1"
$BOOTMODE || recovery_cleanup
[ -n $MODPATH ] && rm -rf $MODPATH
rm -rf $TMPDIR
exit 1
}
OUTFD=$2 rm -rf $TMPDIR 2>/dev/null
ZIPFILE=$3 mkdir -p $TMPDIR
mount /data 2>/dev/null
# Load utility functions
[ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk
. /data/adb/magisk/util_functions.sh
[ $MAGISK_VER_CODE -gt 18100 ] || require_new_magisk
# Preperation for flashable zips # Preperation for flashable zips
setup_flashable setup_flashable
@ -78,8 +98,9 @@ unzip -o "$ZIPFILE" module.prop -d $TMPDIR >&2
$BOOTMODE && MODDIRNAME=modules_update || MODDIRNAME=modules $BOOTMODE && MODDIRNAME=modules_update || MODDIRNAME=modules
MODULEROOT=$NVBASE/$MODDIRNAME MODULEROOT=$NVBASE/$MODDIRNAME
MODID=`grep_prop id $TMPDIR/module.prop` MODID=`grep_prop id $TMPDIR/module.prop`
MODPATH=$MODULEROOT/$MODID
MODNAME=`grep_prop name $TMPDIR/module.prop` MODNAME=`grep_prop name $TMPDIR/module.prop`
MODAUTH=`grep_prop author $TMPDIR/module.prop`
MODPATH=$MODULEROOT/$MODID
# Create mod paths # Create mod paths
rm -rf $MODPATH 2>/dev/null rm -rf $MODPATH 2>/dev/null
@ -151,9 +172,11 @@ fi
# Copy over custom sepolicy rules # Copy over custom sepolicy rules
if [ -f $MODPATH/sepolicy.rule -a -e $PERSISTDIR ]; then if [ -f $MODPATH/sepolicy.rule -a -e $PERSISTDIR ]; then
ui_print "- Installing custom sepolicy patch" ui_print "- Installing custom sepolicy patch"
# Remove old recovery logs (which may be filling partition) to make room
rm -f $PERSISTDIR/cache/recovery/*
PERSISTMOD=$PERSISTDIR/magisk/$MODID PERSISTMOD=$PERSISTDIR/magisk/$MODID
mkdir -p $PERSISTMOD mkdir -p $PERSISTMOD
cp -af $MODPATH/sepolicy.rule $PERSISTMOD/sepolicy.rule cp -af $MODPATH/sepolicy.rule $PERSISTMOD/sepolicy.rule || abort "! Insufficient partition size"
fi fi
# Remove stuffs that don't belong to modules # Remove stuffs that don't belong to modules
@ -161,9 +184,9 @@ rm -rf \
$MODPATH/system/placeholder $MODPATH/customize.sh \ $MODPATH/system/placeholder $MODPATH/customize.sh \
$MODPATH/README.md $MODPATH/.git* 2>/dev/null $MODPATH/README.md $MODPATH/.git* 2>/dev/null
############## #############
# Finalizing # Finalizing
############## #############
cd / cd /
$BOOTMODE || recovery_cleanup $BOOTMODE || recovery_cleanup