aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordd3boh <dade.garberi@gmail.com>2017-10-31 12:46:40 +0100
committerdd3boh <dade.garberi@gmail.com>2017-10-31 13:09:19 +0100
commit191db404b4c2574513a92aa7cfd1f1f29cfe31c2 (patch)
tree1f2e420a5c7ac9d1edbd5b15a5b0c228d68470fd
parent645fc665525f13ac3921100bc604e8ffa7b7d3a5 (diff)
z2_plus: Setup proprietary-files and the setup makefile script as they should be
Signed-off-by: dd3boh <dade.garberi@gmail.com>
-rw-r--r--extract-files.sh120
-rw-r--r--proprietary-files.txt28
-rwxr-xr-xsetup-makefiles.sh287
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