| assert(getprop("ro.product.device") == "hammerhead" || getprop("ro.build.product") == "hammerhead" || abort("This package is for device: hammerhead; this device is " + getprop("ro.product.device") + "."););
ifelse(is_mounted("/system"), unmount("/system"));
package_extract_dir("install", "/tmp/install");
set_metadata_recursive("/tmp/install", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644);
set_metadata_recursive("/tmp/install/bin", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755);
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", "");
run_program("/tmp/install/bin/backuptool.sh", "backup");
unmount("/system");
if is_mounted("/data") then
run_program("/tmp/install/bin/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("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/userdata", "/data", "");
run_program("/tmp/install/bin/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);
ui_print("Patching system image unconditionally...");
block_image_update("/dev/block/platform/msm_sdcc.1/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat");
show_progress(0.020000, 10);
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", "");
run_program("/tmp/install/bin/backuptool.sh", "restore");
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);
ui_print("Writing bootloader...");
package_extract_file("bootloader-flag.txt", "/dev/block/platform/msm_sdcc.1/by-name/misc");
ifelse((sha1_check(read_file("EMMC:/dev/block/platform/msm_sdcc.1/by-name/aboot:334364:392c7cfb117f161983088e98d49cb87f48f64 4bc")) != ""),(ui_print("/dev/block/platform/msm_sdcc.1/by-name/aboot already up to date")),(package_extract_file("bootloader.aboot.im g", "/dev/block/platform/msm_sdcc.1/by-name/aboot")));
ifelse((sha1_check(read_file("EMMC:/dev/block/platform/msm_sdcc.1/by-name/rpm:156040:a7758e250bb68f1b2fcc9e85b53c444ee37a456 f")) != ""),(ui_print("/dev/block/platform/msm_sdcc.1/by-name/rpm already up to date")),(package_extract_file("bootloader.rpm.img" , "/dev/block/platform/msm_sdcc.1/by-name/rpm")));
ifelse((sha1_check(read_file("EMMC:/dev/block/platform/msm_sdcc.1/by-name/tz:285848:a61f729a27310989a554ac89011bb9c580ab1e1e ")) != ""),(ui_print("/dev/block/platform/msm_sdcc.1/by-name/tz already up to date")),(package_extract_file("bootloader.tz.img", "/dev/block/platform/msm_sdcc.1/by-name/tz")));
ifelse((sha1_check(read_file("EMMC:/dev/block/platform/msm_sdcc.1/by-name/sbl1:310836:3564977d1192a865f457c7d88ea64995f499fb 64")) != ""),(ui_print("/dev/block/platform/msm_sdcc.1/by-name/sbl1 already up to date")),(package_extract_file("bootloader.sbl1.img ", "/dev/block/platform/msm_sdcc.1/by-name/sbl1")));
ifelse((sha1_check(read_file("EMMC:/dev/block/platform/msm_sdcc.1/by-name/sdi:18100:39b800ac538d039befe94b72ea79605ba37fcbaa ")) != ""),(ui_print("/dev/block/platform/msm_sdcc.1/by-name/sdi already up to date")),(package_extract_file("bootloader.sdi.img" , "/dev/block/platform/msm_sdcc.1/by-name/sdi")));
ifelse((sha1_check(read_file("EMMC:/dev/block/platform/msm_sdcc.1/by-name/imgdata:1535488:df21f824928f47e6ea5e4c025b3a9fd8a9 ffb7ff")) != ""),(ui_print("/dev/block/platform/msm_sdcc.1/by-name/imgdata already up to date")),(package_extract_file("bootloader.imgdata. img", "/dev/block/platform/msm_sdcc.1/by-name/imgdata")));
package_extract_file("bootloader-flag-clear.txt", "/dev/block/platform/msm_sdcc.1/by-name/misc");
ui_print("Writing radio...");
ifelse((sha1_check(read_file("EMMC:/dev/block/platform/msm_sdcc.1/by-name/modem:46614016:229390a8becc49282854b84b0ce5c203f90 09bd2")) != ""),(ui_print("/dev/block/platform/msm_sdcc.1/by-name/modem already up to date")),(package_extract_file("radio.img", "/dev/block/platform/msm_sdcc.1/by-name/modem"))); |