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