From 4f9929699aada5b0e6b486b45507f317a402d32b Mon Sep 17 00:00:00 2001 From: Michael Bestas Date: Mon, 28 Dec 2020 01:17:48 +0200 Subject: sdm660-common: Switch to standalone extract utils Align with templates while we are at it Change-Id: I3cd279191c7bd3582f1c1f80c588eb26cf9da933 --- extract-files.sh | 124 +++++++++++++++++++++++++++-------------------------- setup-makefiles.sh | 75 +++++++++++++------------------- 2 files changed, 94 insertions(+), 105 deletions(-) diff --git a/extract-files.sh b/extract-files.sh index 6b87d38..fc794bc 100755 --- a/extract-files.sh +++ b/extract-files.sh @@ -1,46 +1,49 @@ #!/bin/bash # -# Copyright (C) 2018 The LineageOS Project +# Copyright (C) 2016 The CyanogenMod Project +# Copyright (C) 2017-2020 The LineageOS Project # -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. +# SPDX-License-Identifier: Apache-2.0 # set -e -DEVICE_COMMON=sdm660-common -VENDOR=xiaomi - # Load extract_utils and do some sanity checks MY_DIR="${BASH_SOURCE%/*}" -if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi +if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi -LINEAGE_ROOT="$MY_DIR"/../../.. +ANDROID_ROOT="${MY_DIR}/../../.." -HELPER="$LINEAGE_ROOT"/vendor/lineage/build/tools/extract_utils.sh -if [ ! -f "$HELPER" ]; then - echo "Unable to find helper script at $HELPER" +HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh" +if [ ! -f "${HELPER}" ]; then + echo "Unable to find helper script at ${HELPER}" exit 1 fi -. "$HELPER" +source "${HELPER}" # Default to sanitizing the vendor folder before extraction CLEAN_VENDOR=true +ONLY_COMMON= +ONLY_DEVICE_COMMON= +ONLY_TARGET= +KANG= +SECTION= + while [ "${#}" -gt 0 ]; do case "${1}" in + --only-common ) + ONLY_COMMON=true + ;; + --only-device-common ) + ONLY_DEVICE_COMMON=true + ;; + --only-target ) + ONLY_TARGET=true + ;; -n | --no-cleanup ) - CLEAN_VENDOR=false - ;; + CLEAN_VENDOR=false + ;; -k | --kang ) KANG="--kang" ;; @@ -55,55 +58,56 @@ while [ "${#}" -gt 0 ]; do shift done -if [ -z "$SRC" ]; then - SRC=adb +if [ -z "${SRC}" ]; then + SRC="adb" fi function blob_fixup() { case "${1}" in - system_ext/etc/init/dpmd.rc) - sed -i "s|/system/product/bin/|/system/system_ext/bin/|g" "${2}" - ;; - system_ext/etc/permissions/com.qti.dpmframework.xml | system_ext/etc/permissions/dpmapi.xml | system_ext/etc/permissions/telephonyservice.xml) - sed -i "s|/system/product/framework/|/system/system_ext/framework/|g" "${2}" - ;; - system_ext/etc/permissions/qcrilhook.xml) - sed -i 's|/product/framework/qcrilhook.jar|/system_ext/framework/qcrilhook.jar|g' "${2}" - ;; - system_ext/lib64/libdpmframework.so) - "${PATCHELF}" --add-needed "libshim_dpmframework.so" "${2}" - ;; - vendor/bin/mlipayd@1.1) - "${PATCHELF}" --remove-needed vendor.xiaomi.hardware.mtdservice@1.0.so "${2}" - ;; - - vendor/lib64/libmlipay.so | vendor/lib64/libmlipay@1.1.so) - "${PATCHELF}" --remove-needed vendor.xiaomi.hardware.mtdservice@1.0.so "${2}" - sed -i "s|/system/etc/firmware|/vendor/firmware\x0\x0\x0\x0|g" "${2}" - ;; + system_ext/etc/init/dpmd.rc) + sed -i "s|/system/product/bin/|/system/system_ext/bin/|g" "${2}" + ;; + system_ext/etc/permissions/com.qti.dpmframework.xml | system_ext/etc/permissions/dpmapi.xml | system_ext/etc/permissions/telephonyservice.xml) + sed -i "s|/system/product/framework/|/system/system_ext/framework/|g" "${2}" + ;; + system_ext/etc/permissions/qcrilhook.xml) + sed -i 's|/product/framework/qcrilhook.jar|/system_ext/framework/qcrilhook.jar|g' "${2}" + ;; + system_ext/lib64/libdpmframework.so) + "${PATCHELF}" --add-needed "libshim_dpmframework.so" "${2}" + ;; + vendor/bin/mlipayd@1.1) + "${PATCHELF}" --remove-needed vendor.xiaomi.hardware.mtdservice@1.0.so "${2}" + ;; + vendor/lib64/libmlipay.so | vendor/lib64/libmlipay@1.1.so) + "${PATCHELF}" --remove-needed vendor.xiaomi.hardware.mtdservice@1.0.so "${2}" + sed -i "s|/system/etc/firmware|/vendor/firmware\x0\x0\x0\x0|g" "${2}" + ;; esac } -# Initialize the common helper -setup_vendor "$DEVICE_COMMON" "$VENDOR" "$LINEAGE_ROOT" true $CLEAN_VENDOR +if [ -z "${ONLY_TARGET}" ] && [ -z "${ONLY_DEVICE_COMMON}" ]; 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}" -extract "$MY_DIR"/proprietary-files-fm.txt "$SRC" \ - "${KANG}" --section "${SECTION}" + extract "${MY_DIR}/proprietary-files.txt" "${SRC}" ${KANG} --section "${SECTION}" + extract "${MY_DIR}/proprietary-files-fm.txt" "${SRC}" "${KANG}" --section "${SECTION}" +fi -if [ -s "$MY_DIR"/../$DEVICE_SPECIFIED_COMMON/proprietary-files.txt ];then +if [ -z "${ONLY_COMMON}" ] && [ -z "${ONLY_TARGET}" ] && [ -s "${MY_DIR}/../${DEVICE_SPECIFIED_COMMON}/proprietary-files.txt" ];then # Reinitialize the helper for device specified common - setup_vendor "$DEVICE_SPECIFIED_COMMON" "$VENDOR" "$LINEAGE_ROOT" false "$CLEAN_VENDOR" - extract "$MY_DIR"/../$DEVICE_SPECIFIED_COMMON/proprietary-files.txt "$SRC" \ - "${KANG}" --section "${SECTION}" + source "${MY_DIR}/../${DEVICE_SPECIFIED_COMMON}/extract-files.sh" + setup_vendor "${DEVICE_SPECIFIED_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}" + + extract "${MY_DIR}/../${DEVICE_SPECIFIED_COMMON}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}" fi -if [ -s "$MY_DIR"/../$DEVICE/proprietary-files.txt ]; then +if [ -z "${ONLY_COMMON}" ] && [ -z "${ONLY_DEVICE_COMMON}" ] && [ -s "${MY_DIR}/../${DEVICE}/proprietary-files.txt" ]; then # Reinitialize the helper for device - setup_vendor "$DEVICE" "$VENDOR" "$LINEAGE_ROOT" false "$CLEAN_VENDOR" - extract "$MY_DIR"/../$DEVICE/proprietary-files.txt "$SRC" \ - "${KANG}" --section "${SECTION}" + 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 +"${MY_DIR}/setup-makefiles.sh" diff --git a/setup-makefiles.sh b/setup-makefiles.sh index d44c0ba..56ceee9 100755 --- a/setup-makefiles.sh +++ b/setup-makefiles.sh @@ -1,85 +1,70 @@ #!/bin/bash # -# Copyright (C) 2018 The LineageOS Project +# Copyright (C) 2016 The CyanogenMod Project +# Copyright (C) 2017-2020 The LineageOS Project # -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. +# SPDX-License-Identifier: Apache-2.0 # set -e -DEVICE_COMMON=sdm660-common -VENDOR=xiaomi - -INITIAL_COPYRIGHT_YEAR=2018 - # Load extract_utils and do some sanity checks MY_DIR="${BASH_SOURCE%/*}" -if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi +if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi -LINEAGE_ROOT="$MY_DIR"/../../.. +ANDROID_ROOT="${MY_DIR}/../../.." -HELPER="$LINEAGE_ROOT"/vendor/lineage/build/tools/extract_utils.sh -if [ ! -f "$HELPER" ]; then - echo "Unable to find helper script at $HELPER" +HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh" +if [ ! -f "${HELPER}" ]; then + echo "Unable to find helper script at ${HELPER}" exit 1 fi -. "$HELPER" +source "${HELPER}" -# Initialize the common helper -setup_vendor "$DEVICE_COMMON" "$VENDOR" "$LINEAGE_ROOT" true +# Initialize the helper for common +setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" true -# Copyright headers and guards +# Warning headers and guards write_headers "jasmine_sprout jason lavender twolip wayne whyred" -write_makefiles "$MY_DIR"/proprietary-files.txt true +# The standard common blobs +write_makefiles "${MY_DIR}/proprietary-files.txt" true -printf "\n%s\n" "ifeq (\$(BOARD_HAVE_QCOM_FM),true)" >> "$PRODUCTMK" -write_makefiles "$MY_DIR"/proprietary-files-fm.txt true -echo "endif" >> "$PRODUCTMK" +printf "\n%s\n" "ifeq (\$(BOARD_HAVE_QCOM_FM),true)" >> "${PRODUCTMK}" +write_makefiles "${MY_DIR}/proprietary-files-fm.txt" true +echo "endif" >> "${PRODUCTMK}" # Finish write_footers -if [ -s "$MY_DIR"/../$DEVICE_SPECIFIED_COMMON/proprietary-files.txt ]; then - DEVICE_COMMON=$DEVICE_SPECIFIED_COMMON +if [ -s "${MY_DIR}/../$DEVICE_SPECIFIED_COMMON/proprietary-files.txt" ]; then + DEVICE_COMMON="${DEVICE_SPECIFIED_COMMON}" # Reinitialize the helper for device specified common - INITIAL_COPYRIGHT_YEAR="$DEVICE_BRINGUP_YEAR" - setup_vendor "$DEVICE_SPECIFIED_COMMON" "$VENDOR" "$LINEAGE_ROOT" true + setup_vendor "${DEVICE_SPECIFIED_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" true - # Copyright headers and guards - write_headers "$DEVICE_SPECIFIED_COMMON_DEVICE" + # Warning headers and guards + write_headers "${DEVICE_SPECIFIED_COMMON_DEVICE}" # The standard device specified common blobs - write_makefiles "$MY_DIR"/../$DEVICE_SPECIFIED_COMMON/proprietary-files.txt true + write_makefiles "${MY_DIR}/../${DEVICE_SPECIFIED_COMMON}/proprietary-files.txt" true - # We are done! + # Finish write_footers - DEVICE_COMMON=sdm660-common + DEVICE_COMMON="sdm660-common" fi -if [ -s "$MY_DIR"/../$DEVICE/proprietary-files.txt ]; then +if [ -s "${MY_DIR}/../${DEVICE}/proprietary-files.txt" ]; then # Reinitialize the helper for device - INITIAL_COPYRIGHT_YEAR="$DEVICE_BRINGUP_YEAR" - setup_vendor "$DEVICE" "$VENDOR" "$LINEAGE_ROOT" false + setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false - # Copyright headers and guards + # Warning headers and guards write_headers # The standard device blobs - write_makefiles "$MY_DIR"/../$DEVICE/proprietary-files.txt true + write_makefiles "${MY_DIR}/../${DEVICE}/proprietary-files.txt" true - # We are done! + # Finish write_footers fi -- cgit v1.2.3