Merge pull request #3 from olokos/lineage-17.1
[GitHub/exynos8895/android_device_samsung_greatlte.git] / extract-files.sh
1 #!/bin/bash
2 #
3 # Copyright (C) 2018-2019 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=samsung
21 DEVICE=greatlte
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}" "${VENDOR}" "${LINEAGE_ROOT}" true "${CLEAN_VENDOR}"
64
65 extract "${MY_DIR}/proprietary-files.txt" "${SRC}" \
66 "${KANG}" --section "${SECTION}"
67
68 # Fix proprietary blobs
69 BLOB_ROOT="$LINEAGE_ROOT"/vendor/"$VENDOR"/"$DEVICE"/proprietary
70 function patch_firmware() {
71 hexdump -ve '1/1 "%.2X"' $1 | \
72 sed "s/40000054DEC0AD/02000014000000/g" | \
73 xxd -r -p > $1.patched
74
75 mv $1.patched $1
76 }
77
78 # remove RKP crap
79 patch_firmware $BLOB_ROOT/vendor/firmware/fimc_is_lib.bin
80 patch_firmware $BLOB_ROOT/vendor/firmware/fimc_is_rta_2l2_3h1.bin
81 patch_firmware $BLOB_ROOT/vendor/firmware/fimc_is_rta_2l2_imx320.bin
82 patch_firmware $BLOB_ROOT/vendor/firmware/fimc_is_rta_imx333_3h1.bin
83 patch_firmware $BLOB_ROOT/vendor/firmware/fimc_is_rta_imx333_imx320.bin
84
85 "${MY_DIR}/setup-makefiles.sh"