ui_print("start......");
set_progress("1");
show_progress("1","50");


ui_print("current board ......");
ui_print(getprop("ro.product.name"));
ui_print("extract build.prop......");
package_extract_file("vendor/simple.prop", "/tmp/simple.prop");
package_extract_file("runsetprop.sh", "/tmp/runsetprop.sh");
ui_print("s/w board ......");
ui_print(file_getprop("tmp/simple.prop","ro.product.name"));
ui_print("persist.sys.update.checkbd ......");
ui_print(file_getprop("tmp/simple.prop","persist.sys.update.checkbd"));

ifelse(file_getprop("tmp/simple.prop","persist.sys.update.checkbd")=="true",
  ui_print("Check  board......");
	assert (getprop("ro.product.name") == file_getprop("tmp/simple.prop","ro.product.name"));
	,
	ui_print("Non Check  board......");
);

ui_print("simple update ......");

ui_print("update system........");
ifelse(is_mounted("/system"),unmount("/system"));	
mount("ext4", "EMMC", "/dev/block/platform/soc/f9830000.himciv200.MMC/by-name/system", "/system");
package_extract_dir("system", "/system");

#set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
#set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
#set_perm_recursive(0, 2000, 0755, 0755, "/system/etc");
#set_perm_recursive(0, 1000, 0775, 0775, "/system/app");
#set_perm_recursive(0, 1000, 0775, 0775, "/system/lib");
#set_perm_recursive(0, 1000, 0775, 0775, "/system/priv-app");

ifelse(is_mounted("/data"),unmount("/data"));	
mount("ext4", "EMMC", "/dev/block/platform/soc/f9830000.himciv200.MMC/by-name/userdata", "/data");
ifelse(is_mounted("/vendor"),unmount("/vendor"));	
mount("ext4", "EMMC", "/dev/block/platform/soc/f9830000.himciv200.MMC/by-name/vendor", "/vendor");

#ifelse(is_mounted("/eonuser"),unmount("/eonuser"));	
#mount("ext4", "EMMC", "/dev/block/platform/soc/f9830000.himciv200.MMC/by-name/eonuser", "/eonuser");

ui_print("update vendor........");
package_extract_dir("vendor", "/vendor");

ifelse(isexistfile("/data/oscam/oscamworks.exe") == "ok",
	ui_print("Remove data oscamworks.exe ......");
	run_program("/sbin/busybox","rm","-rf","/data/oscam");
	,
	ui_print("Can't find data oscam ......");
);
#ifelse(isexistfile("/data/oscam/oscam.server") == "ok",
#	ui_print("Remove data oscam.server ......");
#	run_program("/sbin/busybox","rm","-f","/data/oscam/*");
#	,
#	ui_print("Can't find data oscam ......");
#);

ifelse(isexistfile("/tmp/runsetprop.sh") == "ok",   
    set_perm(0, 0, 0777, "/tmp/runsetprop.sh"); 
    ui_print("run runsetprop.sh......"); 
    ui_print(file_getprop("tmp/simple.prop","persist.simple.version"));
    run_program("/tmp/runsetprop.sh",file_getprop("tmp/simple.prop","persist.simple.version"));
);

ifelse(isexistfile("/system/tvheadend/tvh8.exe") == "ok",
	ui_print("Set candy permission ......");
	set_perm(0, 2000, 0755, "/system/tvheadend/tvh8.exe");
);
ifelse(isexistfile("/system/tvheadend/tvh8.sh") == "ok",
	ui_print("Set candy permission ......");
	set_perm(0, 2000, 0755, "/system/tvheadend/tvh8.sh");
);
ifelse(isexistfile("/system/oscam/oscam8.exe") == "ok",
	ui_print("Set candy permission ......");
	set_perm(0, 2000, 0755, "/system/oscam/oscam8.exe");
);
ifelse(isexistfile("/system/oscam/oscam8.sh") == "ok",
	ui_print("Set candy sh permission ......");
	set_perm(0, 2000, 0755, "/system/oscam/oscam8.sh");
);

ifelse(isuserversion(),
    ui_print(" ----user version----- "),
    ui_print(" --------- ");
    set_perm(0, 2000, 04750, "/system/xbin/su");
);

#set_perm_recursive(0, 2000, 0755, 0755, "/vendor/bin");
#set_perm_recursive(0, 1000, 0775, 0775, "/vendor/app");

ifelse(isexistupdatepackage("/cache"),
    ui_print("update.zip in cache......");
    delete_recursive("/cache"),
    ui_print("format cache......");
    unmount("/cache");
    format("ext4", "EMMC", "/dev/block/platform/soc/f9830000.himciv200.MMC/by-name/cache", "0", "/cache");
);symlink("/system/lib/libdefcontainer_jni.so", "/system/priv-app/DefaultContainerService/lib/arm/libdefcontainer_jni.so");
symlink("Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf");
symlink("Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf");
symlink("toybox", "/system/bin/env");
symlink("toybox", "/system/bin/sendevent");
symlink("toybox", "/system/bin/time");
symlink("toybox", "/system/bin/cp");
symlink("toybox", "/system/bin/file");
symlink("grep", "/system/bin/fgrep");
symlink("toybox", "/system/bin/sha512sum");
symlink("toybox", "/system/bin/sha384sum");
symlink("toybox", "/system/bin/hostname");
symlink("toybox", "/system/bin/pgrep");
symlink("toolbox", "/system/bin/getevent");
symlink("toybox", "/system/bin/uniq");
symlink("toybox", "/system/bin/microcom");
symlink("toybox", "/system/bin/strings");
symlink("toybox", "/system/bin/pmap");
symlink("toybox", "/system/bin/rm");
symlink("toybox", "/system/bin/logname");
symlink("toybox", "/system/bin/timeout");
symlink("toybox", "/system/bin/xxd");
symlink("toybox", "/system/bin/xargs");
symlink("toybox", "/system/bin/ionice");
symlink("toybox", "/system/bin/cal");
symlink("toybox", "/system/bin/usleep");
symlink("toolbox", "/system/bin/dd");
symlink("toybox", "/system/bin/chmod");
symlink("toybox", "/system/bin/tail");
symlink("toybox", "/system/bin/acpi");
symlink("toybox", "/system/bin/ulimit");
symlink("toybox", "/system/bin/pwd");
symlink("toybox", "/system/bin/head");
symlink("toybox", "/system/bin/pidof");
symlink("toybox", "/system/bin/log");
symlink("toybox", "/system/bin/stop");
symlink("toybox", "/system/bin/lsusb");
symlink("toybox", "/system/bin/lsof");
symlink("toybox", "/system/bin/killall");
symlink("toybox", "/system/bin/modprobe");
symlink("toybox", "/system/bin/top");
symlink("dalvikvm32", "/system/bin/dalvikvm");
symlink("toybox", "/system/bin/setsid");
symlink("toybox", "/system/bin/renice");
symlink("toybox", "/system/bin/printf");
symlink("toybox", "/system/bin/paste");
symlink("toybox", "/system/bin/umount");
symlink("toybox", "/system/bin/cat");
symlink("toybox", "/system/bin/cpio");
symlink("toybox", "/system/bin/dirname");
symlink("iptables", "/system/bin/iptables-save");
symlink("toybox", "/system/bin/mkswap");
symlink("toybox", "/system/bin/split");
symlink("toybox", "/system/bin/find");
symlink("ip6tables", "/system/bin/ip6tables-save");
symlink("toybox", "/system/bin/vmstat");
symlink("toybox", "/system/bin/wc");
symlink("toybox", "/system/bin/chrt");
symlink("toybox", "/system/bin/restorecon");
symlink("toybox", "/system/bin/iorenice");
symlink("toybox", "/system/bin/blockdev");
symlink("toybox", "/system/bin/chown");
symlink("toybox", "/system/bin/getprop");
symlink("toybox", "/system/bin/sleep");
symlink("toybox", "/system/bin/uptime");
symlink("toybox", "/system/bin/tr");
symlink("toybox", "/system/bin/cmp");
symlink("toybox", "/system/bin/tee");
symlink("toybox", "/system/bin/rmmod");
symlink("iptables", "/system/bin/iptables-restore");
symlink("toybox", "/system/bin/dos2unix");
symlink("toybox", "/system/bin/dmesg");
symlink("linker", "/system/bin/linker_asan");
symlink("toybox", "/system/bin/sed");
symlink("toybox", "/system/bin/lsmod");
symlink("toybox", "/system/bin/ls");
symlink("toybox", "/system/bin/readlink");
symlink("toybox", "/system/bin/load_policy");
symlink("toybox", "/system/bin/patch");
symlink("toybox", "/system/bin/fallocate");
symlink("toybox", "/system/bin/runcon");
symlink("toybox", "/system/bin/basename");
symlink("toybox", "/system/bin/md5sum");
symlink("toybox", "/system/bin/uudecode");
symlink("toybox", "/system/bin/ps");
symlink("toybox", "/system/bin/start");
symlink("bzip2", "/system/bin/bunzip2");
symlink("toybox", "/system/bin/insmod");
symlink("toybox", "/system/bin/tty");
symlink("toybox", "/system/bin/printenv");
symlink("toybox", "/system/bin/rmdir");
symlink("toybox", "/system/bin/pkill");
symlink("toybox", "/system/bin/expand");
symlink("toybox", "/system/bin/free");
symlink("toybox", "/system/bin/nl");
symlink("toybox", "/system/bin/sync");
symlink("toybox", "/system/bin/stat");
symlink("toybox", "/system/bin/ifconfig");
symlink("toybox", "/system/bin/yes");
symlink("toybox", "/system/bin/losetup");
symlink("toybox", "/system/bin/ln");
symlink("toybox", "/system/bin/nice");
symlink("toybox", "/system/bin/false");
symlink("toybox", "/system/bin/nohup");
symlink("toybox", "/system/bin/cksum");
symlink("toybox", "/system/bin/chcon");
symlink("toybox", "/system/bin/groups");
symlink("toybox", "/system/bin/tac");
symlink("toybox", "/system/bin/sort");
symlink("toybox", "/system/bin/swapoff");
symlink("toybox", "/system/bin/chgrp");
symlink("toybox", "/system/bin/hwclock");
symlink("toybox", "/system/bin/unix2dos");
symlink("ip6tables", "/system/bin/ip6tables-restore");
symlink("toybox", "/system/bin/realpath");
symlink("toybox", "/system/bin/mountpoint");
symlink("toybox", "/system/bin/mount");
symlink("bzip2", "/system/bin/bzcat");
symlink("grep", "/system/bin/egrep");
symlink("toybox", "/system/bin/mktemp");
symlink("toybox", "/system/bin/du");
symlink("toybox", "/system/bin/echo");
symlink("toybox", "/system/bin/base64");
symlink("toybox", "/system/bin/netstat");
symlink("toybox", "/system/bin/chroot");
symlink("toybox", "/system/bin/sha256sum");
symlink("app_process32", "/system/bin/app_process");
symlink("toybox", "/system/bin/tar");
symlink("toybox", "/system/bin/mv");
symlink("toybox", "/system/bin/clear");
symlink("toybox", "/system/bin/modinfo");
symlink("toybox", "/system/bin/comm");
symlink("toybox", "/system/bin/swapon");
symlink("toybox", "/system/bin/sha1sum");
symlink("toybox", "/system/bin/flock");
symlink("toybox", "/system/bin/more");
symlink("toybox", "/system/bin/mkdir");
symlink("toybox", "/system/bin/cut");
symlink("toybox", "/system/bin/sysctl");
symlink("toybox", "/system/bin/setenforce");
symlink("toybox", "/system/bin/seq");
symlink("toybox", "/system/bin/touch");
symlink("toybox", "/system/bin/which");
symlink("toybox", "/system/bin/truncate");
symlink("toolbox", "/system/bin/newfs_msdos");
symlink("toybox", "/system/bin/expr");
symlink("toybox", "/system/bin/inotifyd");
symlink("toybox", "/system/bin/getenforce");
symlink("toybox", "/system/bin/mknod");
symlink("toybox", "/system/bin/kill");
symlink("toybox", "/system/bin/whoami");
symlink("toybox", "/system/bin/uuencode");
symlink("toybox", "/system/bin/uname");
symlink("toybox", "/system/bin/true");
symlink("toybox", "/system/bin/sha224sum");
symlink("toybox", "/system/bin/taskset");
symlink("toybox", "/system/bin/id");
symlink("toybox", "/system/bin/date");
symlink("toybox", "/system/bin/df");
symlink("toybox", "/system/bin/setprop");
symlink("toybox", "/system/bin/od");
symlink("/system/lib/libandroid_runtime.so", "/system/app/HiMusic/lib/arm/libandroid_runtime.so");
symlink("/system/lib/libbluetooth_jni.so", "/system/app/Bluetooth/lib/arm/libbluetooth_jni.so");
symlink("/system/lib/libWnnEngDic.so", "/system/app/OpenWnn/lib/arm/libWnnEngDic.so");
symlink("/system/lib/libWnnJpnDic.so", "/system/app/OpenWnn/lib/arm/libWnnJpnDic.so");
symlink("/system/lib/libwnndict.so", "/system/app/OpenWnn/lib/arm/libwnndict.so");
symlink("/system/lib/liboffscreenobject.so", "/system/app/HiGalleryL/lib/arm/liboffscreenobject.so");
symlink("/system/lib/libgallerycore.so", "/system/app/HiGalleryL/lib/arm/libgallerycore.so");
symlink("/system/lib/libandroid_runtime.so", "/system/app/HiFileManager/lib/arm/libandroid_runtime.so");
symlink("/system/lib/libjni_pacprocessor.so", "/system/app/PacProcessor/lib/arm/libjni_pacprocessor.so");
symlink("/system/lib/libandroid_runtime.so", "/system/app/HiVideoPlayer/lib/arm/libandroid_runtime.so");
symlink("/vendor", "/system/vendor");
symlink("toybox_vendor", "/vendor/bin/env");
symlink("toybox_vendor", "/vendor/bin/sendevent");
symlink("toybox_vendor", "/vendor/bin/time");
symlink("toybox_vendor", "/vendor/bin/cp");
symlink("toybox_vendor", "/vendor/bin/file");
symlink("toybox_vendor", "/vendor/bin/sha512sum");
symlink("toybox_vendor", "/vendor/bin/sha384sum");
symlink("toybox_vendor", "/vendor/bin/hostname");
symlink("toybox_vendor", "/vendor/bin/pgrep");
symlink("toybox_vendor", "/vendor/bin/uniq");
symlink("toybox_vendor", "/vendor/bin/microcom");
symlink("toybox_vendor", "/vendor/bin/strings");
symlink("toybox_vendor", "/vendor/bin/pmap");
symlink("toybox_vendor", "/vendor/bin/rm");
symlink("toybox_vendor", "/vendor/bin/logname");
symlink("toybox_vendor", "/vendor/bin/timeout");
symlink("toybox_vendor", "/vendor/bin/xxd");
symlink("toybox_vendor", "/vendor/bin/xargs");
symlink("toybox_vendor", "/vendor/bin/ionice");
symlink("toybox_vendor", "/vendor/bin/cal");
symlink("toybox_vendor", "/vendor/bin/usleep");
symlink("toybox_vendor", "/vendor/bin/chmod");
symlink("toybox_vendor", "/vendor/bin/tail");
symlink("toybox_vendor", "/vendor/bin/acpi");
symlink("toybox_vendor", "/vendor/bin/ulimit");
symlink("toybox_vendor", "/vendor/bin/pwd");
symlink("toybox_vendor", "/vendor/bin/head");
symlink("toybox_vendor", "/vendor/bin/pidof");
symlink("toybox_vendor", "/vendor/bin/log");
symlink("toybox_vendor", "/vendor/bin/stop");
symlink("toybox_vendor", "/vendor/bin/lsusb");
symlink("toybox_vendor", "/vendor/bin/lsof");
symlink("toybox_vendor", "/vendor/bin/killall");
symlink("toybox_vendor", "/vendor/bin/modprobe");
symlink("toybox_vendor", "/vendor/bin/top");
symlink("toybox_vendor", "/vendor/bin/setsid");
symlink("toybox_vendor", "/vendor/bin/renice");
symlink("toybox_vendor", "/vendor/bin/printf");
symlink("toybox_vendor", "/vendor/bin/paste");
symlink("toybox_vendor", "/vendor/bin/umount");
symlink("toybox_vendor", "/vendor/bin/cat");
symlink("toybox_vendor", "/vendor/bin/cpio");
symlink("toybox_vendor", "/vendor/bin/dirname");
symlink("toybox_vendor", "/vendor/bin/mkswap");
symlink("toybox_vendor", "/vendor/bin/split");
symlink("toybox_vendor", "/vendor/bin/find");
symlink("toybox_vendor", "/vendor/bin/vmstat");
symlink("toybox_vendor", "/vendor/bin/wc");
symlink("toybox_vendor", "/vendor/bin/chrt");
symlink("toybox_vendor", "/vendor/bin/restorecon");
symlink("toybox_vendor", "/vendor/bin/iorenice");
symlink("toybox_vendor", "/vendor/bin/blockdev");
symlink("toybox_vendor", "/vendor/bin/chown");
symlink("toybox_vendor", "/vendor/bin/getprop");
symlink("toybox_vendor", "/vendor/bin/sleep");
symlink("toybox_vendor", "/vendor/bin/uptime");
symlink("toybox_vendor", "/vendor/bin/tr");
symlink("toybox_vendor", "/vendor/bin/cmp");
symlink("toybox_vendor", "/vendor/bin/tee");
symlink("toybox_vendor", "/vendor/bin/rmmod");
symlink("toybox_vendor", "/vendor/bin/dos2unix");
symlink("toybox_vendor", "/vendor/bin/dmesg");
symlink("toybox_vendor", "/vendor/bin/sed");
symlink("toybox_vendor", "/vendor/bin/lsmod");
symlink("toybox_vendor", "/vendor/bin/ls");
symlink("toybox_vendor", "/vendor/bin/readlink");
symlink("toybox_vendor", "/vendor/bin/load_policy");
symlink("toybox_vendor", "/vendor/bin/patch");
symlink("toybox_vendor", "/vendor/bin/fallocate");
symlink("toybox_vendor", "/vendor/bin/runcon");
symlink("toybox_vendor", "/vendor/bin/basename");
symlink("toybox_vendor", "/vendor/bin/md5sum");
symlink("toybox_vendor", "/vendor/bin/uudecode");
symlink("toybox_vendor", "/vendor/bin/ps");
symlink("toybox_vendor", "/vendor/bin/start");
symlink("toybox_vendor", "/vendor/bin/insmod");
symlink("toybox_vendor", "/vendor/bin/tty");
symlink("toybox_vendor", "/vendor/bin/printenv");
symlink("toybox_vendor", "/vendor/bin/rmdir");
symlink("toybox_vendor", "/vendor/bin/pkill");
symlink("toybox_vendor", "/vendor/bin/expand");
symlink("toybox_vendor", "/vendor/bin/free");
symlink("toybox_vendor", "/vendor/bin/nl");
symlink("toybox_vendor", "/vendor/bin/sync");
symlink("toybox_vendor", "/vendor/bin/stat");
symlink("toybox_vendor", "/vendor/bin/ifconfig");
symlink("toybox_vendor", "/vendor/bin/yes");
symlink("toybox_vendor", "/vendor/bin/losetup");
symlink("toybox_vendor", "/vendor/bin/ln");
symlink("toybox_vendor", "/vendor/bin/nice");
symlink("toybox_vendor", "/vendor/bin/false");
symlink("toybox_vendor", "/vendor/bin/nohup");
symlink("toybox_vendor", "/vendor/bin/cksum");
symlink("toybox_vendor", "/vendor/bin/chcon");
symlink("toybox_vendor", "/vendor/bin/groups");
symlink("toybox_vendor", "/vendor/bin/tac");
symlink("toybox_vendor", "/vendor/bin/sort");
symlink("toybox_vendor", "/vendor/bin/swapoff");
symlink("toybox_vendor", "/vendor/bin/chgrp");
symlink("toybox_vendor", "/vendor/bin/hwclock");
symlink("toybox_vendor", "/vendor/bin/unix2dos");
symlink("toybox_vendor", "/vendor/bin/realpath");
symlink("toybox_vendor", "/vendor/bin/mountpoint");
symlink("toybox_vendor", "/vendor/bin/mount");
symlink("toybox_vendor", "/vendor/bin/mktemp");
symlink("toybox_vendor", "/vendor/bin/du");
symlink("toybox_vendor", "/vendor/bin/echo");
symlink("toybox_vendor", "/vendor/bin/base64");
symlink("toybox_vendor", "/vendor/bin/netstat");
symlink("toybox_vendor", "/vendor/bin/chroot");
symlink("toybox_vendor", "/vendor/bin/sha256sum");
symlink("toybox_vendor", "/vendor/bin/tar");
symlink("toybox_vendor", "/vendor/bin/mv");
symlink("toybox_vendor", "/vendor/bin/clear");
symlink("toybox_vendor", "/vendor/bin/modinfo");
symlink("toybox_vendor", "/vendor/bin/comm");
symlink("toybox_vendor", "/vendor/bin/swapon");
symlink("toybox_vendor", "/vendor/bin/sha1sum");
symlink("toybox_vendor", "/vendor/bin/flock");
symlink("toybox_vendor", "/vendor/bin/more");
symlink("toybox_vendor", "/vendor/bin/mkdir");
symlink("toybox_vendor", "/vendor/bin/cut");
symlink("toybox_vendor", "/vendor/bin/sysctl");
symlink("toybox_vendor", "/vendor/bin/setenforce");
symlink("toybox_vendor", "/vendor/bin/seq");
symlink("toybox_vendor", "/vendor/bin/touch");
symlink("toybox_vendor", "/vendor/bin/which");
symlink("toybox_vendor", "/vendor/bin/truncate");
symlink("toybox_vendor", "/vendor/bin/expr");
symlink("toybox_vendor", "/vendor/bin/inotifyd");
symlink("toybox_vendor", "/vendor/bin/getenforce");
symlink("toybox_vendor", "/vendor/bin/mknod");
symlink("toybox_vendor", "/vendor/bin/kill");
symlink("toybox_vendor", "/vendor/bin/whoami");
symlink("toybox_vendor", "/vendor/bin/uuencode");
symlink("toybox_vendor", "/vendor/bin/uname");
symlink("toybox_vendor", "/vendor/bin/true");
symlink("toybox_vendor", "/vendor/bin/sha224sum");
symlink("toybox_vendor", "/vendor/bin/taskset");
symlink("toybox_vendor", "/vendor/bin/id");
symlink("toybox_vendor", "/vendor/bin/date");
symlink("toybox_vendor", "/vendor/bin/df");
symlink("toybox_vendor", "/vendor/bin/setprop");
symlink("toybox_vendor", "/vendor/bin/od");
ui_print("metadata system......");
package_extract_file("META/filesystem_config.txt","/tmp/filesystem_config.txt");
set_metadata_default("/tmp/filesystem_config.txt");
ui_print("delete /tmp/filesystem_config.txt......");
delete("/tmp/filesystem_config.txt");
ui_print("set system symlink ok.....");
unmount("/system");
ui_print("set vendor symlink ok.....");
unmount("/vendor");
ui_print("update ok.....");
