2019-06-19 00:21:39 +00:00
#!/bin/bash
#
# Copyright (C) 2018-2019 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
set -e
2019-09-21 03:35:30 +00:00
function replace_dependency( ) {
for arg in ${ @ : 3 } ; do
patchelf --replace-needed $1 $2 $arg
done
}
2019-06-24 04:12:35 +00:00
DEVICE_COMMON = sm8150-common
2019-06-19 00:21:39 +00:00
VENDOR = oneplus
# Load extract_utils and do some sanity checks
MY_DIR = " ${ BASH_SOURCE %/* } "
if [ [ ! -d " ${ MY_DIR } " ] ] ; then MY_DIR = " ${ PWD } " ; fi
LINEAGE_ROOT = " ${ MY_DIR } " /../../..
HELPER = " ${ LINEAGE_ROOT } /vendor/lineage/build/tools/extract_utils.sh "
if [ ! -f " ${ HELPER } " ] ; then
echo " Unable to find helper script at ${ HELPER } "
exit 1
fi
source " ${ HELPER } "
# Default to sanitizing the vendor folder before extraction
CLEAN_VENDOR = true
SECTION =
KANG =
2019-07-01 13:30:57 +00:00
while [ " ${# } " -gt 0 ] ; do
case " ${ 1 } " in
-n | --no-cleanup )
CLEAN_VENDOR = false
; ;
-k | --kang )
KANG = "--kang"
; ;
-s | --section )
SECTION = " ${ 2 } " ; shift
CLEAN_VENDOR = false
; ;
* )
SRC = " ${ 1 } "
; ;
esac
shift
done
2019-06-19 00:21:39 +00:00
if [ -z " ${ SRC } " ] ; then
SRC = "adb"
fi
# Initialize the helper for common device
2019-06-24 04:12:35 +00:00
setup_vendor " ${ DEVICE_COMMON } " " ${ VENDOR } " " ${ LINEAGE_ROOT } " true " ${ CLEAN_VENDOR } "
2019-06-19 00:21:39 +00:00
extract " ${ MY_DIR } /proprietary-files.txt " " ${ SRC } " \
" ${ KANG } " --section " ${ SECTION } "
2018-12-24 11:25:51 +00:00
COMMON_BLOB_ROOT = " ${ LINEAGE_ROOT } /vendor/ ${ VENDOR } / ${ DEVICE_COMMON } /proprietary "
sed -i "s/android.hidl.base@1.0.so/libhidlbase.so\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/" " ${ COMMON_BLOB_ROOT } /lib64/libwfdnative.so " " ${ COMMON_BLOB_ROOT } /lib/libwfdnative.so "
2019-08-10 03:58:19 +00:00
sed -i "s/android.hidl.base@1.0.so/libhidlbase.so\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/" " ${ COMMON_BLOB_ROOT } /lib64/liblocationservice_jni.so "
sed -i "s/android.hidl.base@1.0.so/libhidlbase.so\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/" " ${ COMMON_BLOB_ROOT } /lib64/libxt_native.so "
2018-12-24 11:25:51 +00:00
2019-09-21 03:35:30 +00:00
replace_dependency "libcutils.so" "libprocessgroup.so" " ${ COMMON_BLOB_ROOT } /vendor/lib/libgps.utils.so " " ${ COMMON_BLOB_ROOT } /vendor/lib64/libgps.utils.so " " ${ COMMON_BLOB_ROOT } /vendor/lib/hw/audio.primary.msmnile.so " " ${ COMMON_BLOB_ROOT } /vendor/lib64/hw/audio.primary.msmnile.so "
2019-06-19 00:21:39 +00:00
" ${ MY_DIR } /setup-makefiles.sh "