The scripts were initially embedded because I didn't want to have extra files other than the defconfs, but since we have funcs now anyway...gf-arm64
parent
4079901354
commit
190131eafc
@ -0,0 +1,82 @@
|
||||
#!/sbin/sh
|
||||
#
|
||||
# MinMicroG addon.d
|
||||
#
|
||||
# ADDOND_VERSION=2
|
||||
|
||||
save_files() {
|
||||
cat <<EOL
|
||||
@INSTALLLIST@
|
||||
|
||||
EOL
|
||||
}
|
||||
|
||||
delete_files() {
|
||||
cat <<EOL
|
||||
@DEBLOATLIST@
|
||||
|
||||
EOL
|
||||
}
|
||||
|
||||
log() { echo "$1"; }
|
||||
|
||||
abort() {
|
||||
log " ";
|
||||
log "!!! ERROR: $1";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
log " ";
|
||||
log "=== MinMicroG addon.d script ===";
|
||||
|
||||
if [ -f "/tmp/backuptool.functions" ]; then
|
||||
. "/tmp/backuptool.functions" || abort "could not source addon.d helper";
|
||||
elif [ -f "/postinstall/tmp/backuptool.functions" ]; then
|
||||
. "/postinstall/tmp/backuptool.functions" || abort "could not source addon.d helper";
|
||||
else
|
||||
abort "could not find addon.d helper"
|
||||
fi;
|
||||
|
||||
[ -f "$S/build.prop" ] || abort "could not find a ROM in $S";
|
||||
sdk="$(grep ro.build.version.sdk "$S/build.prop" | head -n1 | cut -d= -f2)";
|
||||
[ "$sdk" ] && [ "$sdk" -gt "0" ] || abort "could not find SDK";
|
||||
|
||||
translate_path() {
|
||||
while read -r entry; do
|
||||
if [ "$sdk" -lt 21 ]; then
|
||||
[ "$(basename "$(dirname "$entry")").apk" = "$(basename "$entry")" ] && entry="$(dirname "$(dirname "$entry")")/$(basename "$entry")";
|
||||
fi;
|
||||
[ "$(basename "$(dirname "$entry")").apk" = "$(basename "$entry")" ] && entry="$(dirname "$entry")";
|
||||
echo "${entry#/system/}";
|
||||
done;
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
backup)
|
||||
log " ";
|
||||
log "Backing up...";
|
||||
save_files | translate_path | while read -r object; do
|
||||
[ "$object" ] && [ -e "$S/$object" ] || continue;
|
||||
backup_file "$S/$object";
|
||||
log "BACKUPER: Object backed up ($object)";
|
||||
done;
|
||||
;;
|
||||
restore)
|
||||
log " ";
|
||||
log "Restoring...";
|
||||
save_files | translate_path | while read -r object; do
|
||||
[ "$object" ] && [ -e "$C/$S/$object" ] || continue;
|
||||
restore_file "$S/$object";
|
||||
log "RESTORER: Object restored ($object)";
|
||||
done;
|
||||
;;
|
||||
post-restore)
|
||||
log " ";
|
||||
log "Debloating...";
|
||||
delete_files | translate_path | while read -r object; do
|
||||
[ "$object" ] && [ -e "$S/$object" ] || continue;
|
||||
rm -rf "$S/$object";
|
||||
log "DEBLOATER: Object debloated ($object)";
|
||||
done;
|
||||
;;
|
||||
esac;
|
@ -0,0 +1,12 @@
|
||||
#!/system/bin/sh
|
||||
# MinMicroG bootup script
|
||||
|
||||
# Wait for bootup
|
||||
while true; do [ "$(getprop sys.boot_completed)" = "1" ] && break; sleep 5; done;
|
||||
|
||||
# Fix GMS permission troubles
|
||||
apk="/system/priv-app/MicroGGMSCore/MicroGGMSCore.apk";
|
||||
[ -f "$apk" ] && pm install -r "$apk";
|
||||
|
||||
# Grant permissions
|
||||
npem;
|
Loading…
Reference in new issue