Jean-Baptiste Queru | b1ae9e5 | 2012-06-01 08:40:39 -0700 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
Jean-Baptiste Queru | f93f6db | 2013-05-20 15:21:04 -0700 | [diff] [blame] | 3 | # Copyright 2010 The Android Open Source Project |
Jean-Baptiste Queru | b1ae9e5 | 2012-06-01 08:40:39 -0700 | [diff] [blame] | 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 | |
Jean-Baptiste Queru | 36565c0 | 2012-06-23 09:39:26 -0700 | [diff] [blame] | 17 | # start jb-dev |
Jean-Baptiste Queru | b1ae9e5 | 2012-06-01 08:40:39 -0700 | [diff] [blame] | 18 | # 368864 = JRN61B |
Jean-Baptiste Queru | fb3abab | 2012-06-04 09:03:54 -0700 | [diff] [blame] | 19 | # 371028 = JRN65 |
Jean-Baptiste Queru | 696c5e6 | 2012-06-14 08:13:31 -0700 | [diff] [blame] | 20 | # 382301 = JRN75 |
Jean-Baptiste Queru | 7e82c95 | 2012-06-19 08:03:45 -0700 | [diff] [blame] | 21 | # 386704 = JRN80 |
Jean-Baptiste Queru | 36565c0 | 2012-06-23 09:39:26 -0700 | [diff] [blame] | 22 | # 391496 = JRN83D |
Jean-Baptiste Queru | d20e452 | 2012-07-04 10:34:37 -0700 | [diff] [blame] | 23 | # 397816 = JRO03B |
Jean-Baptiste Queru | a37b22f | 2012-07-04 17:10:39 -0700 | [diff] [blame] | 24 | # 398337 = JRO03C |
Jean-Baptiste Queru | db72e39 | 2012-08-01 14:51:37 -0700 | [diff] [blame] | 25 | # 405518 = JRO03H |
Jean-Baptiste Queru | 042f71f | 2012-09-21 13:48:27 -0700 | [diff] [blame] | 26 | # 438695 = JRO03R |
Jean-Baptiste Queru | 7b1de31 | 2012-09-17 08:30:17 -0700 | [diff] [blame] | 27 | # 463694 = JZO54G |
Jean-Baptiste Queru | 734bf8a | 2012-10-02 15:40:15 -0700 | [diff] [blame] | 28 | # 485486 = JZO54K |
Jean-Baptiste Queru | 36565c0 | 2012-06-23 09:39:26 -0700 | [diff] [blame] | 29 | # end jb-dev |
Jean-Baptiste Queru | 3580910 | 2012-11-02 13:31:12 -0700 | [diff] [blame] | 30 | # start jb-mr1-dev |
| 31 | # 521994 = JOP32B |
Jean-Baptiste Queru | 6232c64 | 2012-11-06 09:26:07 -0800 | [diff] [blame] | 32 | # 524024 = JOP36 |
Jean-Baptiste Queru | a78ca9b | 2012-11-09 13:27:24 -0800 | [diff] [blame] | 33 | # 527221 = JOP40 |
Jean-Baptiste Queru | 7b797c3 | 2012-11-12 08:34:37 -0800 | [diff] [blame] | 34 | # 527662 = JOP40C |
Jean-Baptiste Queru | e8d35a7 | 2013-01-29 17:15:34 -0800 | [diff] [blame] | 35 | # 561924 = JOP40G |
Jean-Baptiste Queru | 3580910 | 2012-11-02 13:31:12 -0700 | [diff] [blame] | 36 | # end jb-mr1-dev |
Jean-Baptiste Queru | 829187c | 2012-12-27 08:43:02 -0800 | [diff] [blame] | 37 | # start jb-mr1.1-dev |
| 38 | # 551245 = JDP82 |
Jean-Baptiste Queru | ad05105 | 2013-02-14 14:11:18 -0800 | [diff] [blame] | 39 | # 573038 = JDQ39 |
Jean-Baptiste Queru | 829187c | 2012-12-27 08:43:02 -0800 | [diff] [blame] | 40 | # end jb-mr1.1-dev |
Jean-Baptiste Queru | 44d1b34 | 2013-04-12 12:45:25 -0700 | [diff] [blame] | 41 | # start jb-mr2-dev |
| 42 | # 638589 = JWR11D |
Jean-Baptiste Queru | f93f6db | 2013-05-20 15:21:04 -0700 | [diff] [blame] | 43 | # 681336 = JWR50 |
Jean-Baptiste Queru | 6e905c5 | 2013-05-21 11:09:05 -0700 | [diff] [blame] | 44 | # 683083 = JWR51 |
Jean-Baptiste Queru | b98892b | 2013-05-22 17:42:30 -0700 | [diff] [blame] | 45 | # 684634 = JWR52 |
Jean-Baptiste Queru | d80c654 | 2013-05-23 09:16:10 -0700 | [diff] [blame] | 46 | # 686185 = JWR53 |
Jean-Baptiste Queru | 3dbe55f | 2013-05-28 09:20:51 -0700 | [diff] [blame] | 47 | # 689345 = JWR58 |
Jean-Baptiste Queru | 79dfd1e | 2013-05-29 08:53:21 -0700 | [diff] [blame^] | 48 | # 690834 = JWR59 |
Jean-Baptiste Queru | 44d1b34 | 2013-04-12 12:45:25 -0700 | [diff] [blame] | 49 | # end jb-mr2-dev |
| 50 | BRANCH=jb-mr2-dev |
Jean-Baptiste Queru | e8d35a7 | 2013-01-29 17:15:34 -0800 | [diff] [blame] | 51 | if test $BRANCH = jb-dev |
Jean-Baptiste Queru | b1ae9e5 | 2012-06-01 08:40:39 -0700 | [diff] [blame] | 52 | then |
Jean-Baptiste Queru | 734bf8a | 2012-10-02 15:40:15 -0700 | [diff] [blame] | 53 | ZIP=nakasi-ota-485486.zip |
| 54 | BUILD=jzo54k |
Jean-Baptiste Queru | 36565c0 | 2012-06-23 09:39:26 -0700 | [diff] [blame] | 55 | fi # jb-dev |
Jean-Baptiste Queru | e8d35a7 | 2013-01-29 17:15:34 -0800 | [diff] [blame] | 56 | if test $BRANCH = jb-mr1-dev |
Jean-Baptiste Queru | 3580910 | 2012-11-02 13:31:12 -0700 | [diff] [blame] | 57 | then |
Jean-Baptiste Queru | e8d35a7 | 2013-01-29 17:15:34 -0800 | [diff] [blame] | 58 | ZIP=nakasi-ota-561924.zip |
| 59 | BUILD=jop40g |
Jean-Baptiste Queru | 3580910 | 2012-11-02 13:31:12 -0700 | [diff] [blame] | 60 | fi # jb-mr1-dev |
Jean-Baptiste Queru | e8d35a7 | 2013-01-29 17:15:34 -0800 | [diff] [blame] | 61 | if test $BRANCH = jb-mr1.1-dev |
Jean-Baptiste Queru | 829187c | 2012-12-27 08:43:02 -0800 | [diff] [blame] | 62 | then |
Jean-Baptiste Queru | ad05105 | 2013-02-14 14:11:18 -0800 | [diff] [blame] | 63 | ZIP=nakasi-ota-573038.zip |
| 64 | BUILD=jdq39 |
Jean-Baptiste Queru | 829187c | 2012-12-27 08:43:02 -0800 | [diff] [blame] | 65 | fi # jb-mr1.1-dev |
Jean-Baptiste Queru | 44d1b34 | 2013-04-12 12:45:25 -0700 | [diff] [blame] | 66 | if test $BRANCH = jb-mr2-dev |
| 67 | then |
Jean-Baptiste Queru | 79dfd1e | 2013-05-29 08:53:21 -0700 | [diff] [blame^] | 68 | ZIP=nakasi-ota-690834 |
| 69 | BUILD=jwr59 |
Jean-Baptiste Queru | 44d1b34 | 2013-04-12 12:45:25 -0700 | [diff] [blame] | 70 | fi # jb-mr2-dev |
Jean-Baptiste Queru | b1ae9e5 | 2012-06-01 08:40:39 -0700 | [diff] [blame] | 71 | ROOTDEVICE=grouper |
| 72 | DEVICE=grouper |
| 73 | MANUFACTURER=asus |
| 74 | |
Jean-Baptiste Queru | ad05105 | 2013-02-14 14:11:18 -0800 | [diff] [blame] | 75 | for COMPANY in asus broadcom elan invensense nvidia nxp widevine |
Jean-Baptiste Queru | b1ae9e5 | 2012-06-01 08:40:39 -0700 | [diff] [blame] | 76 | do |
| 77 | echo Processing files from $COMPANY |
| 78 | rm -rf tmp |
| 79 | FILEDIR=tmp/vendor/$COMPANY/$DEVICE/proprietary |
| 80 | mkdir -p $FILEDIR |
| 81 | mkdir -p tmp/vendor/$MANUFACTURER/$ROOTDEVICE |
| 82 | case $COMPANY in |
Jean-Baptiste Queru | 669b742 | 2012-06-05 08:12:15 -0700 | [diff] [blame] | 83 | asus) |
Jean-Baptiste Queru | b1ae9e5 | 2012-06-01 08:40:39 -0700 | [diff] [blame] | 84 | TO_EXTRACT="\ |
Jean-Baptiste Queru | 7b1de31 | 2012-09-17 08:30:17 -0700 | [diff] [blame] | 85 | system/bin/sensors-config \ |
Jean-Baptiste Queru | 669b742 | 2012-06-05 08:12:15 -0700 | [diff] [blame] | 86 | system/lib/hw/camera.tegra3.so \ |
Jean-Baptiste Queru | 7b1de31 | 2012-09-17 08:30:17 -0700 | [diff] [blame] | 87 | system/lib/hw/sensors.grouper.so \ |
Jean-Baptiste Queru | 669b742 | 2012-06-05 08:12:15 -0700 | [diff] [blame] | 88 | system/lib/libsensors.lightsensor.so \ |
Jean-Baptiste Queru | 7e82c95 | 2012-06-19 08:03:45 -0700 | [diff] [blame] | 89 | system/vendor/lib/drm/libdrmwvmplugin.so \ |
| 90 | system/vendor/lib/libwvm.so \ |
Jean-Baptiste Queru | 669b742 | 2012-06-05 08:12:15 -0700 | [diff] [blame] | 91 | " |
| 92 | ;; |
Jean-Baptiste Queru | b4a6000 | 2012-07-04 09:26:18 -0700 | [diff] [blame] | 93 | broadcom) |
| 94 | TO_EXTRACT="\ |
Jean-Baptiste Queru | 7b1de31 | 2012-09-17 08:30:17 -0700 | [diff] [blame] | 95 | system/bin/glgps \ |
Jean-Baptiste Queru | b1ae9e5 | 2012-06-01 08:40:39 -0700 | [diff] [blame] | 96 | system/etc/firmware/bcm4330.hcd \ |
Jean-Baptiste Queru | 7b1de31 | 2012-09-17 08:30:17 -0700 | [diff] [blame] | 97 | system/etc/gps/gpsconfig.xml \ |
| 98 | system/lib/hw/gps.tegra3.so \ |
Jean-Baptiste Queru | 669b742 | 2012-06-05 08:12:15 -0700 | [diff] [blame] | 99 | " |
| 100 | ;; |
| 101 | elan) |
| 102 | TO_EXTRACT="\ |
| 103 | system/etc/firmware/touch_fw.ekt \ |
| 104 | " |
| 105 | ;; |
| 106 | invensense) |
| 107 | TO_EXTRACT="\ |
| 108 | system/lib/libinvensense_hal.so \ |
| 109 | system/lib/libmllite.so \ |
| 110 | system/lib/libmplmpu.so \ |
| 111 | " |
| 112 | ;; |
| 113 | nvidia) |
| 114 | TO_EXTRACT="\ |
Jean-Baptiste Queru | ad05105 | 2013-02-14 14:11:18 -0800 | [diff] [blame] | 115 | system/bin/tf_daemon \ |
Jean-Baptiste Queru | b1ae9e5 | 2012-06-01 08:40:39 -0700 | [diff] [blame] | 116 | system/etc/firmware/nvavp_os_00001000.bin \ |
| 117 | system/etc/firmware/nvavp_os_0ff00000.bin \ |
| 118 | system/etc/firmware/nvavp_os_e0000000.bin \ |
| 119 | system/etc/firmware/nvavp_os_eff00000.bin \ |
| 120 | system/etc/firmware/nvavp_vid_ucode_alt.bin \ |
Jean-Baptiste Queru | b1ae9e5 | 2012-06-01 08:40:39 -0700 | [diff] [blame] | 121 | system/etc/nvcamera.conf \ |
| 122 | system/etc/nvram.txt \ |
| 123 | system/lib/egl/libEGL_tegra.so \ |
| 124 | system/lib/egl/libGLESv1_CM_tegra.so \ |
| 125 | system/lib/egl/libGLESv2_tegra.so \ |
Jean-Baptiste Queru | b1ae9e5 | 2012-06-01 08:40:39 -0700 | [diff] [blame] | 126 | system/lib/hw/gralloc.tegra3.so \ |
| 127 | system/lib/hw/hwcomposer.tegra3.so \ |
Jean-Baptiste Queru | 7e82c95 | 2012-06-19 08:03:45 -0700 | [diff] [blame] | 128 | system/lib/libardrv_dynamic.so \ |
| 129 | system/lib/libcgdrv.so \ |
Jean-Baptiste Queru | b1ae9e5 | 2012-06-01 08:40:39 -0700 | [diff] [blame] | 130 | system/lib/libnvapputil.so \ |
| 131 | system/lib/libnvasfparserhal.so \ |
| 132 | system/lib/libnvaviparserhal.so \ |
| 133 | system/lib/libnvavp.so \ |
| 134 | system/lib/libnvcamerahdr.so \ |
| 135 | system/lib/libnvddk_2d.so \ |
| 136 | system/lib/libnvddk_2d_v2.so \ |
| 137 | system/lib/libnvdispmgr_d.so \ |
| 138 | system/lib/libnvmm.so \ |
| 139 | system/lib/libnvmmlite.so \ |
| 140 | system/lib/libnvmmlite_audio.so \ |
| 141 | system/lib/libnvmmlite_image.so \ |
| 142 | system/lib/libnvmmlite_utils.so \ |
| 143 | system/lib/libnvmmlite_video.so \ |
| 144 | system/lib/libnvmm_audio.so \ |
| 145 | system/lib/libnvmm_camera.so \ |
| 146 | system/lib/libnvmm_contentpipe.so \ |
| 147 | system/lib/libnvmm_image.so \ |
| 148 | system/lib/libnvmm_manager.so \ |
| 149 | system/lib/libnvmm_misc.so \ |
| 150 | system/lib/libnvmm_parser.so \ |
| 151 | system/lib/libnvmm_service.so \ |
| 152 | system/lib/libnvmm_utils.so \ |
| 153 | system/lib/libnvmm_video.so \ |
| 154 | system/lib/libnvmm_writer.so \ |
| 155 | system/lib/libnvodm_dtvtuner.so \ |
| 156 | system/lib/libnvodm_hdmi.so \ |
| 157 | system/lib/libnvodm_imager.so \ |
| 158 | system/lib/libnvodm_misc.so \ |
| 159 | system/lib/libnvodm_query.so \ |
| 160 | system/lib/libnvomx.so \ |
| 161 | system/lib/libnvomxilclient.so \ |
| 162 | system/lib/libnvos.so \ |
| 163 | system/lib/libnvparser.so \ |
| 164 | system/lib/libnvrm.so \ |
| 165 | system/lib/libnvrm_graphics.so \ |
| 166 | system/lib/libnvsm.so \ |
| 167 | system/lib/libnvtvmr.so \ |
| 168 | system/lib/libnvwinsys.so \ |
| 169 | system/lib/libnvwsi.so \ |
Jean-Baptiste Queru | b1ae9e5 | 2012-06-01 08:40:39 -0700 | [diff] [blame] | 170 | system/lib/libstagefrighthw.so \ |
| 171 | system/lib/libtf_crypto_sst.so \ |
Jean-Baptiste Queru | 669b742 | 2012-06-05 08:12:15 -0700 | [diff] [blame] | 172 | " |
| 173 | ;; |
| 174 | nxp) |
| 175 | TO_EXTRACT="\ |
Jean-Baptiste Queru | b1ae9e5 | 2012-06-01 08:40:39 -0700 | [diff] [blame] | 176 | system/vendor/firmware/libpn544_fw.so \ |
Jean-Baptiste Queru | 669b742 | 2012-06-05 08:12:15 -0700 | [diff] [blame] | 177 | " |
| 178 | ;; |
| 179 | widevine) |
| 180 | TO_EXTRACT="\ |
Jean-Baptiste Queru | 7e82c95 | 2012-06-19 08:03:45 -0700 | [diff] [blame] | 181 | system/lib/libdrmdecrypt.so \ |
Jean-Baptiste Queru | b1ae9e5 | 2012-06-01 08:40:39 -0700 | [diff] [blame] | 182 | system/vendor/lib/libwvdrm_L1.so \ |
Jean-Baptiste Queru | b1ae9e5 | 2012-06-01 08:40:39 -0700 | [diff] [blame] | 183 | system/vendor/lib/libWVStreamControlAPI_L1.so |
| 184 | " |
| 185 | ;; |
Jean-Baptiste Queru | b1ae9e5 | 2012-06-01 08:40:39 -0700 | [diff] [blame] | 186 | esac |
| 187 | echo \ \ Extracting files from OTA package |
| 188 | for ONE_FILE in $TO_EXTRACT |
| 189 | do |
| 190 | echo \ \ \ \ Extracting $ONE_FILE |
| 191 | unzip -j -o $ZIP $ONE_FILE -d $FILEDIR > /dev/null || echo \ \ \ \ Error extracting $ONE_FILE |
| 192 | if test $ONE_FILE = system/vendor/bin/gpsd -o $ONE_FILE = system/vendor/bin/pvrsrvinit -o $ONE_FILE = system/bin/fRom |
| 193 | then |
| 194 | chmod a+x $FILEDIR/$(basename $ONE_FILE) || echo \ \ \ \ Error chmoding $ONE_FILE |
| 195 | fi |
Jean-Baptiste Queru | b1ae9e5 | 2012-06-01 08:40:39 -0700 | [diff] [blame] | 196 | done |
| 197 | echo \ \ Setting up $COMPANY-specific makefiles |
| 198 | cp -R $COMPANY/staging/* tmp/vendor/$COMPANY/$DEVICE || echo \ \ \ \ Error copying makefiles |
| 199 | echo \ \ Setting up shared makefiles |
| 200 | cp -R root/* tmp/vendor/$MANUFACTURER/$ROOTDEVICE || echo \ \ \ \ Error copying makefiles |
| 201 | echo \ \ Generating self-extracting script |
| 202 | SCRIPT=extract-$COMPANY-$DEVICE.sh |
| 203 | cat PROLOGUE > tmp/$SCRIPT || echo \ \ \ \ Error generating script |
| 204 | cat $COMPANY/COPYRIGHT >> tmp/$SCRIPT || echo \ \ \ \ Error generating script |
| 205 | cat PART1 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script |
| 206 | cat $COMPANY/LICENSE >> tmp/$SCRIPT || echo \ \ \ \ Error generating script |
| 207 | cat PART2 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script |
| 208 | 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 |
| 209 | cat PART3 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script |
| 210 | (cd tmp ; tar zc --owner=root --group=root vendor/ >> $SCRIPT || echo \ \ \ \ Error generating embedded tgz) |
| 211 | chmod a+x tmp/$SCRIPT || echo \ \ \ \ Error generating script |
| 212 | ARCHIVE=$COMPANY-$DEVICE-$BUILD-$(md5sum < tmp/$SCRIPT | cut -b -8 | tr -d \\n).tgz |
| 213 | rm -f $ARCHIVE |
| 214 | echo \ \ Generating final archive |
| 215 | (cd tmp ; tar --owner=root --group=root -z -c -f ../$ARCHIVE $SCRIPT || echo \ \ \ \ Error archiving script) |
| 216 | rm -rf tmp |
| 217 | done |