ui_print("netprisma FOTA Tools
  Version
     v3.5 : now update modem or boot, don't remove and link any files
  Contact : <ramos.zhang@netprisma.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", "12a08d25107c09faa0f2201141af57aba4678e7f", "2ef9b6634cfa894e681ac5acd356ae6ef19215ee"));
set_progress(0.041874);
assert(apply_patch_check("/system/firmware/image/mba.mbn", "32dc9a41fd8093efeef4f46643127e8305e283bb", "d74ca29e2d08d4c9068c65e249cb42c1c9442097"));
set_progress(0.049751);
assert(apply_patch_check("/system/firmware/image/modem.b01", "142179bd8463b121fcf539ab21ccc393054573ec", "08258046e8a231fb2f2d44d9378b851a1bebe1f6"));
set_progress(0.049991);
assert(apply_patch_check("/system/firmware/image/modem.b09", "62c92f8b323a2c3a4ed5fd16b0adccc6534f7ffd", "da9a0a53dece28260eb9d3d4a974353544f59eb6"));
set_progress(0.056970);
assert(apply_patch_check("/system/firmware/image/modem.b10", "4e74490771c92fcdf3864d9ad5b83f01ba75976b", "96622157893cf328c7881220d04a832b563a3478"));
set_progress(0.081238);
assert(apply_patch_check("/system/firmware/image/modem.b11", "4f7d28c2f824c37e9f127cc3786d6c1b16fbfb8d", "9169d862cf7c83d33d876e71bcdaf2816a4a8bd1"));
set_progress(0.116301);
assert(apply_patch_check("/system/firmware/image/modem.b12", "e781fa73e4710a3eb1a2287529d4b1649f84cb37", "7799d8b9def105f6eea96d35d229fd94d0679852"));
set_progress(0.636678);
assert(apply_patch_check("/system/firmware/image/modem.b14", "7929247756143dd14fac5e348fb5b88a47219c80", "8d600eae1e599be4bdc6d66fb4b94bf2282d0c2e"));
set_progress(0.811963);
assert(apply_patch_check("/system/firmware/image/modem.b15", "534f8e97f8a927cbb47814471f6393f5dc14b194", "ab99196cbe03deeb8f3412fc23050a83120d810d"));
set_progress(0.871181);
assert(apply_patch_check("/system/firmware/image/modem.b19", "d764175b445cef8a7522badb4bd9544763f11bc6", "7a25e4679cea79fde5d7a3167b12cf05bfa0c874"));
set_progress(0.873893);
assert(apply_patch_check("/system/firmware/image/modem.mdt", "f0dc3c2ee9fb83c5051c34b7a93f73faa1f45bdb", "5bf585819d44ba23970fec0a11d3613d4a762249"));
set_progress(0.874162);
assert(apply_patch_check("/system/usr/bin/eagle_daemon", "c4869543bc31f07177bbe700071d1ef4d73a6bfa", "19c2b7d876d661b65f2c2085fb700a785ee24880"));
set_progress(0.876678);
assert(apply_patch_check("MTD:boot:3733504:7dcc660c4a6bcea64972bc0bc792eee328303459:3733504:1847ca430cb9a6d3982a6351824a49b3dc764a8e"));
set_progress(1.000000);

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

ui_print("Removing unneeded files...");
delete("/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/issue.net",
       "/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/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");
show_progress(0.800000, 0);
ui_print("Patching system files...");
apply_patch("/system/bin/busybox", "-",
            12a08d25107c09faa0f2201141af57aba4678e7f, 1267708,
            2ef9b6634cfa894e681ac5acd356ae6ef19215ee, package_extract_file("patch/system/bin/busybox.p"));
set_progress(0.041874);
apply_patch("/system/firmware/image/mba.mbn", "-",
            32dc9a41fd8093efeef4f46643127e8305e283bb, 238464,
            d74ca29e2d08d4c9068c65e249cb42c1c9442097, package_extract_file("patch/system/firmware/image/mba.mbn.p"));
set_progress(0.049751);
apply_patch("/system/firmware/image/modem.b01", "-",
            142179bd8463b121fcf539ab21ccc393054573ec, 7272,
            08258046e8a231fb2f2d44d9378b851a1bebe1f6, package_extract_file("patch/system/firmware/image/modem.b01.p"));
set_progress(0.049991);
apply_patch("/system/firmware/image/modem.b09", "-",
            62c92f8b323a2c3a4ed5fd16b0adccc6534f7ffd, 211276,
            da9a0a53dece28260eb9d3d4a974353544f59eb6, package_extract_file("patch/system/firmware/image/modem.b09.p"));
set_progress(0.056970);
apply_patch("/system/firmware/image/modem.b10", "-",
            4e74490771c92fcdf3864d9ad5b83f01ba75976b, 734716,
            96622157893cf328c7881220d04a832b563a3478, package_extract_file("patch/system/firmware/image/modem.b10.p"));
set_progress(0.081238);
apply_patch("/system/firmware/image/modem.b11", "-",
            4f7d28c2f824c37e9f127cc3786d6c1b16fbfb8d, 1061524,
            9169d862cf7c83d33d876e71bcdaf2816a4a8bd1, package_extract_file("patch/system/firmware/image/modem.b11.p"));
set_progress(0.116301);
apply_patch("/system/firmware/image/modem.b12", "-",
            e781fa73e4710a3eb1a2287529d4b1649f84cb37, 15754096,
            7799d8b9def105f6eea96d35d229fd94d0679852, package_extract_file("patch/system/firmware/image/modem.b12.p"));
set_progress(0.636678);
apply_patch("/system/firmware/image/modem.b14", "-",
            7929247756143dd14fac5e348fb5b88a47219c80, 5306655,
            8d600eae1e599be4bdc6d66fb4b94bf2282d0c2e, package_extract_file("patch/system/firmware/image/modem.b14.p"));
set_progress(0.811963);
apply_patch("/system/firmware/image/modem.b15", "-",
            534f8e97f8a927cbb47814471f6393f5dc14b194, 1792788,
            ab99196cbe03deeb8f3412fc23050a83120d810d, package_extract_file("patch/system/firmware/image/modem.b15.p"));
set_progress(0.871181);
apply_patch("/system/firmware/image/modem.b19", "-",
            d764175b445cef8a7522badb4bd9544763f11bc6, 82112,
            7a25e4679cea79fde5d7a3167b12cf05bfa0c874, package_extract_file("patch/system/firmware/image/modem.b19.p"));
set_progress(0.873893);
apply_patch("/system/firmware/image/modem.mdt", "-",
            f0dc3c2ee9fb83c5051c34b7a93f73faa1f45bdb, 8156,
            5bf585819d44ba23970fec0a11d3613d4a762249, package_extract_file("patch/system/firmware/image/modem.mdt.p"));
set_progress(0.874162);
apply_patch("/system/usr/bin/eagle_daemon", "-",
            c4869543bc31f07177bbe700071d1ef4d73a6bfa, 76156,
            19c2b7d876d661b65f2c2085fb700a785ee24880, package_extract_file("patch/system/usr/bin/eagle_daemon.p"));
set_progress(0.876678);
ui_print("Patching boot image...");
apply_patch("MTD:boot:3733504:7dcc660c4a6bcea64972bc0bc792eee328303459:3733504:1847ca430cb9a6d3982a6351824a49b3dc764a8e",
            "-", 1847ca430cb9a6d3982a6351824a49b3dc764a8e, 3733504,
            7dcc660c4a6bcea64972bc0bc792eee328303459, 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/pimd.conf");
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/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, 0644, "/system/etc/issue");
set_perm(0, 0, 0644, "/system/etc/sysctl.conf");
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/sbin/sys_reboot");
set_perm(0, 0, 0644, "/system/etc/issue.net");
set_perm(0, 0, 0755, "/system/bin/mountpoint.sysvinit");
set_perm(0, 0, 0644, "/system/firmware/image/modem.b09");
set_perm(0, 0, 0644, "/system/etc/version");
set_perm(0, 0, 0644, "/system/etc/timestamp");
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");
