3 # Copyright (C) 2017-2020 The LineageOS Project
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
21 DEVICE_COMMON
=exynos9610-common
23 # Load extract_utils and do some sanity checks
24 MY_DIR
="${BASH_SOURCE%/*}"
25 if [[ ! -d "${MY_DIR}" ]]; then MY_DIR
="${PWD}"; fi
27 LINEAGE_ROOT
="${MY_DIR}"/..
/..
/..
29 HELPER
="${LINEAGE_ROOT}/vendor/lineage/build/tools/extract_utils.sh"
30 if [ ! -f "${HELPER}" ]; then
31 echo "Unable to find helper script at ${HELPER}"
39 while [ "${#}" -gt 0 ]; do
58 if [ -z "${SRC}" ]; then
62 # Initialize the helper
63 setup_vendor
"${DEVICE_COMMON}" "${VENDOR}" "${LINEAGE_ROOT}" true "${CLEAN_VENDOR}"
65 extract
"${MY_DIR}/proprietary-files.txt" "${SRC}" \
66 "${KANG}" --section "${SECTION}"
68 extract
"${MY_DIR}/proprietary-files-vendor.txt" "${SRC}" \
69 "${KANG}" --section "${SECTION}"
71 # Fix proprietary blobs
72 BLOB_ROOT
="$LINEAGE_ROOT"/vendor
/"$VENDOR"/"$DEVICE_COMMON"/proprietary
73 patchelf
--replace-needed libmedia.so libmedia_ims.so
$BLOB_ROOT/lib64
/libmediaadaptor.so
74 patchelf
--add-needed libaudioproxy_shim.so
$BLOB_ROOT/vendor
/lib
/libaudioproxy.so
75 patchelf
--add-needed libmemset.so
$BLOB_ROOT/vendor
/bin
/charge_only_mode
77 # Remove libhidltransport dependency
78 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/bin
/hw
/android.hardware.biometrics.fingerprint@
2.1-service-rbs
79 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/bin
/hw
/android.hardware.drm@
1.2-service.widevine
80 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/bin
/hw
/android.hardware.nfc@
1.2-service.sec
81 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/bin
/hw
/android.hardware.secure_element@
1.1-service-uicc
82 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/bin
/hw
/vendor.dolby.hardware.dms@
1.0-service
83 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/bin
/hw
/vendor.samsung.hardware.gnss@
1.0-service
84 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib
/hw
/vendor.egistec.hardware.fingerprint@
4.0-impl.so
85 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib
/libGrallocWrapper.so
86 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib
/libsitril-client.so
87 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib
/libwvhidl.so
88 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib
/nfc_nci_sec.so
89 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib
/vendor.dolby.hardware.dms@
1.0.so
90 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib
/vendor.egistec.hardware.fingerprint@
4.0.so
91 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib
/vendor.samsung_slsi.telephony.hardware.oemservice@
1.0.so
92 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib
/vendor.samsung_slsi.telephony.hardware.radio@
1.0.so
93 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib
/vendor.samsung_slsi.telephony.hardware.radio@
1.1.so
94 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib
/vendor.samsung_slsi.telephony.hardware.radioExternal@
1.0.so
95 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib64
/hw
/android.hardware.gnss@
1.0-impl.samsung.so
96 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib64
/hw
/android.hardware.gnss@
1.1-impl.samsung.so
97 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib64
/hw
/android.hardware.gnss@
2.0-impl.samsung.so
98 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib64
/hw
/vendor.egistec.hardware.fingerprint@
4.0-impl.so
99 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib64
/hw
/vendor.samsung.hardware.gnss@
1.0-impl.so
100 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib64
/libGrallocWrapper.so
101 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib64
/libsitril-client.so
102 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib64
/nfc_nci_sec.so
103 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib64
/vendor.dolby.hardware.dms@
1.0-impl.so
104 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib64
/vendor.dolby.hardware.dms@
1.0.so
105 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib64
/vendor.egistec.hardware.fingerprint@
4.0.so
106 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib64
/vendor.samsung.hardware.gnss@
1.0.so
107 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib64
/vendor.samsung_slsi.telephony.hardware.oemservice@
1.0.so
108 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib64
/vendor.samsung_slsi.telephony.hardware.radio@
1.0.so
109 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib64
/vendor.samsung_slsi.telephony.hardware.radio@
1.1.so
110 patchelf
--remove-needed libhidltransport.so
$BLOB_ROOT/vendor
/lib64
/vendor.samsung_slsi.telephony.hardware.radioExternal@
1.0.so
112 # Remove libhwbinder dependency
113 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/bin
/hw
/android.hardware.drm@
1.2-service.widevine
114 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/bin
/hw
/android.hardware.nfc@
1.2-service.sec
115 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/bin
/hw
/android.hardware.secure_element@
1.1-service-uicc
116 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib
/libsitril-client.so
117 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib
/libwvhidl.so
118 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib
/vendor.dolby.hardware.dms@
1.0.so
119 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib
/vendor.egistec.hardware.fingerprint@
4.0.so
120 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib
/vendor.samsung_slsi.telephony.hardware.oemservice@
1.0.so
121 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib
/vendor.samsung_slsi.telephony.hardware.radio@
1.0.so
122 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib
/vendor.samsung_slsi.telephony.hardware.radio@
1.1.so
123 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib
/vendor.samsung_slsi.telephony.hardware.radioExternal@
1.0.so
124 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib64
/hw
/android.hardware.gnss@
1.0-impl.samsung.so
125 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib64
/hw
/android.hardware.gnss@
1.1-impl.samsung.so
126 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib64
/hw
/android.hardware.gnss@
2.0-impl.samsung.so
127 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib64
/hw
/vendor.samsung.hardware.gnss@
1.0-impl.so
128 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib64
/libsitril-client.so
129 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib64
/vendor.dolby.hardware.dms@
1.0.so
130 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib64
/vendor.egistec.hardware.fingerprint@
4.0.so
131 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib64
/vendor.samsung.hardware.gnss@
1.0.so
132 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib64
/vendor.samsung_slsi.telephony.hardware.oemservice@
1.0.so
133 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib64
/vendor.samsung_slsi.telephony.hardware.radio@
1.0.so
134 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib64
/vendor.samsung_slsi.telephony.hardware.radio@
1.1.so
135 patchelf
--remove-needed libhwbinder.so
$BLOB_ROOT/vendor
/lib64
/vendor.samsung_slsi.telephony.hardware.radioExternal@
1.0.so
137 patchelf
--replace-needed libprotobuf-cpp-lite.so libprotobuf-cpp-lite-v29.so
$BLOB_ROOT/vendor
/lib
/libwvhidl.so
139 "${MY_DIR}/setup-makefiles.sh"