diff options
author | dd3boh <dade.garberi@gmail.com> | 2017-10-31 12:46:40 +0100 |
---|---|---|
committer | dd3boh <dade.garberi@gmail.com> | 2017-10-31 13:09:19 +0100 |
commit | 191db404b4c2574513a92aa7cfd1f1f29cfe31c2 (patch) | |
tree | 1f2e420a5c7ac9d1edbd5b15a5b0c228d68470fd | |
parent | 645fc665525f13ac3921100bc604e8ffa7b7d3a5 (diff) |
z2_plus: Setup proprietary-files and the setup makefile script as they should be
Signed-off-by: dd3boh <dade.garberi@gmail.com>
Diffstat (limited to '')
-rw-r--r-- | extract-files.sh | 120 | ||||
-rw-r--r-- | proprietary-files.txt | 28 | ||||
-rwxr-xr-x | setup-makefiles.sh | 287 |
3 files changed, 124 insertions, 311 deletions
diff --git a/extract-files.sh b/extract-files.sh index 0f9c23b..44caf78 100644 --- a/extract-files.sh +++ b/extract-files.sh @@ -1,60 +1,74 @@ #!/bin/bash -VENDOR=zuk -DEVICE=z2_plus - -function extract() { - for FILE in `egrep -v '(^#|^$)' $1`; do - OLDIFS=$IFS IFS=":" PARSING_ARRAY=($FILE) IFS=$OLDIFS - FILE=`echo ${PARSING_ARRAY[0]} | sed -e "s/^-//g"` - DEST=${PARSING_ARRAY[1]} - if [ -z $DEST ]; then - DEST=$FILE - fi - DIR=`dirname $FILE` - if [ ! -d $2/$DIR ]; then - mkdir -p $2/$DIR - fi - if [ "$SRC" = "adb" ]; then - # Try CM target first - adb pull /system/$DEST $2/$DEST - # if file does not exist try OEM target - if [ "$?" != "0" ]; then - adb pull /system/$FILE $2/$DEST - fi - else - cp $SRC/system/$FILE $2/$DEST - # if file dot not exist try destination - if [ "$?" != "0" ] - then - cp $SRC/system/$DEST $2/$DEST - fi - fi - done -} - -if [ $# -eq 0 ]; then - SRC=adb -else - if [ $# -eq 1 ]; then - SRC=$1 - else - echo "$0: bad number of arguments" - echo "" - echo "usage: $0 [PATH_TO_EXPANDED_ROM]" - echo "" - echo "If PATH_TO_EXPANDED_ROM is not specified, blobs will be extracted from" - echo "the device using adb pull." +# +# Copyright (C) 2016 The CyanogenMod Project +# Copyright (C) 2017 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 + +# Required! +export DEVICE=z2_plus +export VENDOR=zuk + +export DEVICE_BRINGUP_YEAR=2016 + +# Load extract_utils and do some sanity checks +MY_DIR="${BASH_SOURCE%/*}" +if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi + +CM_ROOT="$MY_DIR"/../../.. + +HELPER="$CM_ROOT"/vendor/cm/build/tools/extract_utils.sh +if [ ! -f "$HELPER" ]; then + echo "Unable to find helper script at $HELPER" exit 1 - fi fi +. "$HELPER" -BASE=../../../vendor/$VENDOR/$DEVICE/proprietary -rm -rf $BASE/* +# Default to sanitizing the vendor folder before extraction +CLEAN_VENDOR=true -DEVBASE=../../../vendor/$VENDOR/$DEVICE/proprietary -rm -rf $DEVBASE/* +while [ "$1" != "" ]; do + case $1 in + -p | --path ) shift + SRC=$1 + ;; + -s | --section ) shift + SECTION=$1 + CLEAN_VENDOR=false + ;; + -n | --no-cleanup ) CLEAN_VENDOR=false + ;; + esac + shift +done -extract ../../$VENDOR/$DEVICE/proprietary-files.txt $BASE -extract ../../$VENDOR/$DEVICE/proprietary-files.txt $DEVBASE +if [ -z "$SRC" ]; then + SRC=adb +fi + +# Initialize the helper for common device +setup_vendor "$DEVICE" "$VENDOR" "$CM_ROOT" true "$CLEAN_VENDOR" + +extract "$MY_DIR"/proprietary-files.txt "$SRC" "$SECTION" + +if [ -s "$MY_DIR"/../$DEVICE/proprietary-files.txt ]; then + # Reinitialize the helper for device + setup_vendor "$DEVICE" "$VENDOR" "$CM_ROOT" false "$CLEAN_VENDOR" + + extract "$MY_DIR"/../$DEVICE/proprietary-files.txt "$SRC" "$SECTION" +fi -./setup-makefiles.sh +"$MY_DIR"/setup-makefiles.sh diff --git a/proprietary-files.txt b/proprietary-files.txt index 2e37f83..5b5c8a0 100644 --- a/proprietary-files.txt +++ b/proprietary-files.txt @@ -147,7 +147,7 @@ framework/ConnectivityExt.jar framework/com.qti.dpmframework.jar framework/tcmclient.jar framework/com.qti.location.sdk.jar -framework/qcrilhook.jar +-framework/qcrilhook.jar framework/dpmapi.jar framework/com.qti.snapdragon.sdk.display.jar framework/com.quicinc.cne.jar @@ -171,7 +171,7 @@ lib64/lib_fpc_tac_shared.so lib64/vendor.display.postproc@1.0.so lib64/libloc_core.so lib64/libloc_eng.so -lib64/libloc_api_v02.so +-lib64/libloc_api_v02.so lib64/libextmedia_jni.so usr/idc/usf_tsc_ptr.idc usr/idc/usf_tsc_ext.idc @@ -267,7 +267,7 @@ vendor/lib/libaudiodevarb.so vendor/lib/libNimsWrap.so vendor/lib/libsmwrapper.so vendor/lib/libmmcamera_ppbase_module.so -vendor/lib/libgpustats.so +-vendor/lib/libgpustats.so vendor/lib/libthermalclient.so vendor/lib/libchromatix_ov8865_cpp_us_chromatix.so vendor/lib/libchromatix_s5k2m8sx_liveshot.so @@ -371,7 +371,7 @@ vendor/lib/lib-imsrcs.so vendor/lib/libqseed3.so vendor/lib/libmmcamera_sw2d_lib.so vendor/lib/libc2d30_bltlib.so -vendor/lib/libtime_genoff.so +-vendor/lib/libtime_genoff.so vendor/lib/libmmcamera_isp_abf47.so vendor/lib/libqdp.so vendor/lib/libchromatix_ov8865_cpp_preview.so @@ -457,7 +457,7 @@ vendor/lib/libmmcamera_isp_color_xform_video46.so vendor/lib/libconnctrl.so vendor/lib/libmmcamera_pdafcamif.so vendor/lib/libchromatix_ov8865_common.so -vendor/lib/libsdm-disp-vndapis.so +-vendor/lib/libsdm-disp-vndapis.so vendor/lib/libmmcamera_pdaf.so vendor/lib/libprotobuf-cpp-Hlit.so vendor/lib/libgsl.so @@ -564,7 +564,7 @@ vendor/lib64/libaudiodevarb.so vendor/lib64/librpmb.so vendor/lib64/libNimsWrap.so vendor/lib64/libconfigdb.so -vendor/lib64/libgpustats.so +-vendor/lib64/libgpustats.so vendor/lib64/libthermalclient.so vendor/lib64/libsettings.so vendor/lib64/libOmxAlacDec.so @@ -630,7 +630,7 @@ vendor/lib64/lib-imsrcs.so vendor/lib64/libqseed3.so vendor/lib64/libsecureui_svcsock.so vendor/lib64/libc2d30_bltlib.so -vendor/lib64/libtime_genoff.so +-vendor/lib64/libtime_genoff.so vendor/lib64/libqdp.so vendor/lib64/libalarmservice_jni.so vendor/lib64/lib-imss.so @@ -681,7 +681,7 @@ vendor/lib64/libmm-disp-apis.so vendor/lib64/libqti-iop-client.so vendor/lib64/librs_adreno.so vendor/lib64/libconnctrl.so -vendor/lib64/libsdm-disp-vndapis.so +-vendor/lib64/libsdm-disp-vndapis.so vendor/lib64/libprotobuf-cpp-Hlit.so vendor/lib64/libdataitems.so vendor/lib64/libgsl.so @@ -737,3 +737,15 @@ vendor/etc/qcril_fancy.db vendor/etc/perf-profile3.conf vendor/etc/msm_irqbalance.conf vendor/qcril.db + +# APKs +-app/datastatusnotification/datastatusnotification.apk +-app/QtiTelephonyService/QtiTelephonyService.apk +-app/shutdownlistener/shutdownlistener.apk +-app/TimeService/TimeService.apk +-priv-app/CNEService/CNEService.apk +-priv-app/com.qualcomm.location/com.qualcomm.location.apk +-priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk +-vendor/app/colorservice/colorservice.apk +-vendor/app/imssettings/imssettings.apk +-vendor/app/ims/ims.apk diff --git a/setup-makefiles.sh b/setup-makefiles.sh index 67bafa6..af91e75 100755 --- a/setup-makefiles.sh +++ b/setup-makefiles.sh @@ -1,90 +1,7 @@ #!/bin/bash -VENDOR=zuk -DEVICE=z2_plus - -OUTDIR=vendor/$VENDOR/$DEVICE -MAKEFILE=../../../$OUTDIR/$DEVICE-vendor.mk - -(cat << EOF) > $MAKEFILE -# Copyright (C) 2016 The CyanogenMod 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. - -PRODUCT_COPY_FILES += \\ -EOF - -LINEEND=" \\" -COUNT=`wc -l proprietary-files.txt | awk {'print $1'}` -DISM=`egrep -c '(^#|^$)' proprietary-files.txt` -COUNT=`expr $COUNT - $DISM` -for FILE in `egrep -v '(^#|^$)' proprietary-files.txt`; do - COUNT=`expr $COUNT - 1` - if [ $COUNT = "0" ]; then - LINEEND="" - fi - # Split the file from the destination (format is "file[:destination]") - OLDIFS=$IFS IFS=":" PARSING_ARRAY=($FILE) IFS=$OLDIFS - if [[ ! "$FILE" =~ ^-.* ]]; then - FILE=`echo ${PARSING_ARRAY[0]} | sed -e "s/^-//g"` - DEST=${PARSING_ARRAY[1]} - if [ -n "$DEST" ]; then - FILE=$DEST - fi - echo " $OUTDIR/proprietary/$FILE:system/$FILE$LINEEND" >> $MAKEFILE - fi -done - -OUTDIR=vendor/$VENDOR/$DEVICE -MAKEFILE=../../../$OUTDIR/$DEVICE-vendor.mk - -(cat << EOF) >> $MAKEFILE - -PRODUCT_PACKAGES += \\ - libloc_api_v02 \\ - libsdm-disp-vndapis \\ - libgpustats \\ - libtime_genoff \\ - datastatusnotification \\ - QtiTelephonyService \\ - shutdownlistener \\ - TimeService \\ - CNEService \\ - com.qualcomm.location \\ - qcrilmsgtunnel \\ - colorservice \\ - qcrilhook \\ - ims \\ - imssettings -EOF - -(cat << EOF) > ../../../$OUTDIR/BoardConfigVendor.mk -# Copyright (C) 2016 The CyanogenMod 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. -EOF - -(cat << EOF) > ../../../$OUTDIR/Android.mk # Copyright (C) 2016 The CyanogenMod Project +# Copyright (C) 2017 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. @@ -97,184 +14,54 @@ EOF # 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. +# -LOCAL_PATH := \$(call my-dir) - -ifeq (\$(TARGET_DEVICE),$DEVICE) - -include \$(CLEAR_VARS) -LOCAL_MODULE := libloc_api_v02 -LOCAL_MODULE_OWNER := zuk -LOCAL_SRC_FILES := proprietary/lib64/libloc_api_v02.so -LOCAL_MULTILIB := 64 -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := SHARED_LIBRARIES -LOCAL_MODULE_SUFFIX := .so -include \$(BUILD_PREBUILT) - -include \$(CLEAR_VARS) -LOCAL_MODULE := libtime_genoff -LOCAL_MODULE_OWNER := zuk -LOCAL_SRC_FILES_64 := proprietary/vendor/lib64/libtime_genoff.so -LOCAL_SRC_FILES_32 := proprietary/vendor/lib/libtime_genoff.so -LOCAL_MULTILIB := both -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := SHARED_LIBRARIES -LOCAL_MODULE_SUFFIX := .so -LOCAL_PROPRIETARY_MODULE := true -include \$(BUILD_PREBUILT) - -include \$(CLEAR_VARS) -LOCAL_MODULE := datastatusnotification -LOCAL_MODULE_OWNER := zuk -LOCAL_SRC_FILES := proprietary/app/datastatusnotification/datastatusnotification.apk -LOCAL_CERTIFICATE := platform -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := APPS -LOCAL_DEX_PREOPT := false -LOCAL_MODULE_SUFFIX := .apk -include \$(BUILD_PREBUILT) +set -e -include \$(CLEAR_VARS) -LOCAL_MODULE := QtiTelephonyService -LOCAL_MODULE_OWNER := zuk -LOCAL_SRC_FILES := proprietary/app/QtiTelephonyService/QtiTelephonyService.apk -LOCAL_CERTIFICATE := platform -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := APPS -LOCAL_DEX_PREOPT := false -LOCAL_MODULE_SUFFIX := .apk -include \$(BUILD_PREBUILT) +# Required! +export DEVICE=z2_plus +export VENDOR=zuk -include \$(CLEAR_VARS) -LOCAL_MODULE := shutdownlistener -LOCAL_MODULE_OWNER := zuk -LOCAL_SRC_FILES := proprietary/app/shutdownlistener/shutdownlistener.apk -LOCAL_CERTIFICATE := platform -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := APPS -LOCAL_DEX_PREOPT := false -LOCAL_MODULE_SUFFIX := .apk -include \$(BUILD_PREBUILT) +export DEVICE_BRINGUP_YEAR=2016 -include \$(CLEAR_VARS) -LOCAL_MODULE := TimeService -LOCAL_MODULE_OWNER := zuk -LOCAL_SRC_FILES := proprietary/app/TimeService/TimeService.apk -LOCAL_CERTIFICATE := platform -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := APPS -LOCAL_DEX_PREOPT := false -LOCAL_MODULE_SUFFIX := .apk -include \$(BUILD_PREBUILT) +INITIAL_COPYRIGHT_YEAR=2017 -include \$(CLEAR_VARS) -LOCAL_MODULE := CNEService -LOCAL_MODULE_OWNER := zuk -LOCAL_SRC_FILES := proprietary/priv-app/CNEService/CNEService.apk -LOCAL_CERTIFICATE := platform -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := APPS -LOCAL_DEX_PREOPT := false -LOCAL_MODULE_SUFFIX := .apk -LOCAL_PRIVILEGED_MODULE := true -include \$(BUILD_PREBUILT) +# Load extract_utils and do some sanity checks +MY_DIR="${BASH_SOURCE%/*}" +if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi -include \$(CLEAR_VARS) -LOCAL_MODULE := com.qualcomm.location -LOCAL_MODULE_OWNER := zuk -LOCAL_SRC_FILES := proprietary/priv-app/com.qualcomm.location/com.qualcomm.location.apk -LOCAL_CERTIFICATE := platform -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := APPS -LOCAL_DEX_PREOPT := false -LOCAL_MODULE_SUFFIX := .apk -LOCAL_PRIVILEGED_MODULE := true -include \$(BUILD_PREBUILT) +CM_ROOT="$MY_DIR"/../../.. -include \$(CLEAR_VARS) -LOCAL_MODULE := qcrilmsgtunnel -LOCAL_MODULE_OWNER := zuk -LOCAL_SRC_FILES := proprietary/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk -LOCAL_CERTIFICATE := platform -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := APPS -LOCAL_DEX_PREOPT := false -LOCAL_MODULE_SUFFIX := .apk -LOCAL_PRIVILEGED_MODULE := true -include \$(BUILD_PREBUILT) +HELPER="$CM_ROOT"/vendor/cm/build/tools/extract_utils.sh +if [ ! -f "$HELPER" ]; then + echo "Unable to find helper script at $HELPER" + exit 1 +fi +. "$HELPER" -include \$(CLEAR_VARS) -LOCAL_MODULE := colorservice -LOCAL_MODULE_OWNER := zuk -LOCAL_SRC_FILES := proprietary/vendor/app/colorservice/colorservice.apk -LOCAL_CERTIFICATE := platform -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := APPS -LOCAL_DEX_PREOPT := false -LOCAL_MODULE_SUFFIX := .apk -LOCAL_PROPRIETARY_MODULE := true -include \$(BUILD_PREBUILT) +# Initialize the helper for common +setup_vendor "$DEVICE" "$VENDOR" "$CM_ROOT" true -include \$(CLEAR_VARS) -LOCAL_MODULE := qcrilhook -LOCAL_MODULE_OWNER := zuk -LOCAL_SRC_FILES := proprietary/framework/qcrilhook.jar -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := JAVA_LIBRARIES -LOCAL_MODULE_SUFFIX := .jar -include \$(BUILD_PREBUILT) +# Copyright headers and guards +write_headers "z2_plus" -include \$(CLEAR_VARS) -LOCAL_MODULE := imssettings -LOCAL_MODULE_OWNER := zuk -LOCAL_SRC_FILES := proprietary/vendor/app/imssettings/imssettings.apk -LOCAL_CERTIFICATE := platform -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := APPS -LOCAL_DEX_PREOPT := false -LOCAL_MODULE_SUFFIX := .apk -LOCAL_PROPRIETARY_MODULE := true -include \$(BUILD_PREBUILT) +# The standard common blobs +write_makefiles "$MY_DIR"/proprietary-files.txt -include \$(CLEAR_VARS) -LOCAL_MODULE := ims -LOCAL_MODULE_OWNER := zuk -LOCAL_SRC_FILES := proprietary/vendor/app/ims/ims.apk -LOCAL_CERTIFICATE := platform -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := APPS -LOCAL_DEX_PREOPT := false -LOCAL_MODULE_SUFFIX := .apk -LOCAL_PROPRIETARY_MODULE := true -include \$(BUILD_PREBUILT) +# We are done! +write_footers -include \$(CLEAR_VARS) -LOCAL_MODULE := libsdm-disp-vndapis -LOCAL_MODULE_OWNER := zuk -LOCAL_SRC_FILES_64 := proprietary/vendor/lib64/libsdm-disp-vndapis.so -LOCAL_SRC_FILES_32 := proprietary/vendor/lib/libsdm-disp-vndapis.so -LOCAL_MULTILIB := both -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := SHARED_LIBRARIES -LOCAL_MODULE_SUFFIX := .so -LOCAL_PROPRIETARY_MODULE := true -include \$(BUILD_PREBUILT) +if [ -s "$MY_DIR"/../"$DEVICE"/proprietary-files.txt ]; then + # Reinitialize the helper for device + INITIAL_COPYRIGHT_YEAR="$DEVICE_BRINGUP_YEAR" + setup_vendor "$DEVICE" "$VENDOR" "$CM_ROOT" false -include \$(CLEAR_VARS) -LOCAL_MODULE := libgpustats -LOCAL_MODULE_OWNER := zuk -LOCAL_SRC_FILES_64 := proprietary/vendor/lib64/libgpustats.so -LOCAL_SRC_FILES_32 := proprietary/vendor/lib/libgpustats.so -LOCAL_MULTILIB := both -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := SHARED_LIBRARIES -LOCAL_MODULE_SUFFIX := .so -LOCAL_PROPRIETARY_MODULE := true -include \$(BUILD_PREBUILT) + # Copyright headers and guards + write_headers -\$(shell mkdir -p \$(PRODUCT_OUT)/proprietary/lib/egl && pushd \$(PRODUCT_OUT)/proprietary/lib > /dev/null && ln -s egl/libEGL_adreno.so libEGL_adreno.so && popd > /dev/null) -\$(shell mkdir -p \$(PRODUCT_OUT)/proprietary/lib64/egl && pushd \$(PRODUCT_OUT)/proprietary/lib64 > /dev/null && ln -s egl/libEGL_adreno.so libEGL_adreno.so && popd > /dev/null) + # The standard device blobs + write_makefiles "$MY_DIR"/../"$DEVICE"/proprietary-files.txt -endif -EOF + # We are done! + write_footers +fi |