getprop("ro.product.device") == "g7" || file_getprop("/default.prop", "ro.product.device") == "g7" || abort("This package is for \"g7\" devices; this is a \"" + getprop("ro.product.device") + "\".");
ui_print("Target: PTx_Trimble/g7/g7:6.0.1/0.0.1.1/1741123673.AGG-AOSP17-user-1:user/release-keys");
package_extract_file("tools/getprop", "/tmp/getprop");
package_extract_file("tools/setprop", "/tmp/setprop");
package_extract_file("tools/busybox", "/tmp/busybox");
package_extract_file("tools/partition_check.sh", "/tmp/partition_check.sh");
set_metadata("/tmp/getprop", "uid", 0, "gid", 0, "mode", 0770, "capabilities", 0x0);
set_metadata("/tmp/setprop", "uid", 0, "gid", 0, "mode", 0770, "capabilities", 0x0);
set_metadata("/tmp/busybox", "uid", 0, "gid", 0, "mode", 0770, "capabilities", 0x0);
set_metadata("/tmp/partition_check.sh", "uid", 0, "gid", 0, "mode", 0770, "capabilities", 0x0);
if run_program("/tmp/partition_check.sh") != "0" then
ui_print("********************************************************************************"); ui_print("");
ui_print("This prototype hardware does not support future upgrades due to a storage allocation issue.");
ui_print("Contact your Trimble representative for further details.");
ui_print(""); ui_print("********************************************************************************");
abort("Partition check failed"); endif;
package_extract_file("tools/busybox", "/tmp/busybox");
package_extract_file("tools/coprocessor", "/tmp/coprocessor");
package_extract_file("tools/stm32flash", "/tmp/stm32flash");
package_extract_file("firmware/coproc_g7.bin", "/tmp/coproc_g7.bin");
package_extract_file("firmware/fpga_g7.bin", "/tmp/fpga_g7.bin");
package_extract_file("firmware/fpga_g7.jed", "/tmp/fpga_g7.jed");
set_metadata("/tmp/busybox", "uid", 0, "gid", 0, "mode", 0770, "capabilities", 0x0);
set_metadata("/tmp/coprocessor", "uid", 0, "gid", 0, "mode", 0770, "capabilities", 0x0);
set_metadata("/tmp/stm32flash", "uid", 0, "gid", 0, "mode", 0770, "capabilities", 0x0);
if run_program("/tmp/busybox", "sh", "/tmp/coprocessor", "pgm", "/tmp/coproc_g7.bin") != "0" then abort("Could not update coprocessor"); endif;
package_extract_file("u-boot-main.imx", "/tmp/u-boot-main.imx");
g7.install_uboot("/tmp/u-boot-main.imx", "e28ddae1b3c1862ca3191d3249b274e4");
delete("/tmp/u-boot-main.imx");
show_progress(0.750000, 0);
ui_print("Patching system image unconditionally...");
block_image_update("/dev/block/mmcblk0p5", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat");
show_progress(0.050000, 5);
package_extract_file("boot.img", "/dev/block/mmcblk0p1");
show_progress(0.200000, 10);
package_extract_file("META-INF/MANIFEST.MF", "/system/etc/manifest");
