From 613c8402b32d90ece07d0b03b9ca21352592e993 Mon Sep 17 00:00:00 2001 From: SGCMarkus Date: Wed, 16 Feb 2022 21:08:01 +0100 Subject: [PATCH] sm8250-common: add extract utils --- extract-files.sh | 76 ++++++++++++++++++++++++++++++++++++++++++++++ setup-makefiles.sh | 48 +++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100755 extract-files.sh create mode 100755 setup-makefiles.sh diff --git a/extract-files.sh b/extract-files.sh new file mode 100755 index 0000000..12c53a4 --- /dev/null +++ b/extract-files.sh @@ -0,0 +1,76 @@ +#!/bin/bash +# +# Copyright (C) 2016 The CyanogenMod Project +# Copyright (C) 2017-2020 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +set -e + +# 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 + +ONLY_COMMON= +ONLY_TARGET= +KANG= +SECTION= + +while [ "${#}" -gt 0 ]; do + case "${1}" in + --only-common ) + ONLY_COMMON=true + ;; + --only-target ) + ONLY_TARGET=true + ;; + -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 + +if [ -z "${ONLY_TARGET}" ]; then + # Initialize the helper for common device + setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" true "${CLEAN_VENDOR}" + + extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}" +fi + +if [ -z "${ONLY_COMMON}" ] && [ -s "${MY_DIR}/../${DEVICE}/proprietary-files.txt" ]; then + # Reinitialize the helper for device + source "${MY_DIR}/../${DEVICE}/extract-files.sh" + setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}" + + extract "${MY_DIR}/../${DEVICE}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}" +fi + +"${MY_DIR}/setup-makefiles.sh" diff --git a/setup-makefiles.sh b/setup-makefiles.sh new file mode 100755 index 0000000..ae4f5d7 --- /dev/null +++ b/setup-makefiles.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# +# Copyright (C) 2016 The CyanogenMod Project +# Copyright (C) 2017-2020 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +set -e + +# 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}" + +# Initialize the helper for common +setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" true + +# Warning headers and guards +write_headers "pstar nio" + +# The standard common blobs +write_makefiles "${MY_DIR}/proprietary-files.txt" true + +# Finish +write_footers + +if [ -s "${MY_DIR}/../${DEVICE}/proprietary-files.txt" ]; then + # Reinitialize the helper for device + setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false + + # Warning headers and guards + write_headers + + # The standard device blobs + write_makefiles "${MY_DIR}/../${DEVICE}/proprietary-files.txt" true + + # Finish + write_footers +fi