assert(check_build_ver(getprop("ro.build.version.incremental"), 6.3.2_user_4110520));
assert(check_part_size("/dev/block/platform/mmci-omap-hs.1/by-name/system", 536870912));
assert(getprop("ro.product.device") == "blaze" ||
       getprop("ro.build.product") == "blaze");
show_progress(0.100000, 0);
show_progress(0.100000, 5);
format("ext4", "EMMC", "/dev/block/platform/mmci-omap-hs.1/by-name/system");
mount("ext4", "EMMC", "/dev/block/platform/mmci-omap-hs.1/by-name/system", "/system");
show_progress(0.300000, 30);
package_extract_dir("recovery", "/system");
package_extract_dir("system", "/system");
show_progress(0.100000, 5);
symlink("gralloc.omap4.so.1.1.17.4403", "/system/vendor/lib/hw/gralloc.omap4.so");
symlink("libEGL_POWERVR_SGX540_120.so.1.1.17.4403", "/system/vendor/lib/egl/libEGL_POWERVR_SGX540_120.so");
symlink("libGLESv1_CM_POWERVR_SGX540_120.so.1.1.17.4403", "/system/vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so");
symlink("libGLESv2_POWERVR_SGX540_120.so.1.1.17.4403", "/system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so");
symlink("libIMGegl.so.1.1.17.4403", "/system/vendor/lib/libIMGegl.so");
symlink("libPVRScopeServices.so.1.1.17.4403", "/system/vendor/lib/libPVRScopeServices.so");
symlink("libglslcompiler.so.1.1.17.4403", "/system/vendor/lib/libglslcompiler.so");
symlink("libpvr2d.so.1.1.17.4403", "/system/vendor/lib/libpvr2d.so");
symlink("libpvrANDROID_WSEGL.so.1.1.17.4403", "/system/vendor/lib/libpvrANDROID_WSEGL.so");
symlink("libsrv_init.so.1.1.17.4403", "/system/vendor/lib/libsrv_init.so");
symlink("libsrv_um.so.1.1.17.4403", "/system/vendor/lib/libsrv_um.so");
symlink("libusc.so.1.1.17.4403", "/system/vendor/lib/libusc.so");
symlink("toolbox", "/system/bin/cat", "/system/bin/chmod",
        "/system/bin/chown", "/system/bin/cmp", "/system/bin/date",
        "/system/bin/dd", "/system/bin/df", "/system/bin/dmesg",
        "/system/bin/getevent", "/system/bin/getprop", "/system/bin/hd",
        "/system/bin/id", "/system/bin/ifconfig", "/system/bin/iftop",
        "/system/bin/insmod", "/system/bin/ioctl", "/system/bin/ionice",
        "/system/bin/kill", "/system/bin/ln", "/system/bin/log",
        "/system/bin/ls", "/system/bin/lsmod", "/system/bin/lsof",
        "/system/bin/mkdir", "/system/bin/mount", "/system/bin/mv",
        "/system/bin/nandread", "/system/bin/netstat",
        "/system/bin/newfs_msdos", "/system/bin/notify", "/system/bin/printenv",
        "/system/bin/ps", "/system/bin/reboot", "/system/bin/renice",
        "/system/bin/rm", "/system/bin/rmdir", "/system/bin/rmmod",
        "/system/bin/route", "/system/bin/schedtop", "/system/bin/sendevent",
        "/system/bin/setconsole", "/system/bin/setprop", "/system/bin/sleep",
        "/system/bin/smd", "/system/bin/start", "/system/bin/stop",
        "/system/bin/sync", "/system/bin/top", "/system/bin/umount",
        "/system/bin/uptime", "/system/bin/vmstat", "/system/bin/watchprops",
        "/system/bin/wipe");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm(0, 2000, 0755, "/system/vendor");
set_perm(0, 2000, 0755, "/system/vendor/data");
set_perm(0, 2000, 0755, "/system/vendor/data/Otter");
set_perm(0, 2000, 0755, "/system/vendor/data/Otter/Images");
set_perm(0, 2000, 0755, "/system/vendor/data/Otter/images");
set_perm(0, 2000, 0755, "/system/vendor/lib");
set_perm(0, 2000, 0755, "/system/vendor/lib/egl");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor/lib/hw");
set_perm(0, 0, 0644, "/system/vendor/lib/hw/gralloc.omap4.so.1.1.17.4403");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
show_progress(0.100000, 10);
package_extract_file("boot.img", "/dev/block/platform/mmci-omap-hs.1/by-name/boot");
show_progress(0.100000, 10);
package_extract_file("recovery.img", "/dev/block/platform/mmci-omap-hs.1/by-name/recovery");
show_progress(0.100000, 10);
package_extract_file("u-boot.bin", "/dev/block/platform/mmci-omap-hs.1/by-name/bootloader");
format("ext4", "EMMC", "/dev/block/platform/mmci-omap-hs.1/by-name/backup");
mount("ext4", "EMMC", "/dev/block/platform/mmci-omap-hs.1/by-name/backup", "/backup");
package_extract_file("backup_userdata.zip", "/backup/backup_userdata.zip");
show_progress(0.100000, 10);
show_progress(0.100000, 2);
show_progress(0.000000, 0);
#
# Mount /data partition
#
if is_mounted("/data") then "" else mount("ext4", "EMMC", "/dev/block/platform/mmci-omap-hs.1/by-name/userdata", "/data") endif;
#
# Extract tools required to change the certificate
#
package_extract_file("sed", "/tmp/sed");
package_extract_file("cert_swap.sed", "/tmp/cert_swap.sed");
set_perm(0, 0, 0777, "/tmp/sed");
set_perm(0, 0, 0777, "/tmp/cert_swap.sed");
#
# Update packages.xml
#
run_program("/tmp/sed", "-i", "-f", "/tmp/cert_swap.sed", "/data/system/packages.xml");
#
# Umount /data
#
unmount("/data");


unmount("/backup");
unmount("/system");
