From 0379b2ac0b84725f31cfce81c4704b5a6a7511fe Mon Sep 17 00:00:00 2001 From: Vladimir Oltean Date: Fri, 22 Mar 2019 22:37:05 +0000 Subject: [PATCH] universal7580: 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 --- extract-files.sh | 72 +++++++++++++++++++++++++++------------------- setup-makefiles.sh | 25 +++++++++------- 2 files changed, 57 insertions(+), 40 deletions(-) diff --git a/extract-files.sh b/extract-files.sh index 7c7edce..2e9aef5 100755 --- a/extract-files.sh +++ b/extract-files.sh @@ -1,63 +1,77 @@ #!/bin/bash # -# Copyright (C) 2018 The LineageOS Project +# Copyright (C) 2017-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 +# 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. +# set -e VENDOR=samsung DEVICE_COMMON=universal7580-common -# Load extractutils and do some sanity checks +# 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" - -if [ $# -eq 0 ]; then - SRC=adb -else - if [ $# -eq 1 ]; then - SRC=$1 - else - echo "$0: bad number of arguments" - echo "" - echo "usage: $0 [PATH_TO_EXPANDED_ROM]" - echo "" - echo "If PATH_TO_EXPANDED_ROM is not specified, blobs will be extracted from" - echo "the device using adb pull." - exit 1 - fi +source "${HELPER}" + +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" fi # Initialize the helper -setup_vendor "$DEVICE_COMMON" "$VENDOR" "$LINEAGE_ROOT" true +setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${LINEAGE_ROOT}" true "${CLEAN_VENDOR}" -extract "$MY_DIR"/proprietary-files.txt "$SRC" -extract "$MY_DIR"/proprietary-files-bsp.txt "$SRC" +extract "${MY_DIR}/proprietary-files.txt" "${SRC}" \ + "${KANG}" --section "${SECTION}" -BLOB_ROOT="$LINEAGE_ROOT"/vendor/"$VENDOR"/"$DEVICE_COMMON"/proprietary +extract "${MY_DIR}/proprietary-files-bsp.txt" "${SRC}" \ + "${KANG}" --section "${SECTION}" +# Fix proprietary blobs +BLOB_ROOT="$LINEAGE_ROOT"/vendor/"$VENDOR"/"$DEVICE_COMMON"/proprietary patchelf --replace-needed libgui.so libsensor.so $BLOB_ROOT/bin/gpsd patchelf --replace-needed libprotobuf-cpp-full.so libprotobuf-cpp-fl26.so $BLOB_ROOT/lib/libsec-ril.so patchelf --replace-needed libprotobuf-cpp-full.so libprotobuf-cpp-fl26.so $BLOB_ROOT/lib/libsec-ril-dsds.so -"$MY_DIR"/setup-makefiles.sh +"${MY_DIR}/setup-makefiles.sh" diff --git a/setup-makefiles.sh b/setup-makefiles.sh index 9cbfc3b..dc123d9 100755 --- a/setup-makefiles.sh +++ b/setup-makefiles.sh @@ -1,45 +1,48 @@ #!/bin/bash +# # Copyright (C) 2017-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 +# 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. +# +set -e VENDOR=samsung DEVICE_COMMON=universal7580-common export INITIAL_COPYRIGHT_YEAR=2017 -# Load extractutils and do some sanity checks +# 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_COMMON" "$VENDOR" "$LINEAGE_ROOT" true +setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${LINEAGE_ROOT}" true # Copyright headers and guards write_headers "a3xelte a5xelte a7xelte gvwifi gvlte j7elte s5neolte" # The standard blobs -write_makefiles "$MY_DIR"/proprietary-files.txt true +write_makefiles "${MY_DIR}/proprietary-files.txt" true # The BSP blobs - we put a conditional in case the BSP # is actually being built @@ -93,5 +96,5 @@ EOF # CUSTOM PART END # ################################################################################################### -# Done +# Finish write_footers -- 2.20.1