#!/bin/sh

# Copyright 2012 The Android Open Source 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.

# start klp-dev
# 730924 = KRS02B
# 741161 = KRS15
# end klp-dev
BRANCH=klp-dev
if test $BRANCH = klp-dev
then
  ZIP=hammerhead-ota-741161
  BUILD=krs15
fi # klp-dev
ROOTDEVICE=hammerhead
DEVICE=hammerhead
MANUFACTURER=lge

for COMPANY in broadcom lge qcom
do
  echo Processing files from $COMPANY
  rm -rf tmp
  FILEDIR=tmp/vendor/$COMPANY/$DEVICE/proprietary
  mkdir -p $FILEDIR
  mkdir -p tmp/vendor/$MANUFACTURER/$ROOTDEVICE
  case $COMPANY in
  broadcom)
    TO_EXTRACT="\
            system/vendor/firmware/bcm2079x-b5_firmware.ncd \
            system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd \
            system/vendor/firmware/bcm4335a0.hcd \
            system/vendor/firmware/bcm4335c0.hcd \
            "
    ;;
  lge)
    TO_EXTRACT="\
            system/etc/Bluetooth_cal.acdb \
            system/etc/DxHDCP.cfg \
            system/etc/General_cal.acdb \
            system/etc/Global_cal.acdb \
            system/etc/Handset_cal.acdb \
            system/etc/Hdmi_cal.acdb \
            system/etc/Headset_cal.acdb \
            system/etc/Speaker_cal.acdb \
            system/vendor/bin/vss_init \
            system/vendor/firmware/bu24205_LGIT_VER_2_CAL.bin \
            system/vendor/firmware/bu24205_LGIT_VER_2_DATA1.bin \
            system/vendor/firmware/bu24205_LGIT_VER_2_DATA2.bin \
            system/vendor/firmware/bu24205_LGIT_VER_2_DATA3.bin \
            system/vendor/firmware/bu24205_LGIT_VER_3_CAL.bin \
            system/vendor/firmware/bu24205_LGIT_VER_3_DATA1.bin \
            system/vendor/firmware/bu24205_LGIT_VER_3_DATA2.bin \
            system/vendor/firmware/bu24205_LGIT_VER_3_DATA3.bin \
            system/vendor/firmware/discretix/dxhdcp2.b00 \
            system/vendor/firmware/discretix/dxhdcp2.b01 \
            system/vendor/firmware/discretix/dxhdcp2.b02 \
            system/vendor/firmware/discretix/dxhdcp2.b03 \
            system/vendor/firmware/discretix/dxhdcp2.mdt \
            system/vendor/firmware/keymaster/keymaster.b00 \
            system/vendor/firmware/keymaster/keymaster.b01 \
            system/vendor/firmware/keymaster/keymaster.b02 \
            system/vendor/firmware/keymaster/keymaster.b03 \
            system/vendor/firmware/keymaster/keymaster.mdt \
            system/vendor/lib/libAKM8963.so \
            system/vendor/lib/libDxHdcp.so \
            system/vendor/lib/libvss_common_core.so \
            system/vendor/lib/libvss_common_idl.so \
            system/vendor/lib/libvss_common_iface.so \
            "
    ;;
  qcom)
    TO_EXTRACT="\
            system/bin/bridgemgrd \
            system/bin/diag_klog \
            system/bin/diag_mdlog \
            system/bin/ds_fmc_appd \
            system/bin/irsc_util \
            system/bin/mm-qcamera-daemon \
            system/bin/mpdecision \
            system/bin/netmgrd \
            system/bin/nl_listener \
            system/bin/port-bridge \
            system/bin/qmuxd \
            system/bin/qseecomd \
            system/bin/radish \
            system/bin/rmt_storage \
            system/bin/sensors.qcom \
            system/bin/subsystem_ramdump \
            system/bin/thermal-engine \
            system/bin/usbhub \
            system/bin/usbhub_init \
            system/etc/firmware/cpp_firmware_v1_1_1.fw \
            system/etc/firmware/cpp_firmware_v1_1_6.fw \
            system/etc/firmware/cpp_firmware_v1_2_0.fw \
            system/lib/hw/gps.msm8974.so \
            system/lib/libI420colorconvert.so \
            system/lib/libQSEEComAPI.so \
            system/lib/libadsprpc.so \
            system/lib/libchromatix_imx179_common.so \
            system/lib/libchromatix_imx179_default_video.so \
            system/lib/libchromatix_imx179_preview.so \
            system/lib/libchromatix_imx179_snapshot.so \
            system/lib/libchromatix_mt9m114b_common.so \
            system/lib/libchromatix_mt9m114b_default_video.so \
            system/lib/libchromatix_mt9m114b_preview.so \
            system/lib/libchromatix_mt9m114b_snapshot.so \
            system/lib/libdrmdiag.so \
            system/lib/libdrmfs.so \
            system/lib/libdrmtime.so \
            system/lib/libgeofence.so \
            system/lib/libgps.utils.so \
            system/lib/libloc_adapter.so \
            system/lib/libloc_api_v02.so \
            system/lib/libloc_eng.so \
            system/lib/libmm-abl.so \
            system/lib/libmm-color-convertor.so \
            system/lib/libmmQSM.so \
            system/lib/libmmcamera_hdr_lib.so \
            system/lib/libmmcamera_image_stab.so \
            system/lib/libmmcamera_imx179.so \
            system/lib/libmmcamera_mt9m114b.so \
            system/lib/libmmcamera_wavelet_lib.so \
            system/lib/libril-qc-qmi-1.so \
            system/lib/libstagefright_hdcp.so \
            system/lib/libxml.so \
            system/vendor/firmware/a330_pfp.fw \
            system/vendor/firmware/a330_pm4.fw \
            system/vendor/firmware/venus.b00 \
            system/vendor/firmware/venus.b01 \
            system/vendor/firmware/venus.b02 \
            system/vendor/firmware/venus.b03 \
            system/vendor/firmware/venus.b04 \
            system/vendor/firmware/venus.b05 \
            system/vendor/firmware/venus.b06 \
            system/vendor/firmware/venus.mdt \
            system/vendor/lib/egl/eglsubAndroid.so \
            system/vendor/lib/egl/libEGL_adreno.so \
            system/vendor/lib/egl/libGLESv1_CM_adreno.so \
            system/vendor/lib/egl/libGLESv2_adreno.so \
            system/vendor/lib/hw/sensors.msm8974.so \
            system/vendor/lib/libC2D2.so \
            system/vendor/lib/libCommandSvc.so \
            system/vendor/lib/libFuzzmmstillomxenc.so \
            system/vendor/lib/libacdbloader.so \
            system/vendor/lib/libacdbrtac.so \
            system/vendor/lib/libadiertac.so \
            system/vendor/lib/libadreno_utils.so \
            system/vendor/lib/libaudcal.so \
            system/vendor/lib/libc2d2_a3xx.so \
            system/vendor/lib/libconfigdb.so \
            system/vendor/lib/libdiag.so \
            system/vendor/lib/libdrmdecrypt.so \
            system/vendor/lib/libdsi_netctrl.so \
            system/vendor/lib/libdsutils.so \
            system/vendor/lib/libgsl.so \
            system/vendor/lib/libidl.so \
            system/vendor/lib/libjpegdhw.so \
            system/vendor/lib/libjpegehw.so \
            system/vendor/lib/libllvm-a3xx.so \
            system/vendor/lib/libmmcamera2_c2d_module.so \
            system/vendor/lib/libmmcamera2_cpp_module.so \
            system/vendor/lib/libmmcamera2_iface_modules.so \
            system/vendor/lib/libmmcamera2_imglib_modules.so \
            system/vendor/lib/libmmcamera2_isp_modules.so \
            system/vendor/lib/libmmcamera2_pproc_modules.so \
            system/vendor/lib/libmmcamera2_sensor_modules.so \
            system/vendor/lib/libmmcamera2_stats_algorithm.so \
            system/vendor/lib/libmmcamera2_stats_modules.so \
            system/vendor/lib/libmmcamera2_vpe_module.so \
            system/vendor/lib/libmmcamera2_wnr_module.so \
            system/vendor/lib/libmmcamera_faceproc.so \
            system/vendor/lib/libmmcamera_imglib.so \
            system/vendor/lib/libmmcamera_imx179_eeprom.so \
            system/vendor/lib/libmmipl.so \
            system/vendor/lib/libmmjpeg.so \
            system/vendor/lib/libmmqjpeg_codec.so \
            system/vendor/lib/libnetmgr.so \
            system/vendor/lib/liboemcamera.so \
            system/vendor/lib/libqcci_legacy.so \
            system/vendor/lib/libqdi.so \
            system/vendor/lib/libqdp.so \
            system/vendor/lib/libqmi.so \
            system/vendor/lib/libqmi_cci.so \
            system/vendor/lib/libqmi_client_qmux.so \
            system/vendor/lib/libqmi_common_so.so \
            system/vendor/lib/libqmi_csi.so \
            system/vendor/lib/libqmi_encdec.so \
            system/vendor/lib/libqmiservices.so \
            system/vendor/lib/libqomx_jpegenc.so \
            system/vendor/lib/libril-qcril-hook-oem.so \
            system/vendor/lib/libsc-a3xx.so \
            system/vendor/lib/libsensor1.so \
            system/vendor/lib/libsensor_reg.so \
            system/vendor/lib/libsensor_user_cal.so \
            "
    ;;
  esac
  echo \ \ Extracting files from OTA package
  for ONE_FILE in $TO_EXTRACT
  do
    echo \ \ \ \ Extracting $ONE_FILE
    unzip -j -o $ZIP $ONE_FILE -d $FILEDIR > /dev/null || echo \ \ \ \ Error extracting $ONE_FILE
    if test $ONE_FILE = system/vendor/bin/gpsd -o $ONE_FILE = system/vendor/bin/pvrsrvinit -o $ONE_FILE = system/bin/fRom
    then
      chmod a+x $FILEDIR/$(basename $ONE_FILE) || echo \ \ \ \ Error chmoding $ONE_FILE
    fi
  done
  echo \ \ Setting up $COMPANY-specific makefiles
  cp -R $COMPANY/staging/* tmp/vendor/$COMPANY/$DEVICE || echo \ \ \ \ Error copying makefiles
  echo \ \ Setting up shared makefiles
  cp -R root/* tmp/vendor/$MANUFACTURER/$ROOTDEVICE || echo \ \ \ \ Error copying makefiles
  echo \ \ Generating self-extracting script
  SCRIPT=extract-$COMPANY-$DEVICE.sh
  cat PROLOGUE > tmp/$SCRIPT || echo \ \ \ \ Error generating script
  cat $COMPANY/COPYRIGHT >> tmp/$SCRIPT || echo \ \ \ \ Error generating script
  cat PART1 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script
  cat $COMPANY/LICENSE >> tmp/$SCRIPT || echo \ \ \ \ Error generating script
  cat PART2 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script
  echo tail -n +$(expr 2 + $(cat PROLOGUE $COMPANY/COPYRIGHT PART1 $COMPANY/LICENSE PART2 PART3 | wc -l)) \$0 \| tar zxv >> tmp/$SCRIPT || echo \ \ \ \ Error generating script
  cat PART3 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script
  (cd tmp ; tar zc --owner=root --group=root vendor/ >> $SCRIPT || echo \ \ \ \ Error generating embedded tgz)
  chmod a+x tmp/$SCRIPT || echo \ \ \ \ Error generating script
  ARCHIVE=$COMPANY-$DEVICE-$BUILD-$(md5sum < tmp/$SCRIPT | cut -b -8 | tr -d \\n).tgz
  rm -f $ARCHIVE
  echo \ \ Generating final archive
  (cd tmp ; tar --owner=root --group=root -z -c -f ../$ARCHIVE $SCRIPT || echo \ \ \ \ Error archiving script)
  rm -rf tmp
done
