FP5: Sync extract scripts with templates
Change-Id: I98a36854c5a0c0390592911bb2558b34eff77efc
diff --git a/extract-files.sh b/extract-files.sh
index 894b914..b2c10f5 100755
--- a/extract-files.sh
+++ b/extract-files.sh
@@ -1,8 +1,7 @@
#!/bin/bash
#
-# Copyright (C) 2016 The CyanogenMod Project
-# Copyright (C) 2017-2023 The LineageOS Project
-#
+# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
+# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
@@ -17,6 +16,10 @@
ANDROID_ROOT="${MY_DIR}/../../.."
+# If XML files don't have comments before the XML header, use this flag
+# Can still be used with broken XML files by using blob_fixup
+export TARGET_DISABLE_XML_FIXING=true
+
HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
if [ ! -f "${HELPER}" ]; then
echo "Unable to find helper script at ${HELPER}"
@@ -27,24 +30,29 @@
# Default to sanitizing the vendor folder before extraction
CLEAN_VENDOR=true
+ONLY_FIRMWARE=
KANG=
SECTION=
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}"
- ;;
+ --only-firmware)
+ ONLY_FIRMWARE=true
+ ;;
+ -n | --no-cleanup)
+ CLEAN_VENDOR=false
+ ;;
+ -k | --kang)
+ KANG="--kang"
+ ;;
+ -s | --section)
+ SECTION="${2}"
+ shift
+ CLEAN_VENDOR=false
+ ;;
+ *)
+ SRC="${1}"
+ ;;
esac
shift
done
@@ -56,24 +64,39 @@
function blob_fixup() {
case "${1}" in
system_ext/lib/libwfdservice.so)
+ [ "$2" = "" ] && return 0
"${PATCHELF}" --replace-needed "android.media.audio.common.types-V2-cpp.so" "android.media.audio.common.types-V3-cpp.so" "${2}"
;;
system_ext/lib64/libwfdnative.so)
+ [ "$2" = "" ] && return 0
sed -i "s/android.hidl.base@1.0.so/libhidlbase.so\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/" "${2}"
;;
vendor/etc/libnfc-hal-st.conf)
+ [ "$2" = "" ] && return 0
sed -i 's|STNFC_HAL_LOGLEVEL=.*|STNFC_HAL_LOGLEVEL=0x12|g' "${2}"
;;
vendor/lib64/hw/fingerprint.lahaina.so)
+ [ "$2" = "" ] && return 0
"${PATCHELF}" --set-soname fingerprint.lahaina.so "${2}"
;;
+ *)
+ return 1
+ ;;
esac
+
+ return 0
+}
+
+function blob_fixup_dry() {
+ blob_fixup "$1" ""
}
# Initialize the helper
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}"
-extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
+if [ -z "${ONLY_FIRMWARE}" ]; then
+ extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
+fi
if [ -z "${SECTION}" ]; then
extract_firmware "${MY_DIR}/proprietary-firmware.txt" "${SRC}"
diff --git a/setup-makefiles.sh b/setup-makefiles.sh
index 3fe91b2..8869ebf 100755
--- a/setup-makefiles.sh
+++ b/setup-makefiles.sh
@@ -1,8 +1,7 @@
#!/bin/bash
#
-# Copyright (C) 2016 The CyanogenMod Project
-# Copyright (C) 2017-2023 The LineageOS Project
-#
+# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
+# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#