universal7580: Force restorecon for /efs
[GitHub/LineageOS/android_device_samsung_universal7580-common.git] / extract-files.sh
1 #!/bin/bash
2 #
3 # Copyright (C) 2016 The CyanogenMod Project
4 # Copyright (C) 2017-2020 The LineageOS Project
5 #
6 # SPDX-License-Identifier: Apache-2.0
7 #
8
9 set -e
10
11 DEVICE_COMMON=universal7580-common
12 VENDOR=samsung
13
14 # Load extract_utils and do some sanity checks
15 MY_DIR="${BASH_SOURCE%/*}"
16 if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
17
18 ANDROID_ROOT="${MY_DIR}/../../.."
19
20 HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
21 if [ ! -f "${HELPER}" ]; then
22 echo "Unable to find helper script at ${HELPER}"
23 exit 1
24 fi
25 source "${HELPER}"
26
27 # Default to sanitizing the vendor folder before extraction
28 CLEAN_VENDOR=true
29
30 KANG=
31 SECTION=
32
33 while [ "${#}" -gt 0 ]; do
34 case "${1}" in
35 -n | --no-cleanup )
36 CLEAN_VENDOR=false
37 ;;
38 -k | --kang )
39 KANG="--kang"
40 ;;
41 -s | --section )
42 SECTION="${2}"; shift
43 CLEAN_VENDOR=false
44 ;;
45 * )
46 SRC="${1}"
47 ;;
48 esac
49 shift
50 done
51
52 if [ -z "${SRC}" ]; then
53 SRC="adb"
54 fi
55
56
57 # Initialize the helper
58 setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" true "${CLEAN_VENDOR}"
59
60 extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
61
62 # Fix proprietary blobs
63 BLOB_ROOT="$ANDROID_ROOT"/vendor/"$VENDOR"/"$DEVICE_COMMON"/proprietary
64 "${PATCHELF}" --replace-needed libgui.so libsensor.so $BLOB_ROOT/vendor/bin/gpsd
65
66 # replace SSLv3_client_method with SSLv23_method
67 sed -i "s/SSLv3_client_method/SSLv23_method\x00\x00\x00\x00\x00\x00/" $BLOB_ROOT/vendor/bin/gpsd
68
69
70 "${MY_DIR}/setup-makefiles.sh"