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", "aea16e6c94f08692aba72c8c9be452a48522d00a", "8d9221cf0dc1abad252dca8e7b94f794d0a84306"));
set_progress(0.027558);
assert(apply_patch_check("/system/firmware/image/mba.mbn", "69782f9e46c9980ec6b1cb69148fb21c0e908929", "15c17149af7bf1f4648ede2a437299b1913ef87a"));
set_progress(0.032742);
assert(apply_patch_check("/system/firmware/image/modem.b01", "6ce7044c542ec83a7e29a3fccf156c47013d8b01", "d5b9099438e5603d1399383c75c3a0d062deec51"));
set_progress(0.032900);
assert(apply_patch_check("/system/firmware/image/modem.b12", "4bc2992264a113bf0ed4d1f295c5f7856e56a4f4", "6af04b0d438aa38fc7c1b4169e850203a053e44c"));
set_progress(0.375354);
assert(apply_patch_check("/system/firmware/image/modem.b14", "726333e793c34e03f8852dfe81e3374e3e242ea6", "8a95b59e717445c10033d61c954ca75fe65b8d10"));
set_progress(0.490581);
assert(apply_patch_check("/system/firmware/image/modem.b15", "6c2c9e0491b55dfd526291aaaead5b743d0b9704", "4b9a4d19468009ed1774fb25424351af268ca021"));
set_progress(0.529553);
assert(apply_patch_check("/system/firmware/image/modem.b19", "409ebd487b37def1580a492965296052d9087e7f", "f6352eb2e14b00b842de55129a47c0dd263edbca"));
set_progress(0.531340);
assert(apply_patch_check("/system/firmware/image/modem.b21", "6109833d8fa5f70f0d55fc1623258d7cb56404be", "5fcc8807045fd1124dcf38e388d35ddac7fbbc39", "f30c1ac63880ba142bae2392af527c2d06e4b331", "f30c1ac63880ba142bae2392af527c2d06e4b331"));
set_progress(0.908253);
assert(apply_patch_check("/system/firmware/image/modem.mdt", "8932768f91f31b08bb7fed9157fab085a0ce2aa8", "8f9eb4aacb4874e554b2d84ebd5d78b22dc7e5e8"));
set_progress(0.908431);
assert(apply_patch_check("/system/usr/bin/eagle_daemon", "b6b3fc4a7a3f6fba1134f898e414f1299e51d1b8", "bda66307770549c06c1a594966cc9cfa8efbc9e3"));
set_progress(0.910176);
assert(apply_patch_check("/system/usr/lib/libgetdns.so.10.1.2", "3a49bb4d185f7a578c1d08012e977c89032798d3", "f9ebee0b4141f97931f9e62f978c1211de59d0bf"));
set_progress(0.919595);
assert(apply_patch_check("MTD:boot:3698688:6a5b1aefafc7d5466a8a76153f9cb0cbdbee02f4:3698688:57e4f180e01aaba539a4ed862bff643f7c4cacc1"));
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", "-",
            aea16e6c94f08692aba72c8c9be452a48522d00a, 1267708,
            8d9221cf0dc1abad252dca8e7b94f794d0a84306, package_extract_file("patch/system/bin/busybox.p"));
set_progress(0.027548);
apply_patch("/system/firmware/image/mba.mbn", "-",
            69782f9e46c9980ec6b1cb69148fb21c0e908929, 238464,
            15c17149af7bf1f4648ede2a437299b1913ef87a, package_extract_file("patch/system/firmware/image/mba.mbn.p"));
set_progress(0.032730);
apply_patch("/system/firmware/image/modem.b01", "-",
            6ce7044c542ec83a7e29a3fccf156c47013d8b01, 7272,
            d5b9099438e5603d1399383c75c3a0d062deec51, package_extract_file("patch/system/firmware/image/modem.b01.p"));
set_progress(0.032888);
apply_patch("/system/firmware/image/modem.b12", "-",
            4bc2992264a113bf0ed4d1f295c5f7856e56a4f4, 15753200,
            6af04b0d438aa38fc7c1b4169e850203a053e44c, package_extract_file("patch/system/firmware/image/modem.b12.p"));
set_progress(0.375216);
apply_patch("/system/firmware/image/modem.b14", "-",
            726333e793c34e03f8852dfe81e3374e3e242ea6, 5300543,
            8a95b59e717445c10033d61c954ca75fe65b8d10, package_extract_file("patch/system/firmware/image/modem.b14.p"));
set_progress(0.490401);
apply_patch("/system/firmware/image/modem.b15", "-",
            6c2c9e0491b55dfd526291aaaead5b743d0b9704, 1792756,
            4b9a4d19468009ed1774fb25424351af268ca021, package_extract_file("patch/system/firmware/image/modem.b15.p"));
set_progress(0.529358);
apply_patch("/system/firmware/image/modem.b19", "-",
            409ebd487b37def1580a492965296052d9087e7f, 82176,
            f6352eb2e14b00b842de55129a47c0dd263edbca, package_extract_file("patch/system/firmware/image/modem.b19.p"));
set_progress(0.531144);
apply_patch("/system/firmware/image/modem.b21", "-",
            6109833d8fa5f70f0d55fc1623258d7cb56404be, 17355322,
            5fcc8807045fd1124dcf38e388d35ddac7fbbc39, package_extract_file("patch/system/firmware/image/modem.b21.p"));
set_progress(0.908287);
apply_patch("/system/firmware/image/modem.mdt", "-",
            8932768f91f31b08bb7fed9157fab085a0ce2aa8, 8156,
            8f9eb4aacb4874e554b2d84ebd5d78b22dc7e5e8, package_extract_file("patch/system/firmware/image/modem.mdt.p"));
set_progress(0.908464);
apply_patch("/system/usr/bin/eagle_daemon", "-",
            b6b3fc4a7a3f6fba1134f898e414f1299e51d1b8, 80296,
            bda66307770549c06c1a594966cc9cfa8efbc9e3, package_extract_file("patch/system/usr/bin/eagle_daemon.p"));
set_progress(0.910209);
apply_patch("/system/usr/lib/libgetdns.so.10.1.2", "-",
            3a49bb4d185f7a578c1d08012e977c89032798d3, 433284,
            f9ebee0b4141f97931f9e62f978c1211de59d0bf, package_extract_file("patch/system/usr/lib/libgetdns.so.10.1.2.p"));
set_progress(0.919625);
ui_print("Patching boot image...");
apply_patch("MTD:boot:3698688:6a5b1aefafc7d5466a8a76153f9cb0cbdbee02f4:3698688:57e4f180e01aaba539a4ed862bff643f7c4cacc1",
            "-", 57e4f180e01aaba539a4ed862bff643f7c4cacc1, 3698688,
            6a5b1aefafc7d5466a8a76153f9cb0cbdbee02f4, 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/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/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");
