3 # ./update-source.sh [spec|rev]
4 # Download latest binary tarball based on latest release from
5 # buildbot, current version referenced in spec file, or custom
15 if [ "$1" == "spec" ]; then
16 rev=$(grep -e "^%define.*svnrev" chromium-browser-bin.spec | cut -f4)
17 echo "Using $rev from spec file"
22 echo "Fetching latest revno... "
23 rev=$(wget -q -O - http://commondatastorage.googleapis.com/chromium-browser-continuous/Linux/LAST_CHANGE)
24 rev64=$(wget -q -O - http://commondatastorage.googleapis.com/chromium-browser-continuous/Linux_x64/LAST_CHANGE)
25 # be sure that we use same rev on both arch
26 if [ "$rev" != "$rev64" ]; then
27 echo "Current 32bit build ($rev) does not match 64bit build ($rev64)"
28 echo "The upstream buildbot probably failed."
29 if [ "$rev" -lt "$rev64" ]; then
30 echo "Using latest 32bit revision..."
33 echo "Using latest 64bit revision..."
38 # TODO: use release branches instead of trunk. Current release can be looked up like this:
39 #linuxdev=$(wget -q -O - http://omahaproxy.appspot.com | grep '^linux,dev' | cut -d, -f3)
42 if [ ! -f chromium-browser32-r$rev.zip ]; then
43 wget http://commondatastorage.googleapis.com/chromium-browser-continuous/Linux/$rev/chrome-linux.zip -c -O chromium-browser32-r$rev.zip
45 upload_32="chromium-browser32-r$rev.zip"
47 if [ ! -f chromium-browser64-r$rev.zip ]; then
48 wget http://commondatastorage.googleapis.com/chromium-browser-continuous/Linux_x64/$rev/chrome-linux.zip -c -O chromium-browser64-r$rev.zip
49 upload_64="chromium-browser64-r$rev.zip"
52 if [ "$dropin" ]; then
53 if [ -x ./dropin ]; then
55 elif [ -x ../dropin ]; then
59 if [ "$upload_32" -o "$upload_64" ]; then
60 echo "Uploading to dropin. ^C to abort"
61 ../dropin $upload_32 $upload_64
65 specfile=chromium-browser-bin.spec
66 oldrev=$(awk '/^%define[ ]+svnrev[ ]+/{print $NF}' $specfile)
67 if [ "$oldrev" != "$rev" ]; then
68 # revno => VERSION hint by Caleb Maclennan <caleb#alerque.com>
69 wget -q -O VERSION.sh http://src.chromium.org/viewvc/chrome/trunk/src/chrome/VERSION?revision=$rev
70 if grep -Ev '^(MAJOR|MINOR|BUILD|PATCH)=[0-9]+$' VERSION.sh >&2; then
71 echo >&2 "I refuse to execute garbled file for security concerns"
75 version=$MAJOR.$MINOR.$BUILD.$PATCH
77 echo "Updating $specfile for $version r$rev"
79 s/^\(%define[ \t]\+svnrev[ \t]\+\)[0-9]\+\$/\1$rev/
80 s/^\(Version:[ \t]\+\)[.0-9]\+\$/\1$version/
82 ../builder -ncs -5 $specfile