Created
January 13, 2015 16:40
-
-
Save invisiblek/ebec79a36a47a84e19a0 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
assert(getprop("ro.product.device") == "htc_m8" || getprop("ro.build.product") == "htc_m8" || getprop("ro.product.device") == "htc_m8whl" || getprop("ro.build.product") == "htc_m8whl" || getprop("ro.product.device") == "htc_m8wl" || getprop("ro.build.product") == "htc_m8wl" || getprop("ro.product.device") == "m8" || getprop("ro.build.product") == "m8" || getprop("ro.product.device") == "m8wl" || getprop("ro.build.product") == "m8wl" || getprop("ro.product.device") == "m8wlv" || getprop("ro.build.product") == "m8wlv" || getprop("ro.product.device") == "m8vzw" || getprop("ro.build.product") == "m8vzw" || getprop("ro.product.device") == "m8whl" || getprop("ro.build.product") == "m8whl" || getprop("ro.product.device") == "m8spr" || getprop("ro.build.product") == "m8spr" || abort("This package is for device: htc_m8,htc_m8whl,htc_m8wl,m8,m8wl,m8wlv,m8vzw,m8whl,m8spr; this device is " + getprop("ro.product.device") + ".");); | |
assert(getprop("ro.bootloader") == "3.18.0.0000" || getprop("ro.bootloader") == "3.19.0.0000" || abort("This package supports bootloader(s): 3.18.0.0000, 3.19.0.0000; this device has bootloader " + getprop("ro.bootloader") + ".");); | |
ifelse(is_mounted("/system"), unmount("/system")); | |
mount("auto", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", ""); | |
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh"); | |
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions"); | |
set_metadata("/tmp/backuptool.sh", "uid", 0, "gid", 0, "mode", 0755); | |
set_metadata("/tmp/backuptool.functions", "uid", 0, "gid", 0, "mode", 0644); | |
run_program("/tmp/backuptool.sh", "backup"); | |
unmount("/system"); | |
if is_mounted("/data") then | |
package_extract_file("system/bin/otasigcheck.sh", "/tmp/otasigcheck.sh"); | |
package_extract_file("META-INF/org/cyanogenmod/releasekey", "/tmp/releasekey"); | |
set_metadata("/tmp/otasigcheck.sh", "uid", 0, "gid", 0, "mode", 0755); | |
run_program("/tmp/otasigcheck.sh") != "31744" || abort("Can't install this package on top of incompatible data. Please try another package or run a factory reset"); | |
else | |
mount("auto", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/userdata", "/data", ""); | |
package_extract_file("system/bin/otasigcheck.sh", "/tmp/otasigcheck.sh"); | |
package_extract_file("META-INF/org/cyanogenmod/releasekey", "/tmp/releasekey"); | |
set_metadata("/tmp/otasigcheck.sh", "uid", 0, "gid", 0, "mode", 0755); | |
run_program("/tmp/otasigcheck.sh") != "31744" || abort("Can't install this package on top of incompatible data. Please try another package or run a factory reset"); | |
unmount("/data"); | |
endif; | |
show_progress(0.750000, 0); | |
block_image_update("/dev/block/platform/msm_sdcc.1/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat"); | |
mount("auto", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", ""); | |
delete("/system/bin/otasigcheck.sh"); | |
unmount("/system"); | |
show_progress(0.020000, 10); | |
mount("auto", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", ""); | |
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh"); | |
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions"); | |
set_metadata("/tmp/backuptool.sh", "uid", 0, "gid", 0, "mode", 0755); | |
set_metadata("/tmp/backuptool.functions", "uid", 0, "gid", 0, "mode", 0644); | |
run_program("/tmp/backuptool.sh", "restore"); | |
delete("/system/bin/backuptool.sh"); | |
delete("/system/bin/backuptool.functions"); | |
unmount("/system"); | |
show_progress(0.050000, 5); | |
package_extract_file("boot.img", "/dev/block/platform/msm_sdcc.1/by-name/boot"); | |
show_progress(0.200000, 10); | |
mount("auto", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", ""); | |
assert(run_program("/system/bin/makelinks.sh") == 0); | |
ifelse(is_substring("0P6B20000", getprop("ro.boot.mid")), run_program("/sbin/sh", "-c", "busybox sed -i 's/ro.com.google.clientidbase=android-google/ro.com.google.clientidbase=android-verizon/g' /system/build.prop")); | |
unmount("/system"); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment