blob: 7917a3cde8552e8418e1a1c6a5e3e9b02a61b6fb [file] [log] [blame]
Jean-Baptiste Querub1ae9e52012-06-01 08:40:39 -07001#!/bin/sh
2
Jean-Baptiste Queruf93f6db2013-05-20 15:21:04 -07003# Copyright 2010 The Android Open Source Project
Jean-Baptiste Querub1ae9e52012-06-01 08:40:39 -07004#
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 Queru36565c02012-06-23 09:39:26 -070017# start jb-dev
Jean-Baptiste Querub1ae9e52012-06-01 08:40:39 -070018# 368864 = JRN61B
Jean-Baptiste Querufb3abab2012-06-04 09:03:54 -070019# 371028 = JRN65
Jean-Baptiste Queru696c5e62012-06-14 08:13:31 -070020# 382301 = JRN75
Jean-Baptiste Queru7e82c952012-06-19 08:03:45 -070021# 386704 = JRN80
Jean-Baptiste Queru36565c02012-06-23 09:39:26 -070022# 391496 = JRN83D
Jean-Baptiste Querud20e4522012-07-04 10:34:37 -070023# 397816 = JRO03B
Jean-Baptiste Querua37b22f2012-07-04 17:10:39 -070024# 398337 = JRO03C
Jean-Baptiste Querudb72e392012-08-01 14:51:37 -070025# 405518 = JRO03H
Jean-Baptiste Queru042f71f2012-09-21 13:48:27 -070026# 438695 = JRO03R
Jean-Baptiste Queru7b1de312012-09-17 08:30:17 -070027# 463694 = JZO54G
Jean-Baptiste Queru734bf8a2012-10-02 15:40:15 -070028# 485486 = JZO54K
Jean-Baptiste Queru36565c02012-06-23 09:39:26 -070029# end jb-dev
Jean-Baptiste Queru35809102012-11-02 13:31:12 -070030# start jb-mr1-dev
31# 521994 = JOP32B
Jean-Baptiste Queru6232c642012-11-06 09:26:07 -080032# 524024 = JOP36
Jean-Baptiste Querua78ca9b2012-11-09 13:27:24 -080033# 527221 = JOP40
Jean-Baptiste Queru7b797c32012-11-12 08:34:37 -080034# 527662 = JOP40C
Jean-Baptiste Querue8d35a72013-01-29 17:15:34 -080035# 561924 = JOP40G
Jean-Baptiste Queru35809102012-11-02 13:31:12 -070036# end jb-mr1-dev
Jean-Baptiste Queru829187c2012-12-27 08:43:02 -080037# start jb-mr1.1-dev
38# 551245 = JDP82
Jean-Baptiste Queruad051052013-02-14 14:11:18 -080039# 573038 = JDQ39
Jean-Baptiste Queru829187c2012-12-27 08:43:02 -080040# end jb-mr1.1-dev
Jean-Baptiste Queru44d1b342013-04-12 12:45:25 -070041# start jb-mr2-dev
42# 638589 = JWR11D
Jean-Baptiste Queruf93f6db2013-05-20 15:21:04 -070043# 681336 = JWR50
Jean-Baptiste Queru6e905c52013-05-21 11:09:05 -070044# 683083 = JWR51
Jean-Baptiste Querub98892b2013-05-22 17:42:30 -070045# 684634 = JWR52
Jean-Baptiste Querud80c6542013-05-23 09:16:10 -070046# 686185 = JWR53
Jean-Baptiste Queru3dbe55f2013-05-28 09:20:51 -070047# 689345 = JWR58
Jean-Baptiste Queru79dfd1e2013-05-29 08:53:21 -070048# 690834 = JWR59
Jean-Baptiste Queru44d1b342013-04-12 12:45:25 -070049# end jb-mr2-dev
50BRANCH=jb-mr2-dev
Jean-Baptiste Querue8d35a72013-01-29 17:15:34 -080051if test $BRANCH = jb-dev
Jean-Baptiste Querub1ae9e52012-06-01 08:40:39 -070052then
Jean-Baptiste Queru734bf8a2012-10-02 15:40:15 -070053 ZIP=nakasi-ota-485486.zip
54 BUILD=jzo54k
Jean-Baptiste Queru36565c02012-06-23 09:39:26 -070055fi # jb-dev
Jean-Baptiste Querue8d35a72013-01-29 17:15:34 -080056if test $BRANCH = jb-mr1-dev
Jean-Baptiste Queru35809102012-11-02 13:31:12 -070057then
Jean-Baptiste Querue8d35a72013-01-29 17:15:34 -080058 ZIP=nakasi-ota-561924.zip
59 BUILD=jop40g
Jean-Baptiste Queru35809102012-11-02 13:31:12 -070060fi # jb-mr1-dev
Jean-Baptiste Querue8d35a72013-01-29 17:15:34 -080061if test $BRANCH = jb-mr1.1-dev
Jean-Baptiste Queru829187c2012-12-27 08:43:02 -080062then
Jean-Baptiste Queruad051052013-02-14 14:11:18 -080063 ZIP=nakasi-ota-573038.zip
64 BUILD=jdq39
Jean-Baptiste Queru829187c2012-12-27 08:43:02 -080065fi # jb-mr1.1-dev
Jean-Baptiste Queru44d1b342013-04-12 12:45:25 -070066if test $BRANCH = jb-mr2-dev
67then
Jean-Baptiste Queru79dfd1e2013-05-29 08:53:21 -070068 ZIP=nakasi-ota-690834
69 BUILD=jwr59
Jean-Baptiste Queru44d1b342013-04-12 12:45:25 -070070fi # jb-mr2-dev
Jean-Baptiste Querub1ae9e52012-06-01 08:40:39 -070071ROOTDEVICE=grouper
72DEVICE=grouper
73MANUFACTURER=asus
74
Jean-Baptiste Queruad051052013-02-14 14:11:18 -080075for COMPANY in asus broadcom elan invensense nvidia nxp widevine
Jean-Baptiste Querub1ae9e52012-06-01 08:40:39 -070076do
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 Queru669b7422012-06-05 08:12:15 -070083 asus)
Jean-Baptiste Querub1ae9e52012-06-01 08:40:39 -070084 TO_EXTRACT="\
Jean-Baptiste Queru7b1de312012-09-17 08:30:17 -070085 system/bin/sensors-config \
Jean-Baptiste Queru669b7422012-06-05 08:12:15 -070086 system/lib/hw/camera.tegra3.so \
Jean-Baptiste Queru7b1de312012-09-17 08:30:17 -070087 system/lib/hw/sensors.grouper.so \
Jean-Baptiste Queru669b7422012-06-05 08:12:15 -070088 system/lib/libsensors.lightsensor.so \
Jean-Baptiste Queru7e82c952012-06-19 08:03:45 -070089 system/vendor/lib/drm/libdrmwvmplugin.so \
90 system/vendor/lib/libwvm.so \
Jean-Baptiste Queru669b7422012-06-05 08:12:15 -070091 "
92 ;;
Jean-Baptiste Querub4a60002012-07-04 09:26:18 -070093 broadcom)
94 TO_EXTRACT="\
Jean-Baptiste Queru7b1de312012-09-17 08:30:17 -070095 system/bin/glgps \
Jean-Baptiste Querub1ae9e52012-06-01 08:40:39 -070096 system/etc/firmware/bcm4330.hcd \
Jean-Baptiste Queru7b1de312012-09-17 08:30:17 -070097 system/etc/gps/gpsconfig.xml \
98 system/lib/hw/gps.tegra3.so \
Jean-Baptiste Queru669b7422012-06-05 08:12:15 -070099 "
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 Queruad051052013-02-14 14:11:18 -0800115 system/bin/tf_daemon \
Jean-Baptiste Querub1ae9e52012-06-01 08:40:39 -0700116 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 Querub1ae9e52012-06-01 08:40:39 -0700121 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 Querub1ae9e52012-06-01 08:40:39 -0700126 system/lib/hw/gralloc.tegra3.so \
127 system/lib/hw/hwcomposer.tegra3.so \
Jean-Baptiste Queru7e82c952012-06-19 08:03:45 -0700128 system/lib/libardrv_dynamic.so \
129 system/lib/libcgdrv.so \
Jean-Baptiste Querub1ae9e52012-06-01 08:40:39 -0700130 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 Querub1ae9e52012-06-01 08:40:39 -0700170 system/lib/libstagefrighthw.so \
171 system/lib/libtf_crypto_sst.so \
Jean-Baptiste Queru669b7422012-06-05 08:12:15 -0700172 "
173 ;;
174 nxp)
175 TO_EXTRACT="\
Jean-Baptiste Querub1ae9e52012-06-01 08:40:39 -0700176 system/vendor/firmware/libpn544_fw.so \
Jean-Baptiste Queru669b7422012-06-05 08:12:15 -0700177 "
178 ;;
179 widevine)
180 TO_EXTRACT="\
Jean-Baptiste Queru7e82c952012-06-19 08:03:45 -0700181 system/lib/libdrmdecrypt.so \
Jean-Baptiste Querub1ae9e52012-06-01 08:40:39 -0700182 system/vendor/lib/libwvdrm_L1.so \
Jean-Baptiste Querub1ae9e52012-06-01 08:40:39 -0700183 system/vendor/lib/libWVStreamControlAPI_L1.so
184 "
185 ;;
Jean-Baptiste Querub1ae9e52012-06-01 08:40:39 -0700186 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 Querub1ae9e52012-06-01 08:40:39 -0700196 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
217done