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", "b3cf95fecec05f4b47591d4ab0f7651739b15f16", "2d02566b71cb109300f3e8d6cc2b4fed4df39c8a"));
set_progress(0.026406);
assert(apply_patch_check("/system/firmware/image/mba.mbn", "9fa1143020f3ad730b06f79557c632aae4f94678", "f6f7d039ee61f9df8c72a90bf37c7e1af17b14b7"));
set_progress(0.031373);
assert(apply_patch_check("/system/firmware/image/modem.b01", "cad13ff3c058cab8375cc016f31a04d64e00ad1b", "e3a574993d9f44f70fff6af2be169194015cb17e"));
set_progress(0.031524);
assert(apply_patch_check("/system/firmware/image/modem.b09", "55b6c574c70dccd9f5cd6fe8cface70c93a1404b", "84213efdaa06b10b72f5d2ab67ab8c8aef6db2d3"));
set_progress(0.035925);
assert(apply_patch_check("/system/firmware/image/modem.b10", "b1f3595f953abfe282fcd6aff271ef87d6494e3a", "06bbada7cb01d8e1337fa58b401bc21f08307e53"));
set_progress(0.051229);
assert(apply_patch_check("/system/firmware/image/modem.b11", "10324e3e70ee6de33e5ab2a7ee775c3044a1739f", "b2b69446b49296b099e8929981cd5a5d44f1e464"));
set_progress(0.073339);
assert(apply_patch_check("/system/firmware/image/modem.b12", "0d0fcf60f01ce91601209be4072494d83e168ed0", "4b434a9b6d27ea76277abbd177934a7fd8166663"));
set_progress(0.401474);
assert(apply_patch_check("/system/firmware/image/modem.b14", "73026709c32f90e9c02e41aa28d8aad6e77f98fc", "d31b2534db8684341f2493a4bf1a94d61dc9fc94"));
set_progress(0.511890);
assert(apply_patch_check("/system/firmware/image/modem.b15", "4363a81a9a18f924a075c49a3bc8e78d896863d0", "7552a386c047eec9701eb6158ef943c8fca09c4d"));
set_progress(0.549232);
assert(apply_patch_check("/system/firmware/image/modem.b19", "fd0a864a0034456d3750d15bd2f08db4ef252b47", "4ea3111fd25b148a8a022b3c8585d3ec36ade518"));
set_progress(0.550943);
assert(apply_patch_check("/system/firmware/image/modem.b21", "eca0e914be566fcb2dce559e54d36f709cff9ecc", "a88e68c80306d71534536bd17061031ce200bb3d", "f7185250f9f264919d68224065bb74710121bc27", "f7185250f9f264919d68224065bb74710121bc27"));
set_progress(0.912091);
assert(apply_patch_check("/system/firmware/image/modem.mdt", "d971a99731d195466f3f07b0a039bb120d7e1913", "f2d41c04ccc46c7f07eb39646cc2aed2f3bcf453"));
set_progress(0.912261);
assert(apply_patch_check("/system/usr/bin/eagle_daemon", "d87a5005e0d5785641a5431a9d7b3c9ead202bd5", "927b46b022c20e882518511265d6ea0e37de4fa1"));
set_progress(0.913933);
assert(apply_patch_check("/system/usr/lib/libgetdns.so.10.1.2", "1de3204bb820f3cde9bfa766c38109d1fe846525", "a62cf818c17453eac4a5b43cad8c08a5555c7320"));
set_progress(0.922959);
assert(apply_patch_check("MTD:boot:3698688:0dc3a0b912852a1fc5d365e5e5bef60615fbd078:3698688:492fd6151034b814e2f732a28c0d7966953d6599"));
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");
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", "-",
            b3cf95fecec05f4b47591d4ab0f7651739b15f16, 1267708,
            2d02566b71cb109300f3e8d6cc2b4fed4df39c8a, package_extract_file("patch/system/bin/busybox.p"));
set_progress(0.026396);
apply_patch("/system/firmware/image/mba.mbn", "-",
            9fa1143020f3ad730b06f79557c632aae4f94678, 238464,
            f6f7d039ee61f9df8c72a90bf37c7e1af17b14b7, package_extract_file("patch/system/firmware/image/mba.mbn.p"));
set_progress(0.031362);
apply_patch("/system/firmware/image/modem.b01", "-",
            cad13ff3c058cab8375cc016f31a04d64e00ad1b, 7272,
            e3a574993d9f44f70fff6af2be169194015cb17e, package_extract_file("patch/system/firmware/image/modem.b01.p"));
set_progress(0.031513);
apply_patch("/system/firmware/image/modem.b09", "-",
            55b6c574c70dccd9f5cd6fe8cface70c93a1404b, 211276,
            84213efdaa06b10b72f5d2ab67ab8c8aef6db2d3, package_extract_file("patch/system/firmware/image/modem.b09.p"));
set_progress(0.035912);
apply_patch("/system/firmware/image/modem.b10", "-",
            b1f3595f953abfe282fcd6aff271ef87d6494e3a, 734716,
            06bbada7cb01d8e1337fa58b401bc21f08307e53, package_extract_file("patch/system/firmware/image/modem.b10.p"));
set_progress(0.051210);
apply_patch("/system/firmware/image/modem.b11", "-",
            10324e3e70ee6de33e5ab2a7ee775c3044a1739f, 1061524,
            b2b69446b49296b099e8929981cd5a5d44f1e464, package_extract_file("patch/system/firmware/image/modem.b11.p"));
set_progress(0.073314);
apply_patch("/system/firmware/image/modem.b12", "-",
            0d0fcf60f01ce91601209be4072494d83e168ed0, 15753456,
            4b434a9b6d27ea76277abbd177934a7fd8166663, package_extract_file("patch/system/firmware/image/modem.b12.p"));
set_progress(0.401333);
apply_patch("/system/firmware/image/modem.b14", "-",
            73026709c32f90e9c02e41aa28d8aad6e77f98fc, 5300927,
            d31b2534db8684341f2493a4bf1a94d61dc9fc94, package_extract_file("patch/system/firmware/image/modem.b14.p"));
set_progress(0.511709);
apply_patch("/system/firmware/image/modem.b15", "-",
            4363a81a9a18f924a075c49a3bc8e78d896863d0, 1792756,
            7552a386c047eec9701eb6158ef943c8fca09c4d, package_extract_file("patch/system/firmware/image/modem.b15.p"));
set_progress(0.549038);
apply_patch("/system/firmware/image/modem.b19", "-",
            fd0a864a0034456d3750d15bd2f08db4ef252b47, 82176,
            4ea3111fd25b148a8a022b3c8585d3ec36ade518, package_extract_file("patch/system/firmware/image/modem.b19.p"));
set_progress(0.550749);
apply_patch("/system/firmware/image/modem.b21", "-",
            eca0e914be566fcb2dce559e54d36f709cff9ecc, 17355322,
            a88e68c80306d71534536bd17061031ce200bb3d, package_extract_file("patch/system/firmware/image/modem.b21.p"));
set_progress(0.912122);
apply_patch("/system/firmware/image/modem.mdt", "-",
            d971a99731d195466f3f07b0a039bb120d7e1913, 8156,
            f2d41c04ccc46c7f07eb39646cc2aed2f3bcf453, package_extract_file("patch/system/firmware/image/modem.mdt.p"));
set_progress(0.912292);
apply_patch("/system/usr/bin/eagle_daemon", "-",
            d87a5005e0d5785641a5431a9d7b3c9ead202bd5, 80296,
            927b46b022c20e882518511265d6ea0e37de4fa1, package_extract_file("patch/system/usr/bin/eagle_daemon.p"));
set_progress(0.913964);
apply_patch("/system/usr/lib/libgetdns.so.10.1.2", "-",
            1de3204bb820f3cde9bfa766c38109d1fe846525, 433284,
            a62cf818c17453eac4a5b43cad8c08a5555c7320, package_extract_file("patch/system/usr/lib/libgetdns.so.10.1.2.p"));
set_progress(0.922986);
ui_print("Patching boot image...");
apply_patch("MTD:boot:3698688:0dc3a0b912852a1fc5d365e5e5bef60615fbd078:3698688:492fd6151034b814e2f732a28c0d7966953d6599",
            "-", 492fd6151034b814e2f732a28c0d7966953d6599, 3698688,
            0dc3a0b912852a1fc5d365e5e5bef60615fbd078, 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, 0644, "/system/firmware/image/modem.b10");
set_perm(0, 0, 0644, "/system/firmware/image/modem.b11");
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/usr/lib/libgetdns.so.10.1.2");
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/firmware/image/modem.b09");
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");
