aboutsummaryrefslogtreecommitdiff
path: root/extract-files.sh
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 /extract-files.sh
parent645fc665525f13ac3921100bc604e8ffa7b7d3a5 (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.sh120
1 files changed, 67 insertions, 53 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