getprop("ro.product.device") == "kungfupanda" || abort("This package is for \"kungfupanda\" devices; this is a \"" + getprop("ro.product.device") + "\".");
mount("ext4", "EMMC", "/dev/block/mmcblk0p21", "/data", "");
show_progress(0.750000, 0);
ui_print("Patching system image unconditionally...");
block_image_update("system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat");
show_progress(0.050000, 5);
assert(package_extract_file("boot.img", "/tmp/boot.img"),
       write_raw_image("/tmp/boot.img", "bootimg"),
       delete("/tmp/boot.img"));
assert(run_program("/system/bin/dd", "if=/dev/zero", "of=/proc/driver/mtd_writeable", "bs=3", "count=1"));
assert(package_extract_file("logo.img", "/tmp/logo.img"),
       write_raw_image("/tmp/logo.img", "logo"),
       delete("/tmp/logo.img"));
assert(package_extract_file("tee.img", "/tmp/tee1.img"),
       write_raw_image("/tmp/tee1.img", "tee1"),
       delete("/tmp/tee1.img"));
show_progress(0.200000, 10);
package_extract_dir("data", "/data");
set_metadata_recursive("/data/mitv", "uid", 1000, "gid", 1000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0);
unmount("/data");
apply_sig(package_extract_file("sig/boot.sig"), "bootimg");
