exynos9610: copy vndk29 libprotobuf-cpp-lite and patchelf libwvhidl
[GitHub/moto-9609/android_device_motorola_exynos9610-common.git] / extract-files.sh
1 #!/bin/bash
2 #
3 # Copyright (C) 2017-2020 The LineageOS Project
4 #
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
8 #
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
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.
16 #
17
18 set -e
19
20 VENDOR=motorola
21 DEVICE_COMMON=exynos9610-common
22
23 # Load extract_utils and do some sanity checks
24 MY_DIR="${BASH_SOURCE%/*}"
25 if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
26
27 LINEAGE_ROOT="${MY_DIR}"/../../..
28
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}"
32 exit 1
33 fi
34 source "${HELPER}"
35
36 SECTION=
37 KANG=
38
39 while [ "${#}" -gt 0 ]; do
40 case "${1}" in
41 -n | --no-cleanup )
42 CLEAN_VENDOR=false
43 ;;
44 -k | --kang )
45 KANG="--kang"
46 ;;
47 -s | --section )
48 SECTION="${2}"; shift
49 CLEAN_VENDOR=false
50 ;;
51 * )
52 SRC="${1}"
53 ;;
54 esac
55 shift
56 done
57
58 if [ -z "${SRC}" ]; then
59 SRC="adb"
60 fi
61
62 # Initialize the helper
63 setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${LINEAGE_ROOT}" true "${CLEAN_VENDOR}"
64
65 extract "${MY_DIR}/proprietary-files.txt" "${SRC}" \
66 "${KANG}" --section "${SECTION}"
67
68 extract "${MY_DIR}/proprietary-files-vendor.txt" "${SRC}" \
69 "${KANG}" --section "${SECTION}"
70
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
76
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
111
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
136
137 patchelf --replace-needed libprotobuf-cpp-lite.so libprotobuf-cpp-lite-v29.so $BLOB_ROOT/vendor/lib/libwvhidl.so
138
139 "${MY_DIR}/setup-makefiles.sh"