3 if [ "$1" = "-k" ]; then
16 # arch to check package. irrelevant for actual arch
18 # branch: stable, beta, unstable. default: stable
25 echo "$0: Unknown branch: $branch. Supported branches: stable, beta, unstable." >&2
30 sourceurl=http://dl.google.com/linux/$product/rpm/stable/$arch
34 echo -n "Fetching latest version... "
37 # poldek is buggy, see https://bugs.launchpad.net/poldek/+bug/1026762
38 #poldek -q --st=metadata --source "$sourceurl/" --update
39 #poldek -q --skip-installed --st=metadata --source "$sourceurl/" --cmd "ls google-chrome-$branch" > $t
41 repodata=primary-$branch-$(date +%Y%m%d).xml
42 [ "$cache" = "yes" ] || rm -f "$repodata"
43 test -e $repodata || {
44 wget -c $sourceurl/repodata/primary.xml.gz -O $repodata.gz
45 gzip -dc $repodata.gz > $repodata || test -s $repodata
47 perl -ne 'm{<name>google-'$product-$branch'</name>} and m{<version epoch="0" ver="([\d.]+)" rel="(\d+)"/>} and print "$1 $2"' > $t < $repodata
49 set -- $(sed -re "s,^.+-([^-]+)-([^-]+).$arch$,\1 \2," $t)
54 # check google-chrome ver only
55 oldrev=$(awk '/^%define[ ]+svnrev[ ]+/{print $NF}' $specfile)
56 oldver=$(awk '/^Version:[ \t]+/{print $NF; exit}' $specfile)
57 if [ "$oldrev" = "$rev" -a "$oldver" = "$ver" ]; then
58 echo "Already up to date (google-chrome/$ver-$rev)"
62 # extract flash version
63 rpm=$name-$branch-$ver-$rev.$arch.rpm
64 manifest=manifest-$ver.json
65 test -e $rpm || wget -c $sourceurl/$rpm
66 test -e $manifest || {
67 echo ./opt/google/chrome*/PepperFlash/manifest.json > $t
68 rpm2cpio $rpm | cpio -i -E $t --to-stdout > manifest-$ver.json
69 if [ ! -s manifest-$ver.json ]; then
70 echo "Failed to extract flash version."
74 flashv=$(awk -F'"' '/version/{print $4}' manifest-$ver.json)
76 rm -f "$t" "$manifest"
78 # check google-chrome and flash ver
79 oldflash=$(awk '/^%define[ ]+flashv[ ]+/{print $NF}' $specfile)
80 if [ "$oldrev" = "$rev" -a "$oldver" = "$ver" -a "$oldflash" = "$flashv" ]; then
81 echo "Already up to date (google-chrome/$ver-$rev flash/$flashv)"
85 echo "Updating $specfile for google-chrome/$oldver-$oldrev -> $ver-$rev, flash/$oldflash -> $flashv"
87 s/^\(%define[ \t]\+svnrev[ \t]\+\)[0-9]\+\$/\1$rev/
88 s/^\(%define[ \t]\+state[ \t]\+\)[a-z]\+\$/\1$branch/
89 s/^\(%define[ \t]\+flashv[ \t]\+\)[0-9.]\+\$/\1$flashv/
90 s/^\(Version:[ \t]\+\)[.0-9]\+\$/\1$ver/
92 ../builder -ncs -nd -n5 -g $specfile || :
93 ../builder -ncs -nd -5 $specfile