assert(getprop("ro.product.device") == "golden" || getprop("ro.build.product") == "golden" || getprop("ro.product.device") == "i8190" || getprop("ro.build.product") == "i8190" || getprop("ro.product.device") == "GT-I8190" || getprop("ro.build.product") == "GT-I8190" || abort("E3004: This package is for device: golden,i8190,GT-I8190; this device is " + getprop("ro.product.device") + "."););
ui_print("Target: samsung/cm_golden/golden:7.1.2/NJH47F/26d31e33f8:userdebug/test-keys");
ifelse(is_mounted("/system"), unmount("/system"));
package_extract_dir("install", "/tmp/install");
set_metadata_recursive("/tmp/install", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644);
set_metadata_recursive("/tmp/install/bin", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755);
run_program("/sbin/mount", "-t", "auto", "/dev/block/mmcblk0p22", "/system");
run_program("/tmp/install/bin/backuptool.sh", "backup");
unmount("/system");
if is_mounted("/data") then
package_extract_file("META-INF/org/lineageos/releasekey", "/tmp/releasekey");
run_program("/tmp/install/bin/otasigcheck.sh") != "31744" || abort("Can't install this package on top of incompatible data. Please try another package or run a factory reset");
else
run_program("/sbin/mount", "-t", "auto", "/dev/block/mmcblk0p25", "/data");
package_extract_file("META-INF/org/lineageos/releasekey", "/tmp/releasekey");
run_program("/tmp/install/bin/otasigcheck.sh") != "31744" || abort("Can't install this package on top of incompatible data. Please try another package or run a factory reset");
unmount("/data");
endif;
show_progress(0.750000, 0);
run_program("/sbin/mkfs.f2fs", "/dev/block/mmcblk0p22");
run_program("/sbin/mount", "-t", "auto", "/dev/block/mmcblk0p22", "/system");
package_extract_dir("system", "/system");
symlink("../bin/toybox", "/system/xbin/ps");
symlink("../xbin/su", "/system/bin/su");
symlink("/system/lib/libappfuse_jni.so", "/system/priv-app/MtpDocumentsProvider/lib/arm/libappfuse_jni.so");
symlink("/system/lib/libbluetooth_jni.so", "/system/app/Bluetooth/lib/arm/libbluetooth_jni.so");
symlink("/system/lib/libcmaudio_jni.so", "/system/priv-app/CMAudioService/lib/arm/libcmaudio_jni.so");
symlink("/system/lib/libdefcontainer_jni.so", "/system/priv-app/DefaultContainerService/lib/arm/libdefcontainer_jni.so");
symlink("/system/lib/libjni_gallery_eglfence.so", "/system/priv-app/Gallery2/lib/arm/libjni_gallery_eglfence.so");
symlink("/system/lib/libjni_gallery_filters.so", "/system/priv-app/Gallery2/lib/arm/libjni_gallery_filters.so");
symlink("/system/lib/libjni_gallery_jpegstream.so", "/system/priv-app/Gallery2/lib/arm/libjni_gallery_jpegstream.so");
symlink("/system/lib/libjni_latinime.so", "/system/app/LatinIME/lib/arm/libjni_latinime.so");
symlink("/system/lib/libjni_pacprocessor.so", "/system/app/PacProcessor/lib/arm/libjni_pacprocessor.so");
symlink("/system/lib/libjni_terminal.so", "/system/app/Terminal/lib/arm/libjni_terminal.so");
symlink("/system/lib/libprintspooler_jni.so", "/system/app/PrintSpooler/lib/arm/libprintspooler_jni.so");
symlink("/system/lib/librsjni.so", "/system/priv-app/Eleven/lib/arm/librsjni.so");
symlink("/system/lib/libttscompat.so", "/system/app/PicoTts/lib/arm/libttscompat.so");
symlink("/system/lib/libttspico.so", "/system/app/PicoTts/lib/arm/libttspico.so");
symlink("Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf");
symlink("Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf");
symlink("app_process32", "/system/bin/app_process");
symlink("dalvikvm32", "/system/bin/dalvikvm");
symlink("ip6tables", "/system/bin/ip6tables-restore",
        "/system/bin/ip6tables-save");
symlink("iptables", "/system/bin/iptables-restore",
        "/system/bin/iptables-save");
symlink("logpersist.start", "/system/bin/logpersist.cat",
        "/system/bin/logpersist.stop");
symlink("pigz", "/system/xbin/gunzip", "/system/xbin/gzip",
        "/system/xbin/unpigz",
        "/system/xbin/zcat");
symlink("toolbox", "/system/bin/dd", "/system/bin/getevent",
        "/system/bin/iftop", "/system/bin/ioctl", "/system/bin/log",
        "/system/bin/nandread", "/system/bin/newfs_msdos",
        "/system/bin/prlimit", "/system/bin/ps", "/system/bin/restart",
        "/system/bin/sendevent", "/system/bin/start", "/system/bin/stop",
        "/system/bin/top");
symlink("toybox", "/system/bin/acpi", "/system/bin/arp",
        "/system/bin/base64", "/system/bin/basename", "/system/bin/blockdev",
        "/system/bin/bzcat", "/system/bin/cal", "/system/bin/cat",
        "/system/bin/chattr", "/system/bin/chcon", "/system/bin/chgrp",
        "/system/bin/chmod", "/system/bin/chown", "/system/bin/chroot",
        "/system/bin/chrt", "/system/bin/cksum", "/system/bin/clear",
        "/system/bin/cmp", "/system/bin/comm", "/system/bin/cp",
        "/system/bin/cpio", "/system/bin/cut", "/system/bin/date",
        "/system/bin/df", "/system/bin/diff", "/system/bin/dirname",
        "/system/bin/dmesg", "/system/bin/dos2unix", "/system/bin/du",
        "/system/bin/echo", "/system/bin/egrep", "/system/bin/env",
        "/system/bin/expand", "/system/bin/expr", "/system/bin/fallocate",
        "/system/bin/false", "/system/bin/fdisk", "/system/bin/fgrep",
        "/system/bin/file", "/system/bin/find", "/system/bin/flock",
        "/system/bin/free", "/system/bin/freeramdisk", "/system/bin/fsfreeze",
        "/system/bin/fstype", "/system/bin/ftpget", "/system/bin/ftpput",
        "/system/bin/getenforce", "/system/bin/getfattr", "/system/bin/getprop",
        "/system/bin/grep", "/system/bin/groups", "/system/bin/head",
        "/system/bin/help", "/system/bin/host", "/system/bin/hostname",
        "/system/bin/hwclock", "/system/bin/id", "/system/bin/ifconfig",
        "/system/bin/inotifyd", "/system/bin/insmod", "/system/bin/install",
        "/system/bin/ionice", "/system/bin/iorenice", "/system/bin/iotop",
        "/system/bin/kill", "/system/bin/killall", "/system/bin/ln",
        "/system/bin/load_policy", "/system/bin/logname", "/system/bin/losetup",
        "/system/bin/ls", "/system/bin/lsattr", "/system/bin/lsmod",
        "/system/bin/lsof", "/system/bin/lspci", "/system/bin/lsusb",
        "/system/bin/makedevs", "/system/bin/md5sum", "/system/bin/mkdir",
        "/system/bin/mkfifo", "/system/bin/mknod", "/system/bin/mkswap",
        "/system/bin/mktemp", "/system/bin/modinfo", "/system/bin/more",
        "/system/bin/mount", "/system/bin/mountpoint", "/system/bin/mv",
        "/system/bin/nbd-client", "/system/bin/nc", "/system/bin/netcat",
        "/system/bin/netstat", "/system/bin/nice", "/system/bin/nl",
        "/system/bin/nohup", "/system/bin/nproc", "/system/bin/od",
        "/system/bin/partprobe", "/system/bin/paste", "/system/bin/patch",
        "/system/bin/pgrep", "/system/bin/pidof", "/system/bin/pivot_root",
        "/system/bin/pkill", "/system/bin/pmap", "/system/bin/printenv",
        "/system/bin/printf", "/system/bin/pwd", "/system/bin/pwdx",
        "/system/bin/readahead", "/system/bin/readlink", "/system/bin/realpath",
        "/system/bin/renice", "/system/bin/reset", "/system/bin/resize",
        "/system/bin/restorecon", "/system/bin/rev", "/system/bin/rfkill",
        "/system/bin/rm", "/system/bin/rmdir", "/system/bin/rmmod",
        "/system/bin/route", "/system/bin/runcon", "/system/bin/sed",
        "/system/bin/seq", "/system/bin/setenforce", "/system/bin/setfattr",
        "/system/bin/setprop", "/system/bin/setsid", "/system/bin/sha1sum",
        "/system/bin/sha224sum", "/system/bin/sha256sum",
        "/system/bin/sha384sum", "/system/bin/sha512sum", "/system/bin/sleep",
        "/system/bin/sort", "/system/bin/split", "/system/bin/stat",
        "/system/bin/strings", "/system/bin/swapoff", "/system/bin/swapon",
        "/system/bin/sync", "/system/bin/sysctl", "/system/bin/tac",
        "/system/bin/tail", "/system/bin/tar", "/system/bin/taskset",
        "/system/bin/tee", "/system/bin/telnet", "/system/bin/test",
        "/system/bin/time", "/system/bin/timeout", "/system/bin/touch",
        "/system/bin/tr", "/system/bin/traceroute", "/system/bin/true",
        "/system/bin/truncate", "/system/bin/tty", "/system/bin/tunctl",
        "/system/bin/ulimit", "/system/bin/umount", "/system/bin/uname",
        "/system/bin/uniq", "/system/bin/unix2dos", "/system/bin/uptime",
        "/system/bin/usleep", "/system/bin/vconfig", "/system/bin/vmstat",
        "/system/bin/watch", "/system/bin/wc", "/system/bin/which",
        "/system/bin/whoami", "/system/bin/xargs", "/system/bin/xxd",
        "/system/bin/xzcat",
        "/system/bin/yes");
set_metadata_recursive("/system", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", "0x0", "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/addon.d", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755, "capabilities", "0x0", "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/bin", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0755, "capabilities", "0x0", "selabel", "u:object_r:system_file:s0");
set_metadata("/system/bin/app_process32", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:zygote_exec:s0");
set_metadata("/system/bin/atrace", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:atrace_exec:s0");
set_metadata("/system/bin/audioserver", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:audioserver_exec:s0");
set_metadata("/system/bin/blkid", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:blkid_exec:s0");
set_metadata("/system/bin/bootanimation", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:bootanim_exec:s0");
set_metadata("/system/bin/bootstat", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:bootstat_exec:s0");
set_metadata("/system/bin/clatd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:clatd_exec:s0");
set_metadata("/system/bin/debuggerd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:debuggerd_exec:s0");
set_metadata("/system/bin/dex2oat", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:dex2oat_exec:s0");
set_metadata("/system/bin/dnsmasq", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:dnsmasq_exec:s0");
set_metadata("/system/bin/drmserver", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:drmserver_exec:s0");
set_metadata("/system/bin/dumpstate", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:dumpstate_exec:s0");
set_metadata("/system/bin/e2fsck", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:fsck_exec:s0");
set_metadata("/system/bin/fsck.exfat", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:fsck_exec:s0");
set_metadata("/system/bin/fsck.f2fs", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:fsck_exec:s0");
set_metadata("/system/bin/fsck.ntfs", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:fsck_exec:s0");
set_metadata("/system/bin/fsck_msdos", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:fsck_exec:s0");
set_metadata("/system/bin/gatekeeperd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:gatekeeperd_exec:s0");
set_metadata("/system/bin/hostapd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:hostapd_exec:s0");
set_metadata("/system/bin/idmap", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:idmap_exec:s0");
set_metadata("/system/bin/install-recovery.sh", "uid", 0, "gid", 0, "mode", 0750, "capabilities", 0x0, "selabel", "u:object_r:install_recovery_exec:s0");
set_metadata("/system/bin/installd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:installd_exec:s0");
set_metadata("/system/bin/keystore", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:keystore_exec:s0");
set_metadata("/system/bin/lmkd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:lmkd_exec:s0");
set_metadata("/system/bin/logcat", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:logcat_exec:s0");
set_metadata("/system/bin/logd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:logd_exec:s0");
set_metadata("/system/bin/mdnsd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mdnsd_exec:s0");
set_metadata("/system/bin/mediacodec", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mediacodec_exec:s0");
set_metadata("/system/bin/mediadrmserver", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mediadrmserver_exec:s0");
set_metadata("/system/bin/mediaextractor", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mediaextractor_exec:s0");
set_metadata("/system/bin/mediaserver", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mediaserver_exec:s0");
set_metadata("/system/bin/mkfs.exfat", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mkfs_exec:s0");
set_metadata("/system/bin/mkfs.f2fs", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mkfs_exec:s0");
set_metadata("/system/bin/mkfs.ntfs", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mkfs_exec:s0");
set_metadata("/system/bin/mtpd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mtp_exec:s0");
set_metadata("/system/bin/netd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:netd_exec:s0");
set_metadata("/system/bin/patchoat", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:dex2oat_exec:s0");
set_metadata("/system/bin/pppd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:ppp_exec:s0");
set_metadata("/system/bin/profman", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:profman_exec:s0");
set_metadata("/system/bin/racoon", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:racoon_exec:s0");
set_metadata("/system/bin/recovery-persist", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:recovery_persist_exec:s0");
set_metadata("/system/bin/recovery-refresh", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:recovery_refresh_exec:s0");
set_metadata("/system/bin/rild", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:rild_exec:s0");
set_metadata("/system/bin/run-as", "uid", 0, "gid", 2000, "mode", 0750, "capabilities", 0xc0, "selabel", "u:object_r:runas_exec:s0");
set_metadata("/system/bin/sdcard", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:sdcardd_exec:s0");
set_metadata("/system/bin/servicemanager", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:servicemanager_exec:s0");
set_metadata("/system/bin/sgdisk", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:sgdisk_exec:s0");
set_metadata("/system/bin/sh", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:shell_exec:s0");
set_metadata("/system/bin/surfaceflinger", "uid", 1000, "gid", 1003, "mode", 0755, "capabilities", 0x800000, "selabel", "u:object_r:surfaceflinger_exec:s0");
set_metadata("/system/bin/sysinit", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:sysinit_exec:s0");
set_metadata("/system/bin/toolbox", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:toolbox_exec:s0");
set_metadata("/system/bin/toybox", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:toolbox_exec:s0");
set_metadata("/system/bin/tzdatacheck", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:tzdatacheck_exec:s0");
set_metadata("/system/bin/uncrypt", "uid", 0, "gid", 0, "mode", 0750, "capabilities", 0x0, "selabel", "u:object_r:uncrypt_exec:s0");
set_metadata("/system/bin/vdc", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:vdc_exec:s0");
set_metadata("/system/bin/vold", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:vold_exec:s0");
set_metadata("/system/bin/wpa_supplicant", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:wpa_exec:s0");
set_metadata_recursive("/system/etc/init.d", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0755, "capabilities", "0x0", "selabel", "u:object_r:system_file:s0");
set_metadata("/system/etc/init.d/90userinit", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:userinit_exec:s0");
set_metadata_recursive("/system/etc/ppp", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0555, "capabilities", "0x0", "selabel", "u:object_r:system_file:s0");
set_metadata("/system/recovery-from-boot.p", "uid", 0, "gid", 0, "mode", 0644);
set_metadata("/system/vendor", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/lib/mediadrm", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", "0x0", "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib/mediadrm/libdrmclearkeyplugin.so", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/xbin", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0755, "capabilities", "0x0", "selabel", "u:object_r:system_file:s0");
set_metadata("/system/xbin/bash", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:shell_exec:s0");
set_metadata("/system/xbin/perfprofd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:perfprofd_exec:s0");
set_metadata("/system/xbin/procmem", "uid", 0, "gid", 0, "mode", 06755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/xbin/su", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:su_exec:s0");
show_progress(0.020000, 10);
run_program("/tmp/install/bin/backuptool.sh", "restore");
show_progress(0.050000, 5);
package_extract_file("boot.img", "/dev/block/mmcblk0p20");
show_progress(0.200000, 10);
symlink("/system/lib/ste_omxcomponents/libste_dec_amr.so", "/system/lib/libste_dec_amr.so");
symlink("/system/lib/ste_omxcomponents/libste_enc_amr.so", "/system/lib/libste_enc_amr.so");
symlink("/system/lib/ste_omxcomponents/libste_dec_amrwb.so", "/system/lib/libste_dec_amrwb.so");
symlink("/system/lib/ste_omxcomponents/libste_enc_amrwb.so", "/system/lib/libste_enc_amrwb.so");
unmount("/system");
set_progress(1.000000);
