1#!/bin/sh 2 3# Copyright 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# 485486 = JZO54K 29# end jb-dev 30# start jb-mr1-dev 31# 521994 = JOP32B 32# 524024 = JOP36 33# 527221 = JOP40 34# 527662 = JOP40C 35# 561924 = JOP40G 36# end jb-mr1-dev 37# start jb-mr1.1-dev 38# 551245 = JDP82 39# 573038 = JDQ39 40# end jb-mr1.1-dev 41# start jb-mr2-dev 42# 638589 = JWR11D 43# 681336 = JWR50 44# 683083 = JWR51 45# 684634 = JWR52 46# 686185 = JWR53 47# 689345 = JWR58 48# 690834 = JWR59 49# 692263 = JWR60 50# 695489 = JWR64 51# 699533 = JWR66 52# 701448 = JWR66C 53# 704243 = JWR66G 54# 711294 = JWR66N 55# 736095 = JWR66U 56# 737497 = JWR66V 57# end jb-mr2-dev 58BRANCH=klp-dev 59if test $BRANCH = jb-dev 60then 61 ZIP=nakasi-ota-485486.zip 62 BUILD=jzo54k 63fi # jb-dev 64if test $BRANCH = jb-mr1-dev 65then 66 ZIP=nakasi-ota-561924.zip 67 BUILD=jop40g 68fi # jb-mr1-dev 69if test $BRANCH = jb-mr1.1-dev 70then 71 ZIP=nakasi-ota-573038.zip 72 BUILD=jdq39 73fi # jb-mr1.1-dev 74if test $BRANCH = jb-mr2-dev 75then 76 ZIP=nakasi-ota-737497 77 BUILD=jwr66v 78fi # jb-mr2-dev 79if test $BRANCH = klp-dev 80then 81 ZIP=nakasi-ota-937116 82 BUILD=kot49h 83fi # klp-dev 84ROOTDEVICE=grouper 85DEVICE=grouper 86MANUFACTURER=asus 87 88for COMPANY in asus broadcom elan invensense nvidia nxp widevine 89do 90 echo Processing files from $COMPANY 91 rm -rf tmp 92 FILEDIR=tmp/vendor/$COMPANY/$DEVICE/proprietary 93 mkdir -p $FILEDIR 94 mkdir -p tmp/vendor/$MANUFACTURER/$ROOTDEVICE 95 case $COMPANY in 96 asus) 97 TO_EXTRACT="\ 98 system/bin/sensors-config \ 99 system/lib/hw/camera.tegra3.so \ 100 system/lib/hw/sensors.grouper.so \ 101 system/lib/libsensors.lightsensor.so \ 102 system/vendor/lib/drm/libdrmwvmplugin.so \ 103 system/vendor/lib/libwvm.so \ 104 " 105 ;; 106 broadcom) 107 TO_EXTRACT="\ 108 system/bin/glgps \ 109 system/etc/firmware/bcm4330.hcd \ 110 system/etc/gps/gpsconfig.xml \ 111 system/lib/hw/gps.tegra3.so \ 112 " 113 ;; 114 elan) 115 TO_EXTRACT="\ 116 system/etc/firmware/touch_fw.ekt \ 117 " 118 ;; 119 invensense) 120 TO_EXTRACT="\ 121 system/lib/libinvensense_hal.so \ 122 system/lib/libmllite.so \ 123 system/lib/libmplmpu.so \ 124 " 125 ;; 126 nvidia) 127 TO_EXTRACT="\ 128 system/bin/tf_daemon \ 129 system/etc/firmware/nvavp_os_00001000.bin \ 130 system/etc/firmware/nvavp_os_0ff00000.bin \ 131 system/etc/firmware/nvavp_os_e0000000.bin \ 132 system/etc/firmware/nvavp_os_eff00000.bin \ 133 system/etc/firmware/nvavp_vid_ucode_alt.bin \ 134 system/etc/nvcamera.conf \ 135 system/etc/nvram.txt \ 136 system/lib/egl/libEGL_tegra.so \ 137 system/lib/egl/libGLESv1_CM_tegra.so \ 138 system/lib/egl/libGLESv2_tegra.so \ 139 system/lib/hw/gralloc.tegra3.so \ 140 system/lib/hw/hwcomposer.tegra3.so \ 141 system/lib/libardrv_dynamic.so \ 142 system/lib/libcgdrv.so \ 143 system/lib/libnvapputil.so \ 144 system/lib/libnvasfparserhal.so \ 145 system/lib/libnvaviparserhal.so \ 146 system/lib/libnvavp.so \ 147 system/lib/libnvcamerahdr.so \ 148 system/lib/libnvddk_2d.so \ 149 system/lib/libnvddk_2d_v2.so \ 150 system/lib/libnvdispmgr_d.so \ 151 system/lib/libnvmm.so \ 152 system/lib/libnvmmlite.so \ 153 system/lib/libnvmmlite_audio.so \ 154 system/lib/libnvmmlite_image.so \ 155 system/lib/libnvmmlite_utils.so \ 156 system/lib/libnvmmlite_video.so \ 157 system/lib/libnvmm_audio.so \ 158 system/lib/libnvmm_camera.so \ 159 system/lib/libnvmm_contentpipe.so \ 160 system/lib/libnvmm_image.so \ 161 system/lib/libnvmm_manager.so \ 162 system/lib/libnvmm_misc.so \ 163 system/lib/libnvmm_parser.so \ 164 system/lib/libnvmm_service.so \ 165 system/lib/libnvmm_utils.so \ 166 system/lib/libnvmm_video.so \ 167 system/lib/libnvmm_writer.so \ 168 system/lib/libnvodm_dtvtuner.so \ 169 system/lib/libnvodm_hdmi.so \ 170 system/lib/libnvodm_imager.so \ 171 system/lib/libnvodm_misc.so \ 172 system/lib/libnvodm_query.so \ 173 system/lib/libnvomx.so \ 174 system/lib/libnvomxilclient.so \ 175 system/lib/libnvos.so \ 176 system/lib/libnvparser.so \ 177 system/lib/libnvrm.so \ 178 system/lib/libnvrm_graphics.so \ 179 system/lib/libnvsm.so \ 180 system/lib/libnvtvmr.so \ 181 system/lib/libnvwinsys.so \ 182 system/lib/libnvwsi.so \ 183 system/lib/libstagefrighthw.so \ 184 system/lib/libtf_crypto_sst.so \ 185 " 186 ;; 187 nxp) 188 TO_EXTRACT="\ 189 system/vendor/firmware/libpn544_fw.so \ 190 " 191 ;; 192 widevine) 193 TO_EXTRACT="\ 194 system/lib/libdrmdecrypt.so \ 195 system/vendor/lib/libwvdrm_L1.so \ 196 system/vendor/lib/libWVStreamControlAPI_L1.so 197 " 198 ;; 199 esac 200 echo \ \ Extracting files from OTA package 201 for ONE_FILE in $TO_EXTRACT 202 do 203 echo \ \ \ \ Extracting $ONE_FILE 204 unzip -j -o $ZIP $ONE_FILE -d $FILEDIR > /dev/null || echo \ \ \ \ Error extracting $ONE_FILE 205 if test $ONE_FILE = system/vendor/bin/gpsd -o $ONE_FILE = system/vendor/bin/pvrsrvinit -o $ONE_FILE = system/bin/fRom 206 then 207 chmod a+x $FILEDIR/$(basename $ONE_FILE) || echo \ \ \ \ Error chmoding $ONE_FILE 208 fi 209 done 210 echo \ \ Setting up $COMPANY-specific makefiles 211 cp -R $COMPANY/staging/* tmp/vendor/$COMPANY/$DEVICE || echo \ \ \ \ Error copying makefiles 212 echo \ \ Setting up shared makefiles 213 cp -R root/* tmp/vendor/$MANUFACTURER/$ROOTDEVICE || echo \ \ \ \ Error copying makefiles 214 echo \ \ Generating self-extracting script 215 SCRIPT=extract-$COMPANY-$DEVICE.sh 216 cat PROLOGUE > tmp/$SCRIPT || echo \ \ \ \ Error generating script 217 cat $COMPANY/COPYRIGHT >> tmp/$SCRIPT || echo \ \ \ \ Error generating script 218 cat PART1 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script 219 cat $COMPANY/LICENSE >> tmp/$SCRIPT || echo \ \ \ \ Error generating script 220 cat PART2 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script 221 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 222 cat PART3 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script 223 (cd tmp ; tar zc --owner=root --group=root vendor/ >> $SCRIPT || echo \ \ \ \ Error generating embedded tgz) 224 chmod a+x tmp/$SCRIPT || echo \ \ \ \ Error generating script 225 ARCHIVE=$COMPANY-$DEVICE-$BUILD-$(md5sum < tmp/$SCRIPT | cut -b -8 | tr -d \\n).tgz 226 rm -f $ARCHIVE 227 echo \ \ Generating final archive 228 (cd tmp ; tar --owner=root --group=root -z -c -f ../$ARCHIVE $SCRIPT || echo \ \ \ \ Error archiving script) 229 rm -rf tmp 230done 231