3 # Copyright (C) 2016 The CyanogenMod Project
4 # Copyright (C) 2017-2020 The LineageOS Project
6 # SPDX-License-Identifier: Apache-2.0
11 DEVICE_COMMON
=exynos9610-common
14 # Load extract_utils and do some sanity checks
15 MY_DIR
="${BASH_SOURCE%/*}"
16 if [[ ! -d "${MY_DIR}" ]]; then MY_DIR
="${PWD}"; fi
18 ANDROID_ROOT
="${MY_DIR}/../../.."
20 HELPER
="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
21 if [ ! -f "${HELPER}" ]; then
22 echo "Unable to find helper script at ${HELPER}"
27 # Default to sanitizing the vendor folder before extraction
33 while [ "${#}" -gt 0 ]; do
52 if [ -z "${SRC}" ]; then
56 # Initialize the helper
57 setup_vendor
"${DEVICE_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" true "${CLEAN_VENDOR}"
59 extract
"${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
60 extract
"${MY_DIR}/proprietary-files-vendor.txt" "${SRC}" "${KANG}" --section "${SECTION}"
62 # Fix proprietary blobs
63 BLOB_ROOT
="${ANDROID_ROOT}"/vendor/"${VENDOR}"/"${DEVICE_COMMON}"/proprietary
65 "${PATCHELF}" --replace-needed "libmedia.so" "libmedia_ims.so" "${BLOB_ROOT}"/lib64
/libmediaadaptor.so
67 for LIBAUDIOPROXY_SHIM
in $
(grep -L "libaudioproxy_shim.so" "${BLOB_ROOT}"/vendor
/lib
/libaudioproxy.so
); do
68 "${PATCHELF}" --add-needed libaudioproxy_shim.so
"${LIBAUDIOPROXY_SHIM}"
70 for LIBMEMSET
in $
(grep -L "libmemset.so" "${BLOB_ROOT}"/vendor
/bin
/charge_only_mode
); do
71 "${PATCHELF}" --add-needed "libmemset.so" "${LIBMEMSET}"
73 for LIBDEMANGLE
in $
(grep -L "libdemangle.so" "${BLOB_ROOT}"/vendor
/lib
/libhifills.so
); do
74 "${PATCHELF}" --add-needed "libdemangle.so" "${LIBDEMANGLE}"
76 for LIBDEMANGLE64
in $
(grep -L "libdemangle.so" "${BLOB_ROOT}"/vendor
/lib64
/libhifills.so
); do
77 "${PATCHELF}" --add-needed "libdemangle.so" "${LIBDEMANGLE64}"
80 sed -i 's|/system/framework|/vendor/framework|' "${BLOB_ROOT}"/vendor
/etc
/permissions
/com.motorola.motosignature.xml
82 # Remove libhidltransport dependency
83 "${PATCHELF}" --remove-needed "libhidltransport.so" "${BLOB_ROOT}"/vendor
/bin
/hw
/android.hardware.biometrics.fingerprint@
2.1-service-rbs
84 "${PATCHELF}" --remove-needed "libhidltransport.so" "${BLOB_ROOT}"/vendor
/lib64
/hw
/android.hardware.gnss@
1.0-impl.samsung.so
85 "${PATCHELF}" --remove-needed "libhidltransport.so" "${BLOB_ROOT}"/vendor
/lib64
/hw
/android.hardware.gnss@
1.1-impl.samsung.so
86 "${PATCHELF}" --remove-needed "libhidltransport.so" "${BLOB_ROOT}"/vendor
/lib64
/hw
/android.hardware.gnss@
2.0-impl.samsung.so
87 "${PATCHELF}" --remove-needed "libhidltransport.so" "${BLOB_ROOT}"/vendor
/lib64
/hw
/vendor.samsung.hardware.gnss@
1.0-impl.so
89 # Remove libhwbinder dependency
90 "${PATCHELF}" --remove-needed "libhwbinder.so" "${BLOB_ROOT}"/vendor
/lib64
/hw
/android.hardware.gnss@
1.0-impl.samsung.so
91 "${PATCHELF}" --remove-needed "libhwbinder.so" "${BLOB_ROOT}"/vendor
/lib64
/hw
/android.hardware.gnss@
1.1-impl.samsung.so
92 "${PATCHELF}" --remove-needed "libhwbinder.so" "${BLOB_ROOT}"/vendor
/lib64
/hw
/android.hardware.gnss@
2.0-impl.samsung.so
94 "${MY_DIR}/setup-makefiles.sh"