FP4: Import extract-utils templates

Change-Id: I691c4893e500aa791868adb82573ef2357805faf
diff --git a/extract-files.sh b/extract-files.sh
new file mode 100644
index 0000000..6c27121
--- /dev/null
+++ b/extract-files.sh
@@ -0,0 +1,79 @@
+#!/bin/bash
+#
+# Copyright (C) 2016 The CyanogenMod Project
+# Copyright (C) 2017-2020 The LineageOS Project
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+
+set -e
+
+DEVICE=**** FILL IN DEVICE NAME ****
+VENDOR=**** FILL IN VENDOR NAME ****
+
+# Load extract_utils and do some sanity checks
+MY_DIR="${BASH_SOURCE%/*}"
+if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
+
+ANDROID_ROOT="${MY_DIR}/../../.."
+
+HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
+if [ ! -f "${HELPER}" ]; then
+    echo "Unable to find helper script at ${HELPER}"
+    exit 1
+fi
+source "${HELPER}"
+
+# Default to sanitizing the vendor folder before extraction
+CLEAN_VENDOR=true
+
+KANG=
+SECTION=
+
+while [ "${#}" -gt 0 ]; do
+    case "${1}" in
+        -n | --no-cleanup )
+                CLEAN_VENDOR=false
+                ;;
+        -k | --kang )
+                KANG="--kang"
+                ;;
+        -s | --section )
+                SECTION="${2}"; shift
+                CLEAN_VENDOR=false
+                ;;
+        * )
+                SRC="${1}"
+                ;;
+    esac
+    shift
+done
+
+if [ -z "${SRC}" ]; then
+    SRC="adb"
+fi
+
+function blob_fixup() {
+    case "${1}" in
+        vendor/lib/libsample1.so)
+            sed -i 's|/data/misc/sample1|/data/misc/sample2|g' "${2}"
+            ;;
+        vendor/lib64/libsample2.so)
+            "${PATCHELF}" --remove-needed "libsample3.so" "${2}"
+            "${PATCHELF}" --add-needed "libsample4.so" "${2}"
+            ;;
+        vendor/lib/libsample5.so)
+            "${PATCHELF}" --replace-needed "libsample6.so" "libsample7.so" "${2}"
+            ;;
+        vendor/lib/libsample7.so)
+            "${PATCHELF}" --set-soname "libsample7.so" "${2}"
+            ;;
+    esac
+}
+
+# Initialize the helper
+setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}"
+
+extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
+
+"${MY_DIR}/setup-makefiles.sh"