klte-common: Add proprietary file extraction scripts
This commit is contained in:
parent
bd49c3242b
commit
bfe4fdf3d1
|
@ -0,0 +1,58 @@
|
|||
#!/bin/bash
|
||||
|
||||
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."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
BASE=../../../vendor/$VENDOR/klte-common/proprietary
|
||||
rm -rf $BASE/*
|
||||
|
||||
DEVBASE=../../../vendor/$VENDOR/$DEVICE/proprietary
|
||||
rm -rf $DEVBASE/*
|
||||
|
||||
extract ../../$VENDOR/klte-common/proprietary-files.txt $BASE
|
||||
extract ../../$VENDOR/$DEVICE/proprietary-files.txt $DEVBASE
|
||||
|
||||
./setup-makefiles.sh
|
|
@ -0,0 +1,267 @@
|
|||
#!/bin/bash
|
||||
|
||||
OUTDIR=vendor/$VENDOR/$DEVICE
|
||||
MAKEFILE=../../../$OUTDIR/$DEVICE-vendor-blobs.mk
|
||||
|
||||
(cat << EOF) > $MAKEFILE
|
||||
# Copyright (C) 2014 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.
|
||||
|
||||
# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh
|
||||
|
||||
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
|
||||
|
||||
(cat << EOF) > ../../../$OUTDIR/$DEVICE-vendor.mk
|
||||
# Copyright (C) 2014 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.
|
||||
|
||||
# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh
|
||||
|
||||
# Pick up overlay for features that depend on non-open-source files
|
||||
PRODUCT_PACKAGES += \\
|
||||
com.qualcomm.location
|
||||
|
||||
\$(call inherit-product, vendor/$VENDOR/$DEVICE/$DEVICE-vendor-blobs.mk)
|
||||
EOF
|
||||
|
||||
(cat << EOF) > ../../../$OUTDIR/Android.mk
|
||||
# Copyright (C) 2014 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.
|
||||
|
||||
# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh
|
||||
|
||||
LOCAL_PATH := \$(call my-dir)
|
||||
|
||||
ifeq (\$(TARGET_DEVICE),$DEVICE)
|
||||
|
||||
include \$(CLEAR_VARS)
|
||||
LOCAL_MODULE := com.qualcomm.location
|
||||
LOCAL_MODULE_OWNER := $VENDOR
|
||||
LOCAL_SRC_FILES := proprietary/app/com.qualcomm.location.apk
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_SUFFIX := \$(COMMON_ANDROID_PACKAGE_SUFFIX)
|
||||
LOCAL_MODULE_CLASS := APPS
|
||||
LOCAL_CERTIFICATE := platform
|
||||
include \$(BUILD_PREBUILT)
|
||||
|
||||
endif
|
||||
|
||||
EOF
|
||||
|
||||
(cat << EOF) > ../../../$OUTDIR/BoardConfigVendor.mk
|
||||
# Copyright (C) 2014 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.
|
||||
|
||||
# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh
|
||||
EOF
|
||||
|
||||
export DEVICE=klte-common
|
||||
|
||||
OUTDIR=vendor/$VENDOR/$DEVICE
|
||||
MAKEFILE=../../../$OUTDIR/$DEVICE-vendor-blobs.mk
|
||||
|
||||
(cat << EOF) > $MAKEFILE
|
||||
# Copyright (C) 2014 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.
|
||||
|
||||
# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh
|
||||
|
||||
PRODUCT_COPY_FILES += \\
|
||||
EOF
|
||||
|
||||
LINEEND=" \\"
|
||||
COUNT=`wc -l ../klte-common/proprietary-files.txt | awk {'print $1'}`
|
||||
DISM=`egrep -c '(^#|^$)' ../klte-common/proprietary-files.txt`
|
||||
COUNT=`expr $COUNT - $DISM`
|
||||
for FILE in `egrep -v '(^#|^$)' ../klte-common/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
|
||||
|
||||
(cat << EOF) > ../../../$OUTDIR/$DEVICE-vendor.mk
|
||||
# Copyright (C) 2014 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.
|
||||
|
||||
# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh
|
||||
|
||||
# Pick up overlay for features that depend on non-open-source files
|
||||
PRODUCT_PACKAGES += \\
|
||||
libHevcSwDecoder \\
|
||||
libmm-abl \\
|
||||
libtime_genoff
|
||||
|
||||
\$(call inherit-product, vendor/$VENDOR/$DEVICE/$DEVICE-vendor-blobs.mk)
|
||||
EOF
|
||||
|
||||
(cat << EOF) > ../../../$OUTDIR/BoardConfigVendor.mk
|
||||
# Copyright (C) 2014 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.
|
||||
|
||||
# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh
|
||||
EOF
|
||||
|
||||
(cat << EOF) > ../../../$OUTDIR/Android.mk
|
||||
# Copyright (C) 2014 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.
|
||||
|
||||
# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh
|
||||
|
||||
LOCAL_PATH := \$(call my-dir)
|
||||
|
||||
ifneq (\$(filter klte kltespr,\$(TARGET_DEVICE)),)
|
||||
|
||||
include \$(CLEAR_VARS)
|
||||
LOCAL_MODULE := libHevcSwDecoder
|
||||
LOCAL_MODULE_OWNER := $VENDOR
|
||||
LOCAL_SRC_FILES := proprietary/vendor/lib/libHevcSwDecoder.so
|
||||
LOCAL_MODULE_PATH := \$(TARGET_OUT_VENDOR_SHARED_LIBRARIES)
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_SUFFIX := .so
|
||||
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
||||
include \$(BUILD_PREBUILT)
|
||||
|
||||
include \$(CLEAR_VARS)
|
||||
LOCAL_MODULE := libmm-abl
|
||||
LOCAL_MODULE_OWNER := $VENDOR
|
||||
LOCAL_SRC_FILES := proprietary/vendor/lib/libmm-abl.so
|
||||
LOCAL_MODULE_PATH := \$(TARGET_OUT_VENDOR_SHARED_LIBRARIES)
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_SUFFIX := .so
|
||||
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
||||
include \$(BUILD_PREBUILT)
|
||||
|
||||
include \$(CLEAR_VARS)
|
||||
LOCAL_MODULE := libtime_genoff
|
||||
LOCAL_MODULE_OWNER := $VENDOR
|
||||
LOCAL_SRC_FILES := proprietary/vendor/lib/libtime_genoff.so
|
||||
LOCAL_MODULE_PATH := \$(TARGET_OUT_VENDOR_SHARED_LIBRARIES)
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_SUFFIX := .so
|
||||
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
||||
include \$(BUILD_PREBUILT)
|
||||
|
||||
endif
|
||||
|
||||
EOF
|
Loading…
Reference in New Issue