1#!/bin/sh 2 3# Copyright (C) 2010 The Android Open Source Project 4# 5# Licensed under the Apache License, Version 2.0 (the "License"); 6# you may not use this file except in compliance with the License. 7# You may obtain a copy of the License at 8# 9# http://www.apache.org/licenses/LICENSE-2.0 10# 11# Unless required by applicable law or agreed to in writing, software 12# distributed under the License is distributed on an "AS IS" BASIS, 13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14# See the License for the specific language governing permissions and 15# limitations under the License. 16 17# start jb-dev 18# 368864 = JRN61B 19# 371028 = JRN65 20# 382301 = JRN75 21# 386704 = JRN80 22# 391496 = JRN83D 23# 397816 = JRO03B 24# 398337 = JRO03C 25# 405518 = JRO03H 26# 438695 = JRO03R 27# 463694 = JZO54G 28# end jb-dev 29BRANCH=jb-dev 30if test $BRANCH=jb-dev 31then 32 ZIP=nakasi-ota-438695.zip 33 BUILD=jro03r 34fi # jb-dev 35ROOTDEVICE=grouper 36DEVICE=grouper 37MANUFACTURER=asus 38 39for COMPANY in asus broadcom elan invensense nvidia nxp trusted_logic widevine 40do 41 echo Processing files from $COMPANY 42 rm -rf tmp 43 FILEDIR=tmp/vendor/$COMPANY/$DEVICE/proprietary 44 mkdir -p $FILEDIR 45 mkdir -p tmp/vendor/$MANUFACTURER/$ROOTDEVICE 46 case $COMPANY in 47 asus) 48 TO_EXTRACT="\ 49 system/bin/btmacreader \ 50 system/bin/sensors-config \ 51 system/lib/hw/camera.tegra3.so \ 52 system/lib/hw/sensors.grouper.so \ 53 system/lib/libsensors.lightsensor.so \ 54 system/vendor/lib/drm/libdrmwvmplugin.so \ 55 system/vendor/lib/libwvm.so \ 56 " 57 ;; 58 broadcom) 59 TO_EXTRACT="\ 60 system/bin/glgps \ 61 system/etc/firmware/bcm4330.hcd \ 62 system/etc/gps/gpsconfig.xml \ 63 system/lib/hw/gps.tegra3.so \ 64 " 65 ;; 66 elan) 67 TO_EXTRACT="\ 68 system/etc/firmware/touch_fw.ekt \ 69 " 70 ;; 71 invensense) 72 TO_EXTRACT="\ 73 system/lib/libinvensense_hal.so \ 74 system/lib/libmllite.so \ 75 system/lib/libmplmpu.so \ 76 " 77 ;; 78 nvidia) 79 TO_EXTRACT="\ 80 system/etc/firmware/nvavp_os_00001000.bin \ 81 system/etc/firmware/nvavp_os_0ff00000.bin \ 82 system/etc/firmware/nvavp_os_e0000000.bin \ 83 system/etc/firmware/nvavp_os_eff00000.bin \ 84 system/etc/firmware/nvavp_vid_ucode_alt.bin \ 85 system/etc/nvcamera.conf \ 86 system/etc/nvram.txt \ 87 system/lib/egl/libEGL_tegra.so \ 88 system/lib/egl/libGLESv1_CM_tegra.so \ 89 system/lib/egl/libGLESv2_tegra.so \ 90 system/lib/hw/gralloc.tegra3.so \ 91 system/lib/hw/hwcomposer.tegra3.so \ 92 system/lib/libardrv_dynamic.so \ 93 system/lib/libcgdrv.so \ 94 system/lib/libnvapputil.so \ 95 system/lib/libnvasfparserhal.so \ 96 system/lib/libnvaviparserhal.so \ 97 system/lib/libnvavp.so \ 98 system/lib/libnvcamerahdr.so \ 99 system/lib/libnvddk_2d.so \ 100 system/lib/libnvddk_2d_v2.so \ 101 system/lib/libnvdispmgr_d.so \ 102 system/lib/libnvmm.so \ 103 system/lib/libnvmmlite.so \ 104 system/lib/libnvmmlite_audio.so \ 105 system/lib/libnvmmlite_image.so \ 106 system/lib/libnvmmlite_utils.so \ 107 system/lib/libnvmmlite_video.so \ 108 system/lib/libnvmm_audio.so \ 109 system/lib/libnvmm_camera.so \ 110 system/lib/libnvmm_contentpipe.so \ 111 system/lib/libnvmm_image.so \ 112 system/lib/libnvmm_manager.so \ 113 system/lib/libnvmm_misc.so \ 114 system/lib/libnvmm_parser.so \ 115 system/lib/libnvmm_service.so \ 116 system/lib/libnvmm_utils.so \ 117 system/lib/libnvmm_video.so \ 118 system/lib/libnvmm_writer.so \ 119 system/lib/libnvodm_dtvtuner.so \ 120 system/lib/libnvodm_hdmi.so \ 121 system/lib/libnvodm_imager.so \ 122 system/lib/libnvodm_misc.so \ 123 system/lib/libnvodm_query.so \ 124 system/lib/libnvomx.so \ 125 system/lib/libnvomxilclient.so \ 126 system/lib/libnvos.so \ 127 system/lib/libnvparser.so \ 128 system/lib/libnvrm.so \ 129 system/lib/libnvrm_graphics.so \ 130 system/lib/libnvsm.so \ 131 system/lib/libnvtvmr.so \ 132 system/lib/libnvwinsys.so \ 133 system/lib/libnvwsi.so \ 134 system/lib/libstagefrighthw.so \ 135 system/lib/libtf_crypto_sst.so \ 136 " 137 ;; 138 nxp) 139 TO_EXTRACT="\ 140 system/vendor/firmware/libpn544_fw.so \ 141 " 142 ;; 143 trusted_logic) 144 TO_EXTRACT="\ 145 system/bin/tf_daemon \ 146 " 147 ;; 148 widevine) 149 TO_EXTRACT="\ 150 system/lib/libdrmdecrypt.so \ 151 system/vendor/lib/libwvdrm_L1.so \ 152 system/vendor/lib/libWVStreamControlAPI_L1.so 153 " 154 ;; 155 esac 156 echo \ \ Extracting files from OTA package 157 for ONE_FILE in $TO_EXTRACT 158 do 159 echo \ \ \ \ Extracting $ONE_FILE 160 unzip -j -o $ZIP $ONE_FILE -d $FILEDIR > /dev/null || echo \ \ \ \ Error extracting $ONE_FILE 161 if test $ONE_FILE = system/vendor/bin/gpsd -o $ONE_FILE = system/vendor/bin/pvrsrvinit -o $ONE_FILE = system/bin/fRom 162 then 163 chmod a+x $FILEDIR/$(basename $ONE_FILE) || echo \ \ \ \ Error chmoding $ONE_FILE 164 fi 165 done 166 echo \ \ Setting up $COMPANY-specific makefiles 167 cp -R $COMPANY/staging/* tmp/vendor/$COMPANY/$DEVICE || echo \ \ \ \ Error copying makefiles 168 echo \ \ Setting up shared makefiles 169 cp -R root/* tmp/vendor/$MANUFACTURER/$ROOTDEVICE || echo \ \ \ \ Error copying makefiles 170 echo \ \ Generating self-extracting script 171 SCRIPT=extract-$COMPANY-$DEVICE.sh 172 cat PROLOGUE > tmp/$SCRIPT || echo \ \ \ \ Error generating script 173 cat $COMPANY/COPYRIGHT >> tmp/$SCRIPT || echo \ \ \ \ Error generating script 174 cat PART1 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script 175 cat $COMPANY/LICENSE >> tmp/$SCRIPT || echo \ \ \ \ Error generating script 176 cat PART2 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script 177 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 178 cat PART3 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script 179 (cd tmp ; tar zc --owner=root --group=root vendor/ >> $SCRIPT || echo \ \ \ \ Error generating embedded tgz) 180 chmod a+x tmp/$SCRIPT || echo \ \ \ \ Error generating script 181 ARCHIVE=$COMPANY-$DEVICE-$BUILD-$(md5sum < tmp/$SCRIPT | cut -b -8 | tr -d \\n).tgz 182 rm -f $ARCHIVE 183 echo \ \ Generating final archive 184 (cd tmp ; tar --owner=root --group=root -z -c -f ../$ARCHIVE $SCRIPT || echo \ \ \ \ Error archiving script) 185 rm -rf tmp 186done 187