From 25703c175070f2a506154add59b9dc409db186fb Mon Sep 17 00:00:00 2001 From: topjohnwu Date: Sun, 6 May 2018 01:48:24 +0800 Subject: [PATCH] Do not force LD_LIBRARY_PATH in recovery --- scripts/boot_patch.sh | 28 +++++++++++------------ scripts/magisk_uninstaller.sh | 10 ++++----- scripts/util_functions.sh | 42 +++++++++++++++++++---------------- 3 files changed, 42 insertions(+), 38 deletions(-) diff --git a/scripts/boot_patch.sh b/scripts/boot_patch.sh index 3eb19994b..18a53cc0f 100644 --- a/scripts/boot_patch.sh +++ b/scripts/boot_patch.sh @@ -84,7 +84,7 @@ chmod -R 755 . CHROMEOS=false ui_print "- Unpacking boot image" -eval $LIB32PFX ./magiskboot --unpack "$BOOTIMAGE" +./magiskboot --unpack "$BOOTIMAGE" case $? in 1 ) @@ -113,14 +113,14 @@ esac # Test patch status and do restore, after this section, ramdisk.cpio.orig is guaranteed to exist ui_print "- Checking ramdisk status" MAGISK_PATCHED=false -eval $LIB32PFX ./magiskboot --cpio ramdisk.cpio test +./magiskboot --cpio ramdisk.cpio test case $? in 0 ) # Stock boot ui_print "- Stock boot image detected" ui_print "- Backing up stock boot image" - SHA1=`eval $LIB32PFX ./magiskboot --sha1 "$BOOTIMAGE" 2>/dev/null` + SHA1=`./magiskboot --sha1 "$BOOTIMAGE" 2>/dev/null` STOCKDUMP=stock_boot_${SHA1}.img.gz - eval $LIB32PFX ./magiskboot --compress "$BOOTIMAGE" $STOCKDUMP + ./magiskboot --compress "$BOOTIMAGE" $STOCKDUMP cp -af ramdisk.cpio ramdisk.cpio.orig ;; 1 ) # Magisk patched @@ -140,8 +140,8 @@ esac if $MAGISK_PATCHED; then ui_print "- Magisk patched image detected" # Find SHA1 of stock boot image - [ -z $SHA1 ] && SHA1=`eval $LIB32PFX ./magiskboot --cpio ramdisk.cpio sha1 2>/dev/null` - eval $LIB32PFX ./magiskboot --cpio ramdisk.cpio restore + [ -z $SHA1 ] && SHA1=`./magiskboot --cpio ramdisk.cpio sha1 2>/dev/null` + ./magiskboot --cpio ramdisk.cpio restore cp -af ramdisk.cpio ramdisk.cpio.orig fi @@ -156,9 +156,9 @@ fi ui_print "- Patching ramdisk" -eval $LIB32PFX ./magiskboot --cpio ramdisk.cpio \ -\"add 750 init magiskinit\" \ -\"magisk ramdisk.cpio.orig $HIGHCOMP $KEEPVERITY $KEEPFORCEENCRYPT $SHA1\" +./magiskboot --cpio ramdisk.cpio \ +"add 750 init magiskinit" \ +"magisk ramdisk.cpio.orig $HIGHCOMP $KEEPVERITY $KEEPFORCEENCRYPT $SHA1" rm -f ramdisk.cpio.orig @@ -167,17 +167,17 @@ rm -f ramdisk.cpio.orig ########################################################################################## if ! $KEEPVERITY && [ -f dtb ]; then - eval $LIB32PFX ./magiskboot --dtb-patch dtb && ui_print "- Patching fstab in dtb to remove dm-verity" + ./magiskboot --dtb-patch dtb && ui_print "- Patching fstab in dtb to remove dm-verity" fi if [ -f kernel ]; then # Remove Samsung RKP in stock kernel - eval $LIB32PFX ./magiskboot --hexpatch kernel \ + ./magiskboot --hexpatch kernel \ 49010054011440B93FA00F71E9000054010840B93FA00F7189000054001840B91FA00F7188010054 \ A1020054011440B93FA00F7140020054010840B93FA00F71E0010054001840B91FA00F7181010054 # skip_initramfs -> want_initramfs - eval $LIB32PFX ./magiskboot --hexpatch kernel \ + ./magiskboot --hexpatch kernel \ 736B69705F696E697472616D6673 \ 77616E745F696E697472616D6673 fi @@ -187,9 +187,9 @@ fi ########################################################################################## ui_print "- Repacking boot image" -eval $LIB32PFX ./magiskboot --repack "$BOOTIMAGE" || abort "! Unable to repack boot image!" +./magiskboot --repack "$BOOTIMAGE" || abort "! Unable to repack boot image!" # Sign chromeos boot $CHROMEOS && sign_chromeos -eval $LIB32PFX ./magiskboot --cleanup +./magiskboot --cleanup diff --git a/scripts/magisk_uninstaller.sh b/scripts/magisk_uninstaller.sh index 4e81452b2..31d357a30 100644 --- a/scripts/magisk_uninstaller.sh +++ b/scripts/magisk_uninstaller.sh @@ -45,7 +45,7 @@ cd $MAGISKBIN ui_print "- Found Boot Image: $BOOTIMAGE" ui_print "- Unpacking boot image" -eval $LIB32PFX ./magiskboot --unpack "$BOOTIMAGE" +./magiskboot --unpack "$BOOTIMAGE" CHROMEOS=false case $? in @@ -67,7 +67,7 @@ esac # Detect boot image state ui_print "- Checking ramdisk status" -eval $LIB32PFX ./magiskboot --cpio ramdisk.cpio test +./magiskboot --cpio ramdisk.cpio test case $? in 0 ) # Stock boot ui_print "- Stock boot image detected" @@ -76,14 +76,14 @@ case $? in 1|2 ) # Magisk patched ui_print "- Magisk patched image detected" # Find SHA1 of stock boot image - [ -z $SHA1 ] && SHA1=`eval $LIB32PFX ./magiskboot --cpio ramdisk.cpio sha1 2>/dev/null` + [ -z $SHA1 ] && SHA1=`./magiskboot --cpio ramdisk.cpio sha1 2>/dev/null` OK=false [ ! -z $SHA1 ] && restore_imgs $SHA1 && OK=true if ! $OK; then ui_print "! Boot image backup unavailable" ui_print "- Restoring ramdisk with internal backup" - eval $LIB32PFX ./magiskboot --cpio ramdisk.cpio restore - eval $LIB32PFX ./magiskboot --repack $BOOTIMAGE + ./magiskboot --cpio ramdisk.cpio restore + ./magiskboot --repack $BOOTIMAGE # Sign chromeos boot $CHROMEOS && sign_chromeos flash_boot_image new-boot.img "$BOOTIMAGE" diff --git a/scripts/util_functions.sh b/scripts/util_functions.sh index d48c8a29d..e8f499ee1 100644 --- a/scripts/util_functions.sh +++ b/scripts/util_functions.sh @@ -20,7 +20,7 @@ MAGISKBIN=/data/adb/magisk [ -z $MOUNTPATH ] && MOUNTPATH=/sbin/.core/img [ -z $IMG ] && IMG=/data/adb/magisk.img -BOOTSIGNER="eval \$LIBPFX /system/bin/dalvikvm -Xnodex2oat -Xnoimage-dex2oat -cp \$APK com.topjohnwu.magisk.utils.BootSigner" +BOOTSIGNER="/system/bin/dalvikvm -Xnodex2oat -Xnoimage-dex2oat -cp \$APK com.topjohnwu.magisk.utils.BootSigner" BOOTSIGNED=false get_outfd() { @@ -128,15 +128,15 @@ find_boot_image() { run_migrations() { # Update the broken boot backup if [ -f /data/stock_boot_.img.gz ]; then - eval $LIB32PFX $MAGISKBIN/magiskboot --decompress /data/stock_boot_.img.gz /data/stock_boot.img + $MAGISKBIN/magiskboot --decompress /data/stock_boot_.img.gz /data/stock_boot.img fi # Update our previous backup to new format if exists if [ -f /data/stock_boot.img ]; then ui_print "- Migrating boot image backup" - SHA1=`eval $LIB32PFX $MAGISKBIN/magiskboot --sha1 /data/stock_boot.img 2>/dev/null` + SHA1=`$MAGISKBIN/magiskboot --sha1 /data/stock_boot.img 2>/dev/null` STOCKDUMP=/data/stock_boot_${SHA1}.img mv /data/stock_boot.img $STOCKDUMP - eval $LIB32PFX $MAGISKBIN/magiskboot --compress $STOCKDUMP + $MAGISKBIN/magiskboot --compress $STOCKDUMP fi # Move the stock backups if [ -f /data/magisk/stock_boot* ]; then @@ -154,7 +154,7 @@ run_migrations() { flash_boot_image() { # Make sure all blocks are writable - eval $LIB32PFX $MAGISKBIN/magisk --unlock-blocks 2>/dev/null + $MAGISKBIN/magisk --unlock-blocks 2>/dev/null case "$1" in *.gz) COMMAND="gzip -d < '$1'";; *) COMMAND="cat '$1'";; @@ -184,11 +184,11 @@ find_dtbo_image() { patch_dtbo_image() { if [ ! -z $DTBOIMAGE ]; then - if eval $LIB32PFX $MAGISKBIN/magiskboot --dtb-test $DTBOIMAGE; then + if $MAGISKBIN/magiskboot --dtb-test $DTBOIMAGE; then ui_print "- Backing up stock dtbo image" - eval $LIB32PFX $MAGISKBIN/magiskboot --compress $DTBOIMAGE $MAGISKBIN/stock_dtbo.img.gz + $MAGISKBIN/magiskboot --compress $DTBOIMAGE $MAGISKBIN/stock_dtbo.img.gz ui_print "- Patching fstab in dtbo to remove avb-verity" - eval $LIB32PFX $MAGISKBIN/magiskboot --dtb-patch $DTBOIMAGE + $MAGISKBIN/magiskboot --dtb-patch $DTBOIMAGE return 0 fi fi @@ -200,7 +200,7 @@ restore_imgs() { STOCKDTBO=/data/stock_dtbo.img.gz # Make sure all blocks are writable - eval $LIB32PFX $MAGISKBIN/magisk --unlock-blocks 2>/dev/null + $MAGISKBIN/magisk --unlock-blocks 2>/dev/null find_dtbo_image if [ ! -z "$DTBOIMAGE" -a -f "$STOCKDTBO" ]; then ui_print "- Restoring stock dtbo image" @@ -220,7 +220,7 @@ sign_chromeos() { ui_print "- Signing ChromeOS boot image" echo > empty - eval $LIBPFX ./chromeos/futility vbutil_kernel --pack new-boot.img.signed \ + ./chromeos/futility vbutil_kernel --pack new-boot.img.signed \ --keyblock ./chromeos/kernel.keyblock --signprivate ./chromeos/kernel_data_key.vbprivk \ --version 1 --vmlinuz new-boot.img --config empty --arch arm --bootloader empty --flags 0x1 @@ -296,14 +296,18 @@ recovery_actions() { fi # Temporarily block out all custom recovery binaries/libs mv /sbin /sbin_tmp - # Set library paths - $IS64BIT && LIBPFX="LD_LIBRARY_PATH=/system/lib64:/system/vendor/lib64" || LIBPFX="LD_LIBRARY_PATH=/system/lib:/system/vendor/lib" - LIB32PFX="LD_LIBRARY_PATH=/system/lib:/system/vendor/lib" + # Unset library paths + OLD_LD_LIB=$LD_LIBRARY_PATH + OLD_LD_PRE=$LD_PRELOAD + unset LD_LIBRARY_PATH + unset LD_PRELOAD } recovery_cleanup() { mv /sbin_tmp /sbin 2>/dev/null [ -z $OLD_PATH ] || export PATH=$OLD_PATH + [ -z $OLD_LD_LIB ] || export LD_LIBRARY_PATH=$OLD_LD_LIB + [ -z $OLD_LD_PRE ] || export LD_PRELOAD=$OLD_LD_PRE ui_print "- Unmounting partitions" umount -l /system_root 2>/dev/null umount -l /system 2>/dev/null @@ -348,7 +352,7 @@ request_zip_size_check() { } image_size_check() { - SIZE="`eval $LIB32PFX $MAGISKBIN/magisk --imgsize $IMG`" + SIZE="`$MAGISKBIN/magisk --imgsize $IMG`" curUsedM=`echo "$SIZE" | cut -d" " -f1` curSizeM=`echo "$SIZE" | cut -d" " -f2` curFreeM=$((curSizeM - curUsedM)) @@ -362,28 +366,28 @@ mount_magisk_img() { if [ "$reqSizeM" -gt "$curFreeM" ]; then newSizeM=$(((reqSizeM + curUsedM) / 32 * 32 + 64)) ui_print "- Resizing $IMG to ${newSizeM}M" - eval $LIB32PFX $MAGISKBIN/magisk --resizeimg $IMG $newSizeM >&2 + $MAGISKBIN/magisk --resizeimg $IMG $newSizeM >&2 fi else newSizeM=$((reqSizeM / 32 * 32 + 64)); ui_print "- Creating $IMG with size ${newSizeM}M" - eval $LIB32PFX $MAGISKBIN/magisk --createimg $IMG $newSizeM >&2 + $MAGISKBIN/magisk --createimg $IMG $newSizeM >&2 fi ui_print "- Mounting $IMG to $MOUNTPATH" - MAGISKLOOP=`eval $LIB32PFX $MAGISKBIN/magisk --mountimg $IMG $MOUNTPATH` + MAGISKLOOP=`$MAGISKBIN/magisk --mountimg $IMG $MOUNTPATH` is_mounted $MOUNTPATH || abort "! $IMG mount failed..." } unmount_magisk_img() { - eval $LIB32PFX $MAGISKBIN/magisk --umountimg $MOUNTPATH $MAGISKLOOP + $MAGISKBIN/magisk --umountimg $MOUNTPATH $MAGISKLOOP # Shrink the image if possible image_size_check $IMG newSizeM=$((curUsedM / 32 * 32 + 64)) if [ $curSizeM -gt $newSizeM ]; then ui_print "- Shrinking $IMG to ${newSizeM}M" - eval $LIB32PFX $MAGISKBIN/magisk --resizeimg $IMG $newSizeM + $MAGISKBIN/magisk --resizeimg $IMG $newSizeM fi }