From d7f92c190bb59b366387127e41fdc1e31f991650 Mon Sep 17 00:00:00 2001 From: Vladimir Oltean Date: Sun, 6 Sep 2020 08:44:01 +0000 Subject: [PATCH] universal7885: Sync extractors with templates * This introduces fixup scripts and kang mode and fixes passing of arguments longer than one word, such as --section "Hello world". Change-Id: I42dde659e9bea4f7e1c9a7a3fa8da3243774ca4e Signed-off-by: SamarV-121 --- extract-files.sh | 81 ++++++++++++++++++++++++---------------------- setup-makefiles.sh | 59 ++++++++++++++++----------------- 2 files changed, 73 insertions(+), 67 deletions(-) diff --git a/extract-files.sh b/extract-files.sh index 8d8b9c6..a04d62a 100755 --- a/extract-files.sh +++ b/extract-files.sh @@ -1,62 +1,67 @@ #!/bin/bash # -# Copyright (C) 2016 The CyanogenMod Project -# Copyright (C) 2017-2018 The LineageOS Project +# Copyright (C) 2018-2019 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=universal7904-common -VENDOR=samsung - # 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"/../../.. +LINEAGE_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="${LINEAGE_ROOT}/vendor/lineage/build/tools/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 -while [ "$1" != "" ]; do - case $1 in - -n | --no-cleanup ) CLEAN_VENDOR=false - ;; - -s | --section ) shift - SECTION=$1 - CLEAN_VENDOR=false - ;; - * ) SRC=$1 - ;; +SECTION= +KANG= + +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 +if [ -z "${SRC}" ]; then + SRC="adb" fi -# Initialize the helper -setup_vendor "$DEVICE" "$VENDOR" "$LINEAGE_ROOT" false "$CLEAN_VENDOR" +# Initialize the helper for common device +setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${LINEAGE_ROOT}" true "${CLEAN_VENDOR}" -extract "$MY_DIR"/proprietary-files.txt "$SRC" "$SECTION" -"$MY_DIR"/setup-makefiles.sh +extract "${MY_DIR}/proprietary-files.txt" "${SRC}" \ + "${KANG}" --section "${SECTION}" +if [ -s "${MY_DIR}/../${DEVICE}/proprietary-files.txt" ]; then + # Reinitialize the helper for device + source "${MY_DIR}/../${DEVICE}/extract-files.sh" + setup_vendor "${DEVICE}" "${VENDOR}" "${LINEAGE_ROOT}" false "${CLEAN_VENDOR}" + + extract "${MY_DIR}/../${DEVICE}/proprietary-files.txt" "${SRC}" \ + "${KANG}" --section "${SECTION}" +fi + +"${MY_DIR}/setup-makefiles.sh" \ No newline at end of file diff --git a/setup-makefiles.sh b/setup-makefiles.sh index 7ee7534..83caea0 100755 --- a/setup-makefiles.sh +++ b/setup-makefiles.sh @@ -1,49 +1,50 @@ #!/bin/bash # -# Copyright (C) 2016 The CyanogenMod Project -# Copyright (C) 2017-2018 The LineageOS Project +# Copyright (C) 2018-2019 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=universal7904-common -VENDOR=samsung - -INITIAL_COPYRIGHT_YEAR=2016 +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"/../../.. +LINEAGE_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="${LINEAGE_ROOT}/vendor/lineage/build/tools/extract_utils.sh" +if [ ! -f "${HELPER}" ]; then + echo "Unable to find helper script at ${HELPER}" exit 1 fi -. "$HELPER" +source "${HELPER}" -# Initialize the helper -setup_vendor "$DEVICE" "$VENDOR" "$LINEAGE_ROOT" +# Initialize the helper for common +setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${LINEAGE_ROOT}" true # Copyright headers and guards -write_headers +write_headers "m20lte" -# The standard blobs -write_makefiles "$MY_DIR"/proprietary-files.txt true +# The standard common blobs +write_makefiles "${MY_DIR}/proprietary-files.txt" true -# We are done! +# Finish write_footers + +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 + + # Copyright headers and guards + write_headers + + # The standard device blobs + write_makefiles "${MY_DIR}/../${DEVICE}/proprietary-files.txt" true + + # Finish + write_footers +fi