Skip to content

Commit a8f0768

Browse files
Add files via upload
1 parent 43b8f79 commit a8f0768

File tree

2 files changed

+152
-0
lines changed

2 files changed

+152
-0
lines changed
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
#!/sbin/sh
2+
3+
TMPDIR=/dev/tmp
4+
MOUNTPATH=/dev/magisk_img
5+
6+
# Default permissions
7+
umask 022
8+
9+
# Initial cleanup
10+
rm -rf $TMPDIR 2>/dev/null
11+
mkdir -p $TMPDIR
12+
13+
# echo before loading util_functions
14+
ui_print() { echo "$1"; }
15+
16+
require_new_magisk() {
17+
ui_print "***********************************"
18+
ui_print " Please install the latest Magisk! "
19+
ui_print "***********************************"
20+
exit 1
21+
}
22+
23+
imageless_magisk() {
24+
[ $MAGISK_VER_CODE -gt 18100 ]
25+
return $?
26+
}
27+
28+
##########################################################################################
29+
# Environment
30+
##########################################################################################
31+
32+
OUTFD=$2
33+
ZIPFILE=$3
34+
35+
mount /data 2>/dev/null
36+
37+
# Load utility functions
38+
if [ -f /data/adb/magisk/util_functions.sh ]; then
39+
. /data/adb/magisk/util_functions.sh
40+
NVBASE=/data/adb
41+
else
42+
require_new_magisk
43+
fi
44+
45+
# Preperation for flashable zips
46+
setup_flashable
47+
48+
# Mount partitions
49+
mount_partitions
50+
51+
# Detect version and architecture
52+
api_level_arch_detect
53+
54+
# Setup busybox and binaries
55+
$BOOTMODE && boot_actions || recovery_actions
56+
57+
##########################################################################################
58+
# Preparation
59+
##########################################################################################
60+
61+
# Extract common files
62+
unzip -oj "$ZIPFILE" module.prop install.sh uninstall.sh 'common/*' -d $TMPDIR >&2
63+
64+
[ ! -f $TMPDIR/install.sh ] && abort "! Unable to extract zip file!"
65+
# Load install script
66+
. $TMPDIR/install.sh
67+
68+
if imageless_magisk; then
69+
$BOOTMODE && MODDIRNAME=modules_update || MODDIRNAME=modules
70+
MODULEROOT=$NVBASE/$MODDIRNAME
71+
else
72+
$BOOTMODE && IMGNAME=magisk_merge.img || IMGNAME=magisk.img
73+
IMG=$NVBASE/$IMGNAME
74+
request_zip_size_check "$ZIPFILE"
75+
mount_magisk_img
76+
MODULEROOT=$MOUNTPATH
77+
fi
78+
79+
MODID=`grep_prop id $TMPDIR/module.prop`
80+
MODPATH=$MODULEROOT/$MODID
81+
82+
print_modname
83+
84+
ui_print "******************************"
85+
ui_print "Powered by Magisk (@topjohnwu)"
86+
ui_print "******************************"
87+
88+
##########################################################################################
89+
# Install
90+
##########################################################################################
91+
92+
# Create mod paths
93+
rm -rf $MODPATH 2>/dev/null
94+
mkdir -p $MODPATH
95+
96+
on_install
97+
98+
# Remove placeholder
99+
rm -f $MODPATH/system/placeholder 2>/dev/null
100+
101+
# Custom uninstaller
102+
[ -f $TMPDIR/uninstall.sh ] && cp -af $TMPDIR/uninstall.sh $MODPATH/uninstall.sh
103+
104+
# Auto Mount
105+
if imageless_magisk; then
106+
$SKIPMOUNT && touch $MODPATH/skip_mount
107+
else
108+
$SKIPMOUNT || touch $MODPATH/auto_mount
109+
fi
110+
111+
# prop files
112+
$PROPFILE && cp -af $TMPDIR/system.prop $MODPATH/system.prop
113+
114+
# Module info
115+
cp -af $TMPDIR/module.prop $MODPATH/module.prop
116+
if $BOOTMODE; then
117+
# Update info for Magisk Manager
118+
if imageless_magisk; then
119+
mktouch $NVBASE/modules/$MODID/update
120+
cp -af $TMPDIR/module.prop $NVBASE/modules/$MODID/module.prop
121+
else
122+
mktouch /sbin/.magisk/img/$MODID/update
123+
cp -af $TMPDIR/module.prop /sbin/.magisk/img/$MODID/module.prop
124+
fi
125+
fi
126+
127+
# post-fs-data mode scripts
128+
$POSTFSDATA && cp -af $TMPDIR/post-fs-data.sh $MODPATH/post-fs-data.sh
129+
130+
# service mode scripts
131+
$LATESTARTSERVICE && cp -af $TMPDIR/service.sh $MODPATH/service.sh
132+
133+
# Handle replace folders
134+
for TARGET in $REPLACE; do
135+
mktouch $MODPATH$TARGET/.replace
136+
done
137+
138+
ui_print "- Setting permissions"
139+
set_permissions
140+
141+
##########################################################################################
142+
# Finalizing
143+
##########################################################################################
144+
145+
cd /
146+
imageless_magisk || unmount_magisk_img
147+
$BOOTMODE || recovery_cleanup
148+
rm -rf $TMPDIR $MOUNTPATH
149+
150+
ui_print "- Done"
151+
exit 0
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#MAGISK

0 commit comments

Comments
 (0)