repack: move sbin to /system ramdisk and update repacking
for android-10

This will support updating the ramdisk to a different
compression format and co-exist with magisk.

We are also cleaning up and removing non android-10
api makefile actions.

We are also moving twrp repacking to its own class. We
check the new ramdisk format and if it's different
we have magisk compress using the new ramdisk format.

Change-Id: I770030aae7797e75817178b2f0fccd9f39dc23af
diff --git a/crypto/vold_decrypt/Android.mk b/crypto/vold_decrypt/Android.mk
old mode 100644
new mode 100755
index 25d6ab0..a36abf4
--- a/crypto/vold_decrypt/Android.mk
+++ b/crypto/vold_decrypt/Android.mk
@@ -128,7 +128,7 @@
             LOCAL_SRC_FILES := vdc_pie.cpp
             LOCAL_MODULE_TAGS := optional
             LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
-            LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
+            LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/
             LOCAL_CLANG := true
             LOCAL_TIDY := true
             LOCAL_TIDY_FLAGS := -warnings-as-errors=clang-analyzer-security*,cert-*
@@ -141,12 +141,12 @@
             endif
             ifneq ($(TARGET_ARCH), arm64)
                 ifneq ($(TARGET_ARCH), x86_64)
-                    LOCAL_LDFLAGS += -Wl,-dynamic-linker,/sbin/linker
+                    LOCAL_LDFLAGS += -Wl,-dynamic-linker,/system/bin/linker
                 else
-                    LOCAL_LDFLAGS += -Wl,-dynamic-linker,/sbin/linker64
+                    LOCAL_LDFLAGS += -Wl,-dynamic-linker,/system/bin/linker64
                 endif
             else
-                LOCAL_LDFLAGS += -Wl,-dynamic-linker,/sbin/linker64
+                LOCAL_LDFLAGS += -Wl,-dynamic-linker,/system/bin/linker64
             endif
 
             include $(BUILD_EXECUTABLE)
diff --git a/crypto/vold_decrypt/vold_decrypt.cpp b/crypto/vold_decrypt/vold_decrypt.cpp
index 078cd5f..4a76405 100755
--- a/crypto/vold_decrypt/vold_decrypt.cpp
+++ b/crypto/vold_decrypt/vold_decrypt.cpp
@@ -81,7 +81,7 @@
 #ifdef TW_CRYPTO_SYSTEM_VOLD_DEBUG
 
 #ifndef VD_STRACE_BIN
-#define VD_STRACE_BIN "/sbin/strace"
+#define VD_STRACE_BIN "/system/bin/strace"
 #endif
 
 bool has_strace = false;
@@ -399,7 +399,7 @@
 	LOGINFO("%d file(s) symlinked.\n", (int)FirmwareFiles.size());
 }
 
-// Android 8.0 fs_mgr checks for "/sbin/recovery", in which case it will
+// Android 8.0 fs_mgr checks for "/system/bin/recovery", in which case it will
 // use /etc/recovery.fstab -> symlink it temporarily. Reference:
 // https://android.googlesource.com/platform/system/core/+/android-8.0.0_r17/fs_mgr/fs_mgr_fstab.cpp#693
 bool Symlink_Recovery_Fstab(void) {
@@ -716,8 +716,8 @@
 
 					if (Service_Exists(services[j].Service_Name))
 						services[j].TWRP_Service_Name = services[j].Service_Name;
-					else if (Service_Exists("sbin" + services[j].Service_Name))
-						services[j].TWRP_Service_Name = "sbin" + services[j].Service_Name;
+					else if (Service_Exists("system/bin" + services[j].Service_Name))
+						services[j].TWRP_Service_Name = "system/bin" + services[j].Service_Name;
 					else
 						services[j].TWRP_Service_Name.clear();
 
@@ -995,7 +995,7 @@
 	}
 
 	// getpwtype and checkpw commands are removed from Pie vdc, using modified vdc_pie
-	const char *cmd[] = { "/sbin/vdc_pie", "cryptfs" };
+	const char *cmd[] = { "/system/bin/vdc_pie", "cryptfs" };
 	if (sdkver < 28)
 		cmd[0] = "/system/bin/vdc";
 	const char *env[] = { "LD_LIBRARY_PATH=/system/lib64:/system/lib", NULL };