ui_print("Eagle FOTA Tools (Eagle-1A1-delta-gentools)
  Version
     v3.4 : Using High compression option 
  Contact : <ramos.zhang@eagle.com>
");
mount("ubifs", "UBI", "system", "/system");
usb_remount();
ui_print("Verifying current system...");
show_progress(0.100000, 0);
assert(apply_patch_check("/system/bin/busybox", "6afb7f4cd26c7fc1224b47186006d78dbe78cf4f", "0b4272def926fa5bf01b6d58030aa84d06701300"));
set_progress(0.027823);
assert(apply_patch_check("/system/firmware/image/mba.mbn", "dc8b55824f96dfcf224ee3525ee84d50ea3c91d8", "a2385d3a75750e5bff5bb6065b0dd69f9bb494b8"));
set_progress(0.033057);
assert(apply_patch_check("/system/firmware/image/modem.b01", "558bf9e049a34136fc3f3412e8f1e78e5f440d57", "d9b906fa53f2b3d8b69d198ec4625ac3b3a74e64"));
set_progress(0.033216);
assert(apply_patch_check("/system/firmware/image/modem.b12", "2a1482395465c521b201217ababb62390843b69a", "a8ab6bbc567d0333f6527ac9c01109d77e5f405a"));
set_progress(0.378953);
assert(apply_patch_check("/system/firmware/image/modem.b14", "1566401b12e604f690a386d7942c436219b8ce83", "8c5ffeaf6ecf6fa87dd812a2259b30886ed0862f"));
set_progress(0.495290);
assert(apply_patch_check("/system/firmware/image/modem.b15", "77fe44cc2a873b954240b72d05de01b7c62b6b85", "d8e49c83dadb8f96532a3a9d727da1978b8b0ec4"));
set_progress(0.534636);
assert(apply_patch_check("/system/firmware/image/modem.b19", "79fa2dc6696bf77dc0d59e5e81545c099c5b8990", "a401d5e3e29dff0149bb0beb694b522102d13d40"));
set_progress(0.536440);
assert(apply_patch_check("/system/firmware/image/modem.b21", "ffcb55be68c4f08eac80adb3f8689b4b121c6e5d", "b9317124c97d9db67961be5aaf46152282bdadf1", "b30e24a463a53a1b5a6e6fd1ac8beb9871505b6f", "b30e24a463a53a1b5a6e6fd1ac8beb9871505b6f"));
set_progress(0.916973);
assert(apply_patch_check("/system/firmware/image/modem.mdt", "cf7c06ff85d9080b4c88174747ccf34efc782904", "f6698566992dd7a4b9162dd2bd0f0d35477fe039"));
set_progress(0.917152);
assert(apply_patch_check("/system/usr/bin/eagle_daemon", "dd25ea640ab003f7772048b5c655e62daa0f0832", "e10887b76c7e6c2a1b5efc1f8c0fc9a682d73c57"));
set_progress(0.918823);
assert(apply_patch_check("MTD:boot:3698688:3ba9da43d397aaaf0123a671e4c5e2c9350f4f51:3698688:9e34d6e6b325c962771f70b41bfecaeed47bff1f"));
set_progress(1.000000);

# ---- start making changes here ----

ui_print("Removing unneeded files...");
delete("/system/bin/login.shadow", "/system/bin/mountpoint.sysvinit",
       "/system/etc/General_cal.acdb", "/system/etc/Global_cal.acdb",
       "/system/etc/Handset_cal.acdb", "/system/etc/Hdmi_cal.acdb",
       "/system/etc/Headset_cal.acdb", "/system/etc/host.conf",
       "/system/etc/inetd.conf", "/system/etc/init.d/find_partitions.sh",
       "/system/etc/init.d/start_qti_le", "/system/etc/inittab",
       "/system/etc/issue.net", "/system/etc/login.defs",
       "/system/etc/mdev.conf", "/system/etc/nsswitch.conf",
       "/system/etc/pimd.conf", "/system/etc/shadow", "/system/etc/sysctl.conf",
       "/system/etc/syslog.conf.busybox",
       "/system/firmware/image/modem_dict.bin", "/system/sbin/powerapp",
       "/system/sbin/sys_reboot", "/system/sbin/sys_shutdown",
       "/system/sbin/usb/compositions/9025", "/system/build.prop",
       "/system/etc/eagle-project-subversion",
       "/system/etc/eagle-project-version", "/system/etc/issue",
       "/system/etc/timestamp", "/system/etc/version",
       "/system/firmware/image/modem.b04", "/system/firmware/image/modem.b17",
       "/system/firmware/image/modem.b18",
       "/system/firmware/image/modem.b25");
delete("/system/recovery.img", "/system/sbin/powerapp",
       "/system/sbin/sys_reboot", "/system/sbin/sys_shutdown",
       "/system/usr/bin/gdb",
       "/system/usr/sbin/tcpdump");
show_progress(0.800000, 0);
ui_print("Patching system files...");
apply_patch("/system/bin/busybox", "-",
            6afb7f4cd26c7fc1224b47186006d78dbe78cf4f, 1267708,
            0b4272def926fa5bf01b6d58030aa84d06701300, package_extract_file("patch/system/bin/busybox.p"));
set_progress(0.027813);
apply_patch("/system/firmware/image/mba.mbn", "-",
            dc8b55824f96dfcf224ee3525ee84d50ea3c91d8, 238464,
            a2385d3a75750e5bff5bb6065b0dd69f9bb494b8, package_extract_file("patch/system/firmware/image/mba.mbn.p"));
set_progress(0.033044);
apply_patch("/system/firmware/image/modem.b01", "-",
            558bf9e049a34136fc3f3412e8f1e78e5f440d57, 7272,
            d9b906fa53f2b3d8b69d198ec4625ac3b3a74e64, package_extract_file("patch/system/firmware/image/modem.b01.p"));
set_progress(0.033204);
apply_patch("/system/firmware/image/modem.b12", "-",
            2a1482395465c521b201217ababb62390843b69a, 15752944,
            a8ab6bbc567d0333f6527ac9c01109d77e5f405a, package_extract_file("patch/system/firmware/image/modem.b12.p"));
set_progress(0.378812);
apply_patch("/system/firmware/image/modem.b14", "-",
            1566401b12e604f690a386d7942c436219b8ce83, 5300671,
            8c5ffeaf6ecf6fa87dd812a2259b30886ed0862f, package_extract_file("patch/system/firmware/image/modem.b14.p"));
set_progress(0.495105);
apply_patch("/system/firmware/image/modem.b15", "-",
            77fe44cc2a873b954240b72d05de01b7c62b6b85, 1792756,
            d8e49c83dadb8f96532a3a9d727da1978b8b0ec4, package_extract_file("patch/system/firmware/image/modem.b15.p"));
set_progress(0.534437);
apply_patch("/system/firmware/image/modem.b19", "-",
            79fa2dc6696bf77dc0d59e5e81545c099c5b8990, 82176,
            a401d5e3e29dff0149bb0beb694b522102d13d40, package_extract_file("patch/system/firmware/image/modem.b19.p"));
set_progress(0.536240);
apply_patch("/system/firmware/image/modem.b21", "-",
            ffcb55be68c4f08eac80adb3f8689b4b121c6e5d, 17355322,
            b9317124c97d9db67961be5aaf46152282bdadf1, package_extract_file("patch/system/firmware/image/modem.b21.p"));
set_progress(0.917004);
apply_patch("/system/firmware/image/modem.mdt", "-",
            cf7c06ff85d9080b4c88174747ccf34efc782904, 8156,
            f6698566992dd7a4b9162dd2bd0f0d35477fe039, package_extract_file("patch/system/firmware/image/modem.mdt.p"));
set_progress(0.917183);
apply_patch("/system/usr/bin/eagle_daemon", "-",
            dd25ea640ab003f7772048b5c655e62daa0f0832, 76156,
            e10887b76c7e6c2a1b5efc1f8c0fc9a682d73c57, package_extract_file("patch/system/usr/bin/eagle_daemon.p"));
set_progress(0.918853);
ui_print("Patching boot image...");
apply_patch("MTD:boot:3698688:3ba9da43d397aaaf0123a671e4c5e2c9350f4f51:3698688:9e34d6e6b325c962771f70b41bfecaeed47bff1f",
            "-", 9e34d6e6b325c962771f70b41bfecaeed47bff1f, 3698688,
            3ba9da43d397aaaf0123a671e4c5e2c9350f4f51, package_extract_file("patch/boot.img.p"));
set_progress(1.000000);
delete("/system/recovery-from-boot.p",
       "/system/etc/install-recovery.sh");
show_progress(0.100000, 10);
ui_print("Unpacking new files...");
package_extract_dir("system", "/system");
ui_print("Unpacking new recovery...");
package_extract_dir("recovery", "/system");
ui_print("Symlinks and permissions...");
set_perm(0, 0, 0755, "/system/firmware/image/mba.mbn");
set_perm(0, 0, 0755, "/system/etc/Global_cal.acdb");
set_perm(0, 0, 0644, "/system/etc/inittab");
set_perm(0, 0, 0755, "/system/etc/login.defs");
set_perm(0, 0, 0644, "/system/etc/mdev.conf");
set_perm(0, 0, 0644, "/system/firmware/image/modem.b15");
set_perm(0, 0, 0644, "/system/etc/inetd.conf");
set_perm(0, 0, 0755, "/system/etc/init.d/find_partitions.sh");
set_perm(0, 0, 0600, "/system/etc/shadow");
set_perm(0, 0, 0644, "/system/etc/pimd.conf");
set_perm(0, 0, 0644, "/system/build.prop");
set_perm(0, 0, 0755, "/system/sbin/powerapp");
set_perm(0, 0, 0755, "/system/usr/bin/eagle_daemon");
set_perm(0, 0, 0755, "/system/bin/busybox");
set_perm(0, 0, 0644, "/system/firmware/image/modem.b14");
set_perm(0, 0, 0755, "/system/etc/init.d/start_qti_le");
set_perm(0, 0, 0644, "/system/etc/issue");
set_perm(0, 0, 0644, "/system/etc/timestamp");
set_perm(0, 0, 0644, "/system/firmware/image/modem.b12");
set_perm(0, 0, 0755, "/system/etc/Headset_cal.acdb");
set_perm(0, 0, 0644, "/system/firmware/image/modem.b19");
set_perm(0, 0, 0644, "/system/etc/host.conf");
set_perm(0, 0, 0644, "/system/etc/syslog.conf.busybox");
set_perm(0, 0, 0755, "/system/etc/General_cal.acdb");
set_perm(0, 0, 0644, "/system/firmware/image/modem.mdt");
set_perm(0, 0, 0755, "/system/sbin/usb/compositions/9025");
set_perm(0, 0, 0644, "/system/etc/eagle-project-subversion");
set_perm(0, 0, 0644, "/system/etc/nsswitch.conf");
set_perm(0, 0, 0755, "/system/sbin/sys_reboot");
set_perm(0, 0, 0644, "/system/etc/issue.net");
set_perm(0, 0, 0755, "/system/bin/login.shadow");
set_perm(0, 0, 0755, "/system/bin/mountpoint.sysvinit");
set_perm(0, 0, 0755, "/system/firmware/image/modem_dict.bin");
set_perm(0, 0, 0644, "/system/etc/version");
set_perm(0, 0, 0644, "/system/firmware/image/modem.b21");
set_perm(0, 0, 0644, "/system/etc/sysctl.conf");
set_perm(0, 0, 0644, "/system/etc/eagle-project-version");
set_perm(0, 0, 0755, "/system/etc/Handset_cal.acdb");
set_perm(0, 0, 0644, "/system/firmware/image/modem.b01");
set_perm(0, 0, 0755, "/system/sbin/sys_shutdown");
set_perm(0, 0, 0755, "/system/etc/Hdmi_cal.acdb");
ui_print("Patching remaining system files...");
unmount("/system");
