Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(27)

Side by Side Diff: src/platform/memento_softwareupdate/ping_omaha.sh

Issue 633001: fixup autoupdate for new build system (Closed)
Patch Set: per review comments Created 10 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/platform/dev/autoupdate.py ('k') | src/scripts/build_autotest.sh » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 2
3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. 3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 source `dirname "$0"`/memento_updater_logging.sh 7 source `dirname "$0"`/memento_updater_logging.sh
8 8
9 # Example Omaha ping and response (converted to 80 char width w/ backslashes): 9 # Example Omaha ping and response (converted to 80 char width w/ backslashes):
10 10
11 # <?xml version="1.0" encoding="UTF-8"?> 11 # <?xml version="1.0" encoding="UTF-8"?>
12 # <o:gupdate xmlns:o="http://www.google.com/update2/request" \ 12 # <o:gupdate xmlns:o="http://www.google.com/update2/request" \
13 # version="Keystone-1.0.5.0" protocol="2.0" \ 13 # version="Keystone-1.0.5.0" protocol="2.0" \
14 # machineid="{177255303f3cc519182a103069489327}" ismachine="0" \ 14 # machineid="{177255303f3cc519182a103069489327}" ismachine="0" \
15 # userid="{706F576A-ACF9-4611-B608-E5528EAC106A}"> 15 # userid="{706F576A-ACF9-4611-B608-E5528EAC106A}">
16 # <o:os version="MacOSX" platform="mac" sp="10.5.6_i486"></o:os> 16 # <o:os version="MacOSX" platform="mac" sp="10.5.6_i486"></o:os>
17 # <o:app appid="com.google.GoogleAppEngineLauncher" version="1.2.2.380" \ 17 # <o:app appid="com.google.GoogleAppEngineLauncher" version="1.2.2.380" \
18 # lang="en-us" brand="GGLG"> 18 # lang="en-us" brand="GGLG" board="x86-generic">
19 # <o:ping active="0"></o:ping> 19 # <o:ping active="0"></o:ping>
20 # <o:updatecheck></o:updatecheck> 20 # <o:updatecheck></o:updatecheck>
21 # </o:app> 21 # </o:app>
22 # </o:gupdate> 22 # </o:gupdate>
23 23
24 # Response (converted to 80 char width w/ backslashes): 24 # Response (converted to 80 char width w/ backslashes):
25 25
26 # <?xml version="1.0" encoding="UTF-8"?><gupdate \ 26 # <?xml version="1.0" encoding="UTF-8"?><gupdate \
27 # xmlns="http://www.google.com/update2/response" protocol="2.0"><app \ 27 # xmlns="http://www.google.com/update2/response" protocol="2.0"><app \
28 # appid="com.google.GoogleAppEngineLauncher" status="ok"><ping \ 28 # appid="com.google.GoogleAppEngineLauncher" status="ok"><ping \
29 # status="ok"/><updatecheck status="noupdate"/></app></gupdate> 29 # status="ok"/><updatecheck status="noupdate"/></app></gupdate>
30 30
31 # If you change version= above to "0.0.0.0", you get (again, 80 chars w/ \s): 31 # If you change version= above to "0.0.0.0", you get (again, 80 chars w/ \s):
32 32
33 # <?xml version="1.0" encoding="UTF-8"?><gupdate \ 33 # <?xml version="1.0" encoding="UTF-8"?><gupdate \
34 # xmlns="http://www.google.com/update2/response" protocol="2.0"><app \ 34 # xmlns="http://www.google.com/update2/response" protocol="2.0"><app \
35 # appid="com.google.GoogleAppEngineLauncher" status="ok"><ping \ 35 # appid="com.google.GoogleAppEngineLauncher" status="ok"><ping \
36 # status="ok"/><updatecheck DisplayVersion="1.2.2.0" \ 36 # status="ok"/><updatecheck DisplayVersion="1.2.2.0" \
37 # MoreInfo="http://appenginesdk.appspot.com" Prompt="true" \ 37 # MoreInfo="http://appenginesdk.appspot.com" Prompt="true" \
38 # codebase="http://googleappengine.googlecode.com/files/GoogleAppEngine\ 38 # codebase="http://googleappengine.googlecode.com/files/GoogleAppEngine\
39 # Launcher-1.2.2.dmg" hash="vv8ifTj79KivBMTsCDsgKPpsmOo=" needsadmin="false" \ 39 # Launcher-1.2.2.dmg" hash="vv8ifTj79KivBMTsCDsgKPpsmOo=" needsadmin="false" \
40 # size="4018650" status="ok"/></app></gupdate> 40 # size="4018650" status="ok"/></app></gupdate>
41 41
42 # Parameters of the update request: 42 # Parameters of the update request:
43 OS=Memento 43 OS=Memento
44 PLATFORM=memento 44 PLATFORM=memento
45 APP_ID={87efface-864d-49a5-9bb3-4b050a7c227a} 45 APP_ID={87efface-864d-49a5-9bb3-4b050a7c227a}
46 APP_VERSION="$1" 46 APP_VERSION="$1"
47 APP_BOARD="$2"
47 OS_VERSION=${APP_VERSION}_$(uname -m) 48 OS_VERSION=${APP_VERSION}_$(uname -m)
48 LANG=en-us 49 LANG=en-us
49 BRAND=GGLG 50 BRAND=GGLG
50 51
51 OMAHA_ID_FILE=/mnt/stateful_partition/etc/omaha_id 52 OMAHA_ID_FILE=/mnt/stateful_partition/etc/omaha_id
52 if [ ! -f "$OMAHA_ID_FILE" ] 53 if [ ! -f "$OMAHA_ID_FILE" ]
53 then 54 then
54 # omaha file isn't a regular file 55 # omaha file isn't a regular file
55 if [ -e "$OMAHA_ID_FILE" ] 56 if [ -e "$OMAHA_ID_FILE" ]
56 then 57 then
57 # but the omaha file does exist. delete it 58 # but the omaha file does exist. delete it
58 rm -rf "$OMAHA_ID_FILE" 59 rm -rf "$OMAHA_ID_FILE"
59 fi 60 fi
60 # Generate Omaha ID: 61 # Generate Omaha ID:
61 dd if=/dev/urandom bs=16 count=1 status=noxfer | xxd -c 32 -g 1 -u | \ 62 dd if=/dev/urandom bs=16 count=1 status=noxfer | xxd -c 32 -g 1 -u | \
62 cut -d ' ' -f 2-17 | awk \ 63 cut -d ' ' -f 2-17 | awk \
63 '{print "{" $1 $2 $3 $4 "-" $5 $6 "-" $7 $8 "-" $9 $10 "-" \ 64 '{print "{" $1 $2 $3 $4 "-" $5 $6 "-" $7 $8 "-" $9 $10 "-" \
64 $11 $12 $13 $14 $15 $16 "}"; }' > "$OMAHA_ID_FILE" 65 $11 $12 $13 $14 $15 $16 "}"; }' > "$OMAHA_ID_FILE"
65 chmod 0444 "$OMAHA_ID_FILE" 66 chmod 0444 "$OMAHA_ID_FILE"
66 fi 67 fi
67 68
68 MACHINE_ID=$(cat "$OMAHA_ID_FILE") 69 MACHINE_ID=$(cat "$OMAHA_ID_FILE")
69 if [ "x" = "x$MACHINE_ID" ] 70 if [ "x" = "x$MACHINE_ID" ]
70 then 71 then
71 log missing Omaha ID and unable to generate one 72 log missing Omaha ID and unable to generate one
72 exit 1 73 exit 1
73 fi 74 fi
74 USER_ID=$MACHINE_ID 75 USER_ID=$MACHINE_ID
75 AU_VERSION=MementoSoftwareUpdate-0.1.0.0 76 AU_VERSION=MementoSoftwareUpdate-0.1.0.0
76 APP_TRACK=$(grep ^CHROMEOS_RELEASE_TRACK /mnt/stateful_partition/etc/lsb-release | \ 77
78 for dir in /mnt/stateful_partition /; do
79 value=$(grep ^CHROMEOS_RELEASE_TRACK $dir/etc/lsb-release | \
77 cut -d = -f 2-) 80 cut -d = -f 2-)
78 if [ "x" = "x$APP_TRACK" ] 81 if [ -z "$APP_TRACK" -a -n "$value" ]; then
79 then 82 APP_TRACK="$value"
80 # look in the main file 83 fi
81 APP_TRACK=$(grep ^CHROMEOS_RELEASE_TRACK /etc/lsb-release | cut -d = -f 2-) 84 value=$(grep ^CHROMEOS_RELEASE_BOARD $dir/etc/lsb-release | \
82 fi 85 cut -d = -f 2-)
86 if [ -z "$APP_BOARD" -a -n "$value" ]; then
87 APP_BOARD="$value"
88 fi
89 done
83 90
84 AUSERVER_URL=$(grep ^CHROMEOS_AUSERVER /etc/lsb-release | cut -d = -f 2-) 91 AUSERVER_URL=$(grep ^CHROMEOS_AUSERVER /etc/lsb-release | cut -d = -f 2-)
85 92
86 if [ "x" = "x$AUSERVER_URL" ] 93 if [ "x" = "x$AUSERVER_URL" ]
87 then 94 then
88 AUSERVER_URL="https://tools.google.com/service/update2" 95 AUSERVER_URL="https://tools.google.com/service/update2"
89 log using default update server 96 log using default update server
90 fi 97 fi
91 98
92 # for testing. Uncomment and use these to reproduce the examples above 99 # for testing. Uncomment and use these to reproduce the examples above
93 # OS=MacOSX 100 # OS=MacOSX
94 # PLATFORM=mac 101 # PLATFORM=mac
95 # OS_VERSION=10.5.6_i486 102 # OS_VERSION=10.5.6_i486
96 # APP_ID=com.google.GoogleAppEngineLauncher 103 # APP_ID=com.google.GoogleAppEngineLauncher
97 # #APP_VERSION=0.0.0.0 104 # #APP_VERSION=0.0.0.0
98 # APP_VERSION=1.2.2.380 105 # APP_VERSION=1.2.2.380
106 # #APP_BOARD=arm-generic
107 # APP_BOARD=x86-generic
99 # LANG=en-us 108 # LANG=en-us
100 # BRAND=GGLG 109 # BRAND=GGLG
101 # MACHINE_ID={177255303f3cc519182a103069489327} 110 # MACHINE_ID={177255303f3cc519182a103069489327}
102 # USER_ID={706F576A-ACF9-4611-B608-E5528EAC106A} 111 # USER_ID={706F576A-ACF9-4611-B608-E5528EAC106A}
103 # AU_VERSION=Keystone-1.0.5.0 112 # AU_VERSION=Keystone-1.0.5.0
104 113
105 # post file must be a regular file for wget: 114 # post file must be a regular file for wget:
106 POST_FILE=/tmp/memento_au_post_file 115 POST_FILE=/tmp/memento_au_post_file
107 cat > "/tmp/memento_au_post_file" << EOF 116 cat > "/tmp/memento_au_post_file" << EOF
108 <?xml version="1.0" encoding="UTF-8"?> 117 <?xml version="1.0" encoding="UTF-8"?>
109 <o:gupdate xmlns:o="http://www.google.com/update2/request" \ 118 <o:gupdate xmlns:o="http://www.google.com/update2/request" \
110 version="$AU_VERSION" protocol="2.0" machineid="$MACHINE_ID" \ 119 version="$AU_VERSION" protocol="2.0" machineid="$MACHINE_ID" \
111 ismachine="0" userid="$USER_ID"> 120 ismachine="0" userid="$USER_ID">
112 <o:os version="$OS" platform="$PLATFORM" sp="$OS_VERSION"></o:os> 121 <o:os version="$OS" platform="$PLATFORM" sp="$OS_VERSION"></o:os>
113 <o:app appid="$APP_ID" version="$APP_VERSION" lang="$LANG" brand="$BRAND" \ 122 <o:app appid="$APP_ID" version="$APP_VERSION" lang="$LANG" brand="$BRAND" \
114 track="$APP_TRACK"> 123 track="$APP_TRACK" board="$APP_BOARD">
115 <o:ping active="0"></o:ping> 124 <o:ping active="0"></o:ping>
116 <o:updatecheck></o:updatecheck> 125 <o:updatecheck></o:updatecheck>
117 </o:app> 126 </o:app>
118 </o:gupdate> 127 </o:gupdate>
119 EOF 128 EOF
120 129
121 log sending this request to omaha at $AUSERVER_URL 130 log sending this request to omaha at $AUSERVER_URL
122 cat "$POST_FILE" >> "$MEMENTO_AU_LOG" 131 cat "$POST_FILE" >> "$MEMENTO_AU_LOG"
123 132
124 RESPONSE=$(wget -q --header='Content-Type: text/xml' \ 133 RESPONSE=$(wget -q --header='Content-Type: text/xml' \
(...skipping 25 matching lines...) Expand all
150 then 159 then
151 log No https url 160 log No https url
152 exit 0 161 exit 0
153 fi 162 fi
154 fi 163 fi
155 164
156 165
157 echo URL=$CODEBASE 166 echo URL=$CODEBASE
158 echo HASH=$HASH 167 echo HASH=$HASH
159 echo SIZE=$SIZE 168 echo SIZE=$SIZE
OLDNEW
« no previous file with comments | « src/platform/dev/autoupdate.py ('k') | src/scripts/build_autotest.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698