[G2 and Desire Z Android Development] troby1986:
updater-script

show_progress(0.500000, 0);

format("MTD", "system");

mount("MTD", "system", "/system");

delete("/data/local");

mount("MTD", "userdata", "/data");

package_extract_dir("data", "/data");

set_perm(2000, 2000, 0771, "/data/local");

show_progress(0.500000, 40);

package_extract_dir("recovery", "/system");

package_extract_dir("system", "/system");

symlink("dumpstate", "/system/bin/dumpcrash");

symlink("busybox", "/system/xbin/[");

symlink("busybox", "/system/xbin/[[");

symlink("busybox", "/system/xbin/arp");

symlink("busybox", "/system/xbin/ash");

symlink("busybox", "/system/xbin/awk");

symlink("busybox", "/system/xbin/basename");

symlink("busybox", "/system/xbin/bbconfig");

symlink("busybox", "/system/xbin/brctl");

symlink("busybox", "/system/xbin/bunzip2");

symlink("busybox", "/system/xbin/bzcat");

symlink("busybox", "/system/xbin/bzip2");

symlink("busybox", "/system/xbin/cal");

symlink("busybox", "/system/xbin/cat");

symlink("busybox", "/system/xbin/catv");

symlink("busybox", "/system/xbin/chgrp");

symlink("busybox", "/system/xbin/chmod");

symlink("busybox", "/system/xbin/chown");

symlink("busybox", "/system/xbin/chroot");

symlink("busybox", "/system/xbin/cksum");

symlink("busybox", "/system/xbin/clear");

symlink("busybox", "/system/xbin/cmp");

symlink("busybox", "/system/xbin/cp");

symlink("busybox", "/system/xbin/cpio");

symlink("busybox", "/system/xbin/cut");

symlink("busybox", "/system/xbin/date");

symlink("busybox", "/system/xbin/dc");

symlink("busybox", "/system/xbin/dd");

symlink("busybox", "/system/xbin/depmod");

symlink("busybox", "/system/xbin/devmem");

symlink("busybox", "/system/xbin/df");

symlink("busybox", "/system/xbin/diff");

symlink("busybox", "/system/xbin/dirname");

symlink("busybox", "/system/xbin/dmesg");

symlink("busybox", "/system/xbin/dnsd");

symlink("busybox", "/system/xbin/dos2unix");

symlink("busybox", "/system/xbin/du");

symlink("busybox", "/system/xbin/echo");

symlink("busybox", "/system/xbin/ed");

symlink("busybox", "/system/xbin/egrep");

symlink("busybox", "/system/xbin/env");

symlink("busybox", "/system/xbin/expr");

symlink("busybox", "/system/xbin/false");

symlink("busybox", "/system/xbin/fdisk");

symlink("busybox", "/system/xbin/fgrep");

symlink("busybox", "/system/xbin/find");

symlink("busybox", "/system/xbin/fold");

symlink("busybox", "/system/xbin/free");

symlink("busybox", "/system/xbin/freeramdisk");

symlink("busybox", "/system/xbin/fuser");

symlink("busybox", "/system/xbin/getopt");

symlink("busybox", "/system/xbin/grep");

symlink("busybox", "/system/xbin/gunzip");

symlink("busybox", "/system/xbin/gzip");

symlink("busybox", "/system/xbin/head");

symlink("busybox", "/system/xbin/hexdump");

symlink("busybox", "/system/xbin/id");

symlink("busybox", "/system/xbin/ifconfig");

symlink("busybox", "/system/xbin/insmod");

symlink("busybox", "/system/xbin/install");

symlink("busybox", "/system/xbin/ip");

symlink("busybox", "/system/xbin/kill");

symlink("busybox", "/system/xbin/killall");

symlink("busybox", "/system/xbin/killall5");

symlink("busybox", "/system/xbin/length");

symlink("busybox", "/system/xbin/less");

symlink("busybox", "/system/xbin/ln");

symlink("busybox", "/system/xbin/losetup");

symlink("busybox", "/system/xbin/ls");

symlink("busybox", "/system/xbin/lsmod");

symlink("busybox", "/system/xbin/lspci");

symlink("busybox", "/system/xbin/lsusb");

symlink("busybox", "/system/xbin/lzop");

symlink("busybox", "/system/xbin/lzopcat");

symlink("busybox", "/system/xbin/md5sum");

symlink("busybox", "/system/xbin/mkdir");

symlink("busybox", "/system/xbin/mke2fs");

symlink("busybox", "/system/xbin/mkfifo");

symlink("busybox", "/system/xbin/mkfs.ext2");

symlink("busybox", "/system/xbin/mknod");

symlink("busybox", "/system/xbin/mkswap");

symlink("busybox", "/system/xbin/mktemp");

symlink("busybox", "/system/xbin/modprobe");

symlink("busybox", "/system/xbin/more");

symlink("busybox", "/system/xbin/mount");

symlink("busybox", "/system/xbin/mountpoint");

symlink("busybox", "/system/xbin/mv");

symlink("busybox", "/system/xbin/netstat");

symlink("busybox", "/system/xbin/nice");

symlink("busybox", "/system/xbin/nohup");

symlink("busybox", "/system/xbin/nslookup");

symlink("busybox", "/system/xbin/ntpd");

symlink("busybox", "/system/xbin/od");

symlink("busybox", "/system/xbin/patch");

symlink("busybox", "/system/xbin/pgrep");

symlink("busybox", "/system/xbin/pidof");

symlink("busybox", "/system/xbin/ping");

symlink("busybox", "/system/xbin/pkill");

symlink("busybox", "/system/xbin/printenv");

symlink("busybox", "/system/xbin/printf");

symlink("busybox", "/system/xbin/ps");

symlink("busybox", "/system/xbin/pwd");

symlink("busybox", "/system/xbin/rdev");

symlink("busybox", "/system/xbin/readlink");

symlink("busybox", "/system/xbin/realpath");

symlink("busybox", "/system/xbin/renice");

symlink("busybox", "/system/xbin/reset");

symlink("busybox", "/system/xbin/rm");

symlink("busybox", "/system/xbin/rmdir");

symlink("busybox", "/system/xbin/rmmod");

symlink("busybox", "/system/xbin/route");

symlink("busybox", "/system/xbin/run-parts");

symlink("busybox", "/system/xbin/sed");

symlink("busybox", "/system/xbin/seq");

symlink("busybox", "/system/xbin/setsid");

symlink("busybox", "/system/xbin/sh");

symlink("busybox", "/system/xbin/sha1sum");

symlink("busybox", "/system/xbin/sha256sum");

symlink("busybox", "/system/xbin/sha512sum");

symlink("busybox", "/system/xbin/sleep");

symlink("busybox", "/system/xbin/sort");

symlink("busybox", "/system/xbin/split");

symlink("busybox", "/system/xbin/stat");

symlink("busybox", "/system/xbin/strings");

symlink("busybox", "/system/xbin/stty");

symlink("busybox", "/system/xbin/swapoff");

symlink("busybox", "/system/xbin/swapon");

symlink("busybox", "/system/xbin/sync");

symlink("busybox", "/system/xbin/sysctl");

symlink("busybox", "/system/xbin/tac");

symlink("busybox", "/system/xbin/tail");

symlink("busybox", "/system/xbin/tar");

symlink("busybox", "/system/xbin/tee");

symlink("busybox", "/system/xbin/telnet");

symlink("busybox", "/system/xbin/test");

symlink("busybox", "/system/xbin/tftp");

symlink("busybox", "/system/xbin/time");

symlink("busybox", "/system/xbin/top");

symlink("busybox", "/system/xbin/touch");

symlink("busybox", "/system/xbin/tr");

symlink("busybox", "/system/xbin/traceroute");

symlink("busybox", "/system/xbin/true");

symlink("busybox", "/system/xbin/tty");

symlink("busybox", "/system/xbin/tune2fs");

symlink("busybox", "/system/xbin/umount");

symlink("busybox", "/system/xbin/uname");

symlink("busybox", "/system/xbin/uniq");

symlink("busybox", "/system/xbin/unix2dos");

symlink("busybox", "/system/xbin/unlzop");

symlink("busybox", "/system/xbin/unzip");

symlink("busybox", "/system/xbin/uptime");

symlink("busybox", "/system/xbin/usleep");

symlink("busybox", "/system/xbin/uudecode");

symlink("busybox", "/system/xbin/uuencode");

symlink("busybox", "/system/xbin/vi");

symlink("busybox", "/system/xbin/watch");

symlink("busybox", "/system/xbin/wc");

symlink("busybox", "/system/xbin/wget");

symlink("busybox", "/system/xbin/which");

symlink("busybox", "/system/xbin/whoami");

symlink("busybox", "/system/xbin/xargs");

symlink("busybox", "/system/xbin/yes");

symlink("busybox", "/system/xbin/zcat");

symlink("iwmulticall", "/system/xbin/iwconfig");

symlink("iwmulticall", "/system/xbin/iwgetid");

symlink("iwmulticall", "/system/xbin/iwlist");

symlink("iwmulticall", "/system/xbin/iwpriv");

symlink("iwmulticall", "/system/xbin/iwspy");

symlink("toolbox", "/system/bin/cat");

symlink("toolbox", "/system/bin/cmp");

symlink("toolbox", "/system/bin/date");

symlink("toolbox", "/system/bin/dd");

symlink("toolbox", "/system/bin/dmesg");

symlink("toolbox", "/system/bin/getevent");

symlink("toolbox", "/system/bin/getprop");

symlink("toolbox", "/system/bin/hd");

symlink("toolbox", "/system/bin/id");

symlink("toolbox", "/system/bin/ifconfig");

symlink("toolbox", "/system/bin/iftop");

symlink("toolbox", "/system/bin/insmod");

symlink("toolbox", "/system/bin/ioctl");

symlink("toolbox", "/system/bin/ionice");

symlink("toolbox", "/system/bin/kill");

symlink("toolbox", "/system/bin/log");

symlink("toolbox", "/system/bin/lsmod");

symlink("toolbox", "/system/bin/mkdir");

symlink("toolbox", "/system/bin/nandread");

symlink("toolbox", "/system/bin/netstat");

symlink("toolbox", "/system/bin/newfs_msdos");

symlink("toolbox", "/system/bin/notify");

symlink("toolbox", "/system/bin/printenv");

symlink("toolbox", "/system/bin/ps");

symlink("toolbox", "/system/bin/renice");

symlink("toolbox", "/system/bin/rmdir");

symlink("toolbox", "/system/bin/rmmod");

symlink("toolbox", "/system/bin/route");

symlink("toolbox", "/system/bin/schedtop");

symlink("toolbox", "/system/bin/sendevent");

symlink("toolbox", "/system/bin/setconsole");

symlink("toolbox", "/system/bin/setprop");

symlink("toolbox", "/system/bin/sleep");

symlink("toolbox", "/system/bin/smd");

symlink("toolbox", "/system/bin/start");

symlink("toolbox", "/system/bin/stop");

symlink("toolbox", "/system/bin/sync");

symlink("toolbox", "/system/bin/top");

symlink("toolbox", "/system/bin/uptime");

symlink("toolbox", "/system/bin/vmstat");

symlink("toolbox", "/system/bin/watchprops");

symlink("toolbox", "/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_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");

set_perm(0, 0, 0755, "/system/etc/bluetooth");

set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf");

set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.conf");

set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");

set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");

set_perm_recursive(0, 2000, 0755, 0750, "/system/etc/init.d");

set_perm(0, 0, 0755, "/system/etc/init.d");

set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");

set_perm(0, 0, 06755, "/system/bin/su");

symlink("/system/bin/su", "/system/xbin/su");

set_perm(0, 0, 0544, "/system/etc/install-recovery.sh");

set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");

set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");

set_perm(0, 0, 06755, "/system/xbin/hcitool");

set_perm(0, 0, 06755, "/system/xbin/librank");

set_perm(0, 0, 06755, "/system/xbin/procmem");

set_perm(0, 0, 06755, "/system/xbin/procrank");

set_perm(0, 0, 06755, "/system/xbin/tcpdump");

show_progress(0.200000, 0);

show_progress(0.200000, 10);

package_extract_file("boot.img", "/tmp/boot.img");

write_raw_image("/tmp/boot.img", "boot");

delete("/tmp/boot.img");

show_progress(0.100000, 0);

unmount("/data");

unmount("/system");