]>
Commit | Line | Data |
---|---|---|
fa196e82 | 1 | #!/bin/sh |
9af080da ER |
2 | # product name |
3 | product=chrome | |
4 | # name | |
5 | name=google-$product | |
6 | # this package | |
7 | specfile=$name.spec | |
e2c2e846 | 8 | # arch to check package. irrelevant for actual arch |
22df2dd7 | 9 | arch=x86_64 |
e2c2e846 | 10 | # branch: stable, beta, unstable. default: stable |
c8c83709 | 11 | branch=${1:-stable} |
81efd66c AM |
12 | |
13 | case "${branch}" in | |
14 | stable|beta|unstable) | |
15 | ;; | |
16 | *) | |
17 | echo "$0: Unknown branch: $branch. Supported branches: stable, beta, unstable." >&2 | |
18 | exit 1 | |
19 | ;; | |
20 | esac | |
21 | ||
9af080da | 22 | sourceurl=http://dl.google.com/linux/$product/rpm/stable/$arch |
48f5d819 | 23 | |
fa196e82 ER |
24 | set -e |
25 | ||
26 | echo -n "Fetching latest version... " | |
27 | t=$(mktemp) | |
eb239aaf | 28 | |
b419095f ER |
29 | # poldek is buggy, see https://bugs.launchpad.net/poldek/+bug/1026762 |
30 | #poldek -q --st=metadata --source "$sourceurl/" --update | |
31 | #poldek -q --skip-installed --st=metadata --source "$sourceurl/" --cmd "ls google-chrome-$branch" > $t | |
32 | ||
fa227df9 ER |
33 | repodata=primary-$branch-$(date +%Y%m%d).xml |
34 | test -e $repodata || { | |
35 | wget -c $sourceurl/repodata/primary.xml.gz | |
4187e117 | 36 | gzip -dc primary.xml.gz > $repodata || test -s $repodata |
fa227df9 ER |
37 | } |
38 | perl -ne 'm{<name>google-'$product-$branch'</name>} and m{<version epoch="0" ver="([\d.]+)" rel="(\d+)"/>} and print "$1 $2"' > $t < $repodata | |
eb239aaf ER |
39 | |
40 | set -- $(sed -re "s,^.+-([^-]+)-([^-]+).$arch$,\1 \2," $t) | |
41 | ||
eb239aaf ER |
42 | ver=$1 |
43 | rev=$2 | |
44 | ||
9af080da ER |
45 | # extract flash version |
46 | rpm=$name-$branch-$ver-$rev.$arch.rpm | |
fa227df9 ER |
47 | manifest=manifest-$ver.json |
48 | test -e $rpm || wget -c $sourceurl/$rpm | |
49 | test -e $manifest || { | |
50 | echo ./opt/google/chrome/PepperFlash/manifest.json > $t | |
51 | rpm2cpio $rpm | cpio -i -E $t --to-stdout > manifest-$ver.json | |
52 | } | |
53 | flashv=$(awk -F'"' '/version/{print $4}' manifest-$ver.json) | |
9af080da | 54 | |
fa227df9 | 55 | rm -f $t |
fa196e82 ER |
56 | echo "$ver-$rev" |
57 | ||
fa196e82 | 58 | oldrev=$(awk '/^%define[ ]+svnrev[ ]+/{print $NF}' $specfile) |
9af080da | 59 | oldflash=$(awk '/^%define[ ]+flashv[ ]+/{print $NF}' $specfile) |
57c5ccb3 | 60 | if [ "$oldrev" = "$rev" -a "$oldflash" = "$flashv" ]; then |
fa196e82 | 61 | echo "Already up to date" |
57c5ccb3 | 62 | exit 0 |
fa196e82 | 63 | fi |
57c5ccb3 ER |
64 | |
65 | echo "Updating $specfile for $ver r$rev" | |
66 | sed -i -e " | |
67 | s/^\(%define[ \t]\+svnrev[ \t]\+\)[0-9]\+\$/\1$rev/ | |
68 | s/^\(%define[ \t]\+state[ \t]\+\)[a-z]\+\$/\1$branch/ | |
69 | s/^\(%define[ \t]\+flashv[ \t]\+\)[0-9.]\+\$/\1$flashv/ | |
70 | s/^\(Version:[ \t]\+\)[.0-9]\+\$/\1$ver/ | |
71 | " $specfile | |
72 | ../builder -ncs -g $specfile || : | |
73 | ../builder -ncs -5 $specfile |