-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 1abf130
Showing
6 changed files
with
237 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2020 Kid | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,196 @@ | ||
#!/sbin/sh | ||
|
||
################# | ||
# Initialization | ||
################# | ||
|
||
umask 022 | ||
|
||
# echo before loading util_functions | ||
ui_print() { echo "$1"; } | ||
|
||
require_new_magisk() { | ||
ui_print "*******************************" | ||
ui_print " Please install Magisk v20.0+! " | ||
ui_print "*******************************" | ||
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() { | ||
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" | ||
exit 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
#MAGISK |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# Magisk Blobmoji | ||
|
||
Use [Noto Emoji font with Blobs enabled](https://github.com/C1710/blobmoji) on your Android device with [Magisk](https://github.com/topjohnwu/Magisk). | ||
|
||
This module simply replaces `/system/fonts/NotoColorEmoji.ttf`, which may conflict with other modules or not take effect. | ||
|
||
## Download | ||
|
||
Via [GitHub releases](https://github.com/kidonng/magisk-blobmoji/releases/download/latest/magisk-blobmoji.zip). | ||
|
||
## See also | ||
|
||
- [Prior art](https://github.com/simonsmh/blobmoji) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
id=blobmoji | ||
name=Blobmoji | ||
version=Emoji 12 | ||
versionCode=1 | ||
author=Kid | ||
description=Noto Emoji font with Blobs enabled (https://github.com/kidonng/magisk-blobmoji) |
Binary file not shown.