[G Pad 8.3 Android Development] Deltadroid:
[MENTION=4575133]Rick Roll[/MENTION]

Ive noticed a bug in the install script that causes all the files in /system/etc to be executable, which causes problems for all the xml files. The xml files should not be executable. Also, /system/etc/ppp/ip-up-vpn should be -r-xr-xr-x. There is only one file being installed to /system/etc/mixer_paths.xml, so there should be no reason to recursively change all the permissions.

I've also added the video blobs to the kernel installer.

Only in RedKernel-rXXX-ADRENO-LMY47V-signed/META-INF/com: android
diff -ru '--exclude=CERT.RSA' '--exclude=CERT.SF' '--exclude=MANIFEST.MF' RedKernel-rXXX/META-INF/com/google/android/updater-script RedKernel-rXXX-ADRENO-LMY47V-signed/META-INF/com/google/android/updater-script
--- RedKernel-rXXX/META-INF/com/google/android/updater-script	2015-04-14 14:05:10.000000000 +0200
+++ RedKernel-rXXX-ADRENO-LMY47V-signed/META-INF/com/google/android/updater-script	2008-02-29 02:33:46.000000000 +0100
@@ -2,16 +2,19 @@
set_progress(0.1);
ui_print("");
ui_print("Anykernel Updater");
-ui_print("Install ROM before kernel");
-ui_print("Module installation...");
+ui_print("Copying files.");
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system","/system");
set_progress(0.2);
package_extract_dir("system", "/system");
-ui_print("Setting module permissions...");
-set_perm_recursive(0, 0, 0755, 0755, "/system/etc");
-set_perm_recursive(0, 0, 0755, 0755, "/system/lib/modules");
-set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d");
-set_perm(0, 0, 0755, "/system/etc/init.d");
+ui_print("Setting permissions.");
+set_metadata("/system/etc/mixer_paths.xml", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
+set_metadata_recursive("/system/lib/modules", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
+set_metadata("/system/vendor/firmware/a300_pfp.fw", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
+set_metadata("/system/vendor/firmware/a300_pm4.fw", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
+set_metadata_recursive("/system/vendor/lib", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "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("/system/vendor/lib/egl", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
+set_metadata("/system/vendor/lib/mediadrm", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
ui_print("Remove MPDecision & Thermald...");
delete("/system/bin/mpdecision");
delete("/system/bin/thermald");
@@ -25,10 +28,7 @@
set_perm(0, 0, 0777, "/tmp/loki_tool");
set_perm(0, 0, 0777, "/tmp/livebump.sh");
ui_print("Extracting old kernel from boot...");
-run_program("/sbin/busybox", "dd",
-"if=/dev/block/platform/msm_sdcc.1/by-name/boot","of=/tmp/boot.lok");
-ui_print("Removing loki patch");
-run_program("/tmp/loki_tool", "unlok", "/tmp/boot.lok", "/tmp/boot.img");
+run_program("/sbin/busybox", "dd", "if=/dev/block/platform/msm_sdcc.1/by-name/boot","of=/tmp/boot.img");
set_progress(0.5);
ui_print("Decompiling old boot.img...");
run_program("/tmp/unpackbootimg", "-i", "/tmp/boot.img", "-o", "/tmp/");
Only in RedKernel-rXXX-ADRENO-LMY47V-signed/system: vendor

Also, /etc/init.d has changed permissions in lollipop. It was root:root in kitkat, but in lollipop its root:shell. I would recommend setting permissions on init.d scripts only one at a time. They also require special selinux labels.

drwxr-xr-x. 2 root 2000 4096 May 29 14:45 init.d

Edit: Also, I'm not sure if its necessary to bump the kernel again after its already been bumped. When printf writes a string to the boot.img to bump it, where does it store that string? Is it the zImage? If its the zImage, then we do need to bump it again since the installer replaces the zImage with a new one. But, if that printf string is located somewhere else, then we would not need to bump it over again...if its already bumped and we are just switching zImages.