Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
M
Magisk
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Magisk
Commits
cf47214e
Commit
cf47214e
authored
Oct 28, 2020
by
topjohnwu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Require Magisk v20.4 for modules
It has been long enough
parent
0feab753
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
3 additions
and
166 deletions
+3
-166
module_installer.sh
scripts/module_installer.sh
+3
-166
No files found.
scripts/module_installer.sh
View file @
cf47214e
...
...
@@ -11,7 +11,7 @@ ui_print() { echo "$1"; }
require_new_magisk
()
{
ui_print
"*******************************"
ui_print
" Please install Magisk v20.
0
+! "
ui_print
" Please install Magisk v20.
4
+! "
ui_print
"*******************************"
exit
1
}
...
...
@@ -27,170 +27,7 @@ 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
20
0
00
]
&&
require_new_magisk
[
$MAGISK_VER_CODE
-lt
20
4
00
]
&&
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
()
{
unzip
-l
"
$ZIPFILE
"
install.sh |
grep
-q
install.sh
return
$?
}
print_modname
()
{
local
authlen len namelen pounds
namelen
=
`
echo
-n
$MODNAME
|
wc
-c
`
authlen
=
$((
`
echo
-n
$MODAUTH
|
wc
-c
`
+
3
))
[
$namelen
-gt
$authlen
]
&&
len
=
$namelen
||
len
=
$authlen
len
=
$((
len
+
2
))
pounds
=
$(
printf
"%
${
len
}
s"
|
tr
' '
'*'
)
ui_print
"
$pounds
"
ui_print
"
$MODNAME
"
ui_print
" by
$MODAUTH
"
ui_print
"
$pounds
"
ui_print
"*******************"
ui_print
" Powered by Magisk "
ui_print
"*******************"
}
# Override abort as old scripts have some issues
abort
()
{
ui_print
"
$1
"
$BOOTMODE
||
recovery_cleanup
[
-n
$MODPATH
]
&&
rm
-rf
$MODPATH
rm
-rf
$TMPDIR
exit
1
}
rm
-rf
$TMPDIR
2>/dev/null
mkdir
-p
$TMPDIR
# Preperation for flashable zips
setup_flashable
# Mount partitions
mount_partitions
# Detect version and architecture
api_level_arch_detect
# Setup busybox and binaries
$BOOTMODE
&&
boot_actions
||
recovery_actions
##############
# Preparation
##############
# Extract prop file
unzip
-o
"
$ZIPFILE
"
module.prop
-d
$TMPDIR
>
&2
[
!
-f
$TMPDIR
/module.prop
]
&&
abort
"! Unable to extract zip file!"
$BOOTMODE
&&
MODDIRNAME
=
modules_update
||
MODDIRNAME
=
modules
MODULEROOT
=
$NVBASE
/
$MODDIRNAME
MODID
=
`
grep_prop
id
$TMPDIR
/module.prop
`
MODNAME
=
`
grep_prop name
$TMPDIR
/module.prop
`
MODAUTH
=
`
grep_prop author
$TMPDIR
/module.prop
`
MODPATH
=
$MODULEROOT
/
$MODID
# Create mod paths
rm
-rf
$MODPATH
2>/dev/null
mkdir
-p
$MODPATH
##########
# Install
##########
if
is_legacy_script
;
then
unzip
-oj
"
$ZIPFILE
"
module.prop install.sh uninstall.sh
'common/*'
-d
$TMPDIR
>
&2
# Load install script
.
$TMPDIR
/install.sh
# Callbacks
print_modname
on_install
# Custom uninstaller
[
-f
$TMPDIR
/uninstall.sh
]
&&
cp
-af
$TMPDIR
/uninstall.sh
$MODPATH
/uninstall.sh
# Skip mount
$SKIPMOUNT
&&
touch
$MODPATH
/skip_mount
# prop file
$PROPFILE
&&
cp
-af
$TMPDIR
/system.prop
$MODPATH
/system.prop
# Module info
cp
-af
$TMPDIR
/module.prop
$MODPATH
/module.prop
# post-fs-data scripts
$POSTFSDATA
&&
cp
-af
$TMPDIR
/post-fs-data.sh
$MODPATH
/post-fs-data.sh
# service scripts
$LATESTARTSERVICE
&&
cp
-af
$TMPDIR
/service.sh
$MODPATH
/service.sh
ui_print
"- Setting permissions"
set_permissions
else
print_modname
unzip
-o
"
$ZIPFILE
"
customize.sh
-d
$MODPATH
>
&2
if
!
grep
-q
'^SKIPUNZIP=1$'
$MODPATH
/customize.sh 2>/dev/null
;
then
ui_print
"- Extracting module files"
unzip
-o
"
$ZIPFILE
"
-x
'META-INF/*'
-d
$MODPATH
>
&2
# Default permissions
set_perm_recursive
$MODPATH
0 0 0755 0644
fi
# Load customization script
[
-f
$MODPATH
/customize.sh
]
&&
.
$MODPATH
/customize.sh
fi
# Handle replace folders
for
TARGET
in
$REPLACE
;
do
ui_print
"- Replace target:
$TARGET
"
mktouch
$MODPATH$TARGET
/.replace
done
if
$BOOTMODE
;
then
# Update info for Magisk Manager
mktouch
$NVBASE
/modules/
$MODID
/update
cp
-af
$MODPATH
/module.prop
$NVBASE
/modules/
$MODID
/module.prop
fi
# Copy over custom sepolicy rules
if
[
-f
$MODPATH
/sepolicy.rule
-a
-e
$PERSISTDIR
]
;
then
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
mkdir
-p
$PERSISTMOD
cp
-af
$MODPATH
/sepolicy.rule
$PERSISTMOD
/sepolicy.rule
||
abort
"! Insufficient partition size"
fi
# Remove stuffs that don't belong to modules
rm
-rf
\
$MODPATH
/system/placeholder
$MODPATH
/customize.sh
\
$MODPATH
/README.md
$MODPATH
/.git
*
2>/dev/null
#############
# Finalizing
#############
cd
/
$BOOTMODE
||
recovery_cleanup
rm
-rf
$TMPDIR
ui_print
"- Done"
install_module
exit
0
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment