]>
Commit | Line | Data |
---|---|---|
fa196e82 | 1 | #!/bin/sh |
22605b2f | 2 | |
fe67123c ER |
3 | set -e |
4 | ||
f1c7d842 ER |
5 | die() { |
6 | echo >&2 "$0: $*" | |
7 | exit 1 | |
8 | } | |
9 | ||
22605b2f AM |
10 | if [ "$1" = "-k" ]; then |
11 | cache=yes | |
12 | shift | |
13 | else | |
14 | cache=no | |
15 | fi | |
16 | ||
9af080da ER |
17 | # product name |
18 | product=chrome | |
19 | # name | |
20 | name=google-$product | |
21 | # this package | |
22 | specfile=$name.spec | |
e2c2e846 | 23 | # arch to check package. irrelevant for actual arch |
22df2dd7 | 24 | arch=x86_64 |
e2c2e846 | 25 | # branch: stable, beta, unstable. default: stable |
c8c83709 | 26 | branch=${1:-stable} |
81efd66c AM |
27 | |
28 | case "${branch}" in | |
29 | stable|beta|unstable) | |
30 | ;; | |
31 | *) | |
f1c7d842 | 32 | die "Unknown branch: $branch. Supported branches: stable, beta, unstable." |
81efd66c AM |
33 | ;; |
34 | esac | |
35 | ||
39cfc590 | 36 | sourceurl=https://dl.google.com/linux/$product/rpm/stable/$arch |
48f5d819 | 37 | |
fdae8e0f | 38 | fetch_version() { |
fe67123c | 39 | echo -n "Fetching latest version for $branch... " |
fdae8e0f ER |
40 | |
41 | # poldek is buggy, see https://bugs.launchpad.net/poldek/+bug/1026762 | |
42 | #poldek -q --st=metadata --source "$sourceurl/" --update | |
43 | #poldek -q --skip-installed --st=metadata --source "$sourceurl/" --cmd "ls google-chrome-$branch" > $t | |
eb239aaf | 44 | |
fe67123c ER |
45 | set -- $( |
46 | python3 <<-EOF | |
47 | import repomd | |
48 | repo = repomd.load('$sourceurl') | |
49 | package = repo.find('google-$product-$branch') | |
50 | print("{0} {1}".format(package.version, package.release)) | |
51 | EOF | |
52 | ) | |
fdae8e0f ER |
53 | |
54 | ver=$1 | |
55 | rel=$2 | |
56 | } | |
57 | ||
58 | if [ -n "$2" ]; then | |
59 | ver=$2 | |
60 | rel=1 | |
61 | else | |
62 | fetch_version | |
63 | fi | |
eb239aaf | 64 | |
3e9019a0 | 65 | if [ -z "$ver" -o -z "$rel" ]; then |
f1c7d842 | 66 | die "Error: xml file is missing data for ${branch} type" |
3e9019a0 AM |
67 | fi |
68 | ||
2ae4947c | 69 | # check google-chrome ver only |
2ae4947c | 70 | oldver=$(awk '/^Version:[ \t]+/{print $NF; exit}' $specfile) |
b6c0552a ER |
71 | oldrel=$(awk '/^Release:[ \t]+/{print $NF; exit}' $specfile) |
72 | if [ "$oldrel" = "$rel" -a "$oldver" = "$ver" ]; then | |
73 | echo "Already up to date (google-chrome/$ver-$rel)" | |
2ae4947c AM |
74 | exit 0 |
75 | fi | |
76 | ||
58e6ccff AM |
77 | # check google-chrome |
78 | if [ "$oldrel" = "$rel" -a "$oldver" = "$ver" ]; then | |
79 | echo "Already up to date (google-chrome/$ver-$rel)" | |
57c5ccb3 | 80 | exit 0 |
fa196e82 | 81 | fi |
57c5ccb3 | 82 | |
58e6ccff | 83 | echo "Updating $specfile for google-chrome/$oldver-$oldrel -> $ver-$rel" |
57c5ccb3 | 84 | sed -i -e " |
57c5ccb3 | 85 | s/^\(%define[ \t]\+state[ \t]\+\)[a-z]\+\$/\1$branch/ |
57c5ccb3 | 86 | s/^\(Version:[ \t]\+\)[.0-9]\+\$/\1$ver/ |
b6c0552a | 87 | s/^\(Release:[ \t]\+\)[.0-9]\+\$/\1$rel/ |
57c5ccb3 | 88 | " $specfile |
90f743de | 89 | ../builder -ncs -nd -n5 -g $specfile || : |
86c9cd57 | 90 | ../builder -ncs -nd -5 $specfile |