diff --git a/extract-files.sh b/extract-files.sh index 1231ba8..ae4e214 100755 --- a/extract-files.sh +++ b/extract-files.sh @@ -1,54 +1,41 @@ #!/bin/bash # -# Copyright (C) 2020 Pixel Experience +# 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=msm8953-common -VENDOR=motorola - # Load extract_utils and do some sanity checks -COMMON_DIR="${BASH_SOURCE%/*}" -if [[ ! -d "$COMMON_DIR" ]]; then COMMON_DIR="$PWD"; fi +MY_DIR="${BASH_SOURCE%/*}" +if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi -if [[ -z "$DEVICE_DIR" ]]; then - DEVICE_DIR="${COMMON_DIR}/../${DEVICE}" -fi +ANDROID_ROOT="${MY_DIR}/../../.." -ROOT="$COMMON_DIR"/../../.. - -HELPER="$ROOT"/vendor/aosp/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=false -ONLY_DEVICE=false + +ONLY_COMMON= +ONLY_TARGET= +KANG= +SECTION= while [ "${#}" -gt 0 ]; do case "${1}" in - -o | --only-common ) + --only-common ) ONLY_COMMON=true ;; - -d | --only-device ) - ONLY_DEVICE=true + --only-target ) + ONLY_TARGET=true ;; -n | --no-cleanup ) CLEAN_VENDOR=false @@ -67,58 +54,58 @@ 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 - # Fix xml version - product/etc/permissions/vendor.qti.hardware.data.connection-V1.0-java.xml | product/etc/permissions/vendor.qti.hardware.data.connection-V1.1-java.xml) - sed -i 's/xml version="2.0"/xml version="1.0"/' "${2}" - ;; + # Fix xml version + product/etc/permissions/vendor.qti.hardware.data.connection-V1.0-java.xml | product/etc/permissions/vendor.qti.hardware.data.connection-V1.1-java.xml) + sed -i 's/xml version="2.0"/xml version="1.0"/' "${2}" + ;; - # Fix fingerprint UHID - vendor/etc/init/android.hardware.biometrics.fingerprint@2.1-service.rc) - sed -i 's/group system input 9015/group system uhid input 9015/' "${2}" - ;; + # Fix fingerprint UHID + vendor/etc/init/android.hardware.biometrics.fingerprint@2.1-service.rc) + sed -i 's/group system input 9015/group system uhid input 9015/' "${2}" + ;; - # memset shim - vendor/bin/charge_only_mode) - patchelf --add-needed libmemset_shim.so "${2}" - ;; + # memset shim + vendor/bin/charge_only_mode) + "${PATCHELF}" --add-needed libmemset_shim.so "${2}" + ;; - # qsap shim - vendor/lib64/libmdmcutback.so) - patchelf --add-needed libqsap_shim.so "${2}" - ;; + # qsap shim + vendor/lib64/libmdmcutback.so) + "${PATCHELF}" --add-needed libqsap_shim.so "${2}" + ;; - vendor/lib/libmot_gpu_mapper.so) - sed -i "s/libgui/libwui/" "${2}" - ;; + vendor/lib/libmot_gpu_mapper.so) + sed -i "s/libgui/libwui/" "${2}" + ;; - # Fix missing symbols - vendor/lib64/libril-qc-hal-qmi.so) - patchelf --add-needed "libcutils_shim.so" "${2}" - ;; + # Fix missing symbols + vendor/lib64/libril-qc-hal-qmi.so) + "${PATCHELF}" --add-needed "libcutils_shim.so" "${2}" + ;; esac } -# Initialize the common helper -setup_vendor "$DEVICE_COMMON" "$VENDOR" "$ROOT" true $CLEAN_VENDOR +if [ -z "${ONLY_TARGET}" ]; then + # Initialize the helper for common device + setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" true "${CLEAN_VENDOR}" -if [[ "$ONLY_DEVICE" = "false" ]] && [[ -s "${COMMON_DIR}"/proprietary-files.txt ]]; then - extract "$COMMON_DIR"/proprietary-files.txt "$SRC" "${KANG}" --section "${SECTION}" + extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}" fi -if [[ "$ONLY_COMMON" = "false" ]] && [[ -s "${DEVICE_DIR}"/proprietary-files.txt ]]; then - if [[ ! "$IS_COMMON" = "true" ]]; then - IS_COMMON=false - fi + +if [ -z "${ONLY_COMMON}" ] && [ -s "${MY_DIR}/../${DEVICE}/proprietary-files.txt" ]; then # Reinitialize the helper for device - setup_vendor "$DEVICE" "$VENDOR" "$ROOT" "$IS_COMMON" "$CLEAN_VENDOR" - extract "${DEVICE_DIR}"/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 -"$COMMON_DIR"/setup-makefiles.sh +"${MY_DIR}/setup-makefiles.sh" diff --git a/setup-makefiles.sh b/setup-makefiles.sh index 4d52bc2..6d27a96 100755 --- a/setup-makefiles.sh +++ b/setup-makefiles.sh @@ -1,70 +1,48 @@ #!/bin/bash # -# Copyright (C) 2020 Pixel Experience +# 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=msm8953-common -GUARDED_DEVICES_COMMON="ali albus sanders" -VENDOR=motorola - -INITIAL_COPYRIGHT_YEAR=2020 - # Load extract_utils and do some sanity checks -COMMON_DIR="${BASH_SOURCE%/*}" -if [[ ! -d "$COMMON_DIR" ]]; then COMMON_DIR="$PWD"; fi +MY_DIR="${BASH_SOURCE%/*}" +if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi -if [[ -z "$DEVICE_DIR" ]]; then - DEVICE_DIR="${COMMON_DIR}/../${DEVICE}" -fi +ANDROID_ROOT="${MY_DIR}/../../.." -ROOT="$COMMON_DIR"/../../.. - -HELPER="$ROOT"/vendor/aosp/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" "$ROOT" true +# Initialize the helper for common +setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" true + +# Warning headers and guards +write_headers "albus ali sanders" + +# 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 -if ([[ "$ONLY_DEVICE" = "false" ]] || [[ -z "$ONLY_DEVICE" ]]) && [[ -s "${COMMON_DIR}"/proprietary-files.txt ]]; then - # Copyright headers and guards - write_headers "$GUARDED_DEVICES_COMMON" - # The common blobs - write_makefiles "$COMMON_DIR"/proprietary-files.txt true # Finish write_footers fi -if ([[ "$ONLY_COMMON" = "false" ]] || [[ -z "$ONLY_COMMON" ]]) && [[ -s "${DEVICE_DIR}"/proprietary-files.txt ]]; then - # Reinitialize the helper for device and write copyright headers and guards - DEVICE_COMMON="$DEVICE" - if [[ ! "$IS_COMMON" = "true" ]]; then - IS_COMMON=false - GUARDED_DEVICES= - fi - # Reinitialize the helper for device - INITIAL_COPYRIGHT_YEAR="$DEVICE_BRINGUP_YEAR" - setup_vendor "$DEVICE" "$VENDOR" "$ROOT" "$IS_COMMON" "$CLEAN_VENDOR" - # Copyright headers and guards - write_headers "$GUARDED_DEVICES" - # The standard device blobs - write_makefiles "${DEVICE_DIR}"/proprietary-files.txt true - # We are done! - write_footers -fi