]> git.pld-linux.org Git - packages/google-chrome.git/blob - update-source.sh
- up to 54.0.2840.71
[packages/google-chrome.git] / update-source.sh
1 #!/bin/sh
2
3 die() {
4         echo >&2 "$0: $*"
5         exit 1
6 }
7
8 if [ "$1" = "-k" ]; then
9         cache=yes
10         shift
11 else
12         cache=no
13 fi
14
15 # product name
16 product=chrome
17 # name
18 name=google-$product
19 # this package
20 specfile=$name.spec
21 # arch to check package. irrelevant for actual arch
22 arch=x86_64
23 # branch: stable, beta, unstable. default: stable
24 branch=${1:-stable}
25
26 case "${branch}" in
27         stable|beta|unstable)
28                 ;;
29         *)
30                 die "Unknown branch: $branch. Supported branches: stable, beta, unstable."
31                 ;;
32 esac
33
34 sourceurl=http://dl.google.com/linux/$product/rpm/stable/$arch
35
36 set -e
37
38 echo -n "Fetching latest version... "
39 t=$(mktemp)
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
44
45 repodata=primary-$branch-$(date +%Y%m%d).xml
46 [ "$cache" = "yes" ] || rm -f "$repodata"
47 test -e $repodata || {
48         wget $sourceurl/repodata/primary.xml.gz -O $repodata.gz
49         gzip -dc $repodata.gz > $repodata || test -s $repodata
50 }
51 perl -ne 'm{<name>google-'$product-$branch'</name>} and m{<version epoch="0" ver="([\d.]+)" rel="(\d+)"/>} and print "$1 $2"' > $t < $repodata
52
53 set -- $(sed -re "s,^.+-([^-]+)-([^-]+).$arch$,\1 \2," $t)
54
55 ver=$1
56 rel=$2
57
58 if [ -z "$ver" -o -z "$rel" ]; then
59         die "Error: xml file is missing data for ${branch} type"
60 fi
61
62 # check google-chrome ver only
63 oldver=$(awk '/^Version:[ \t]+/{print $NF; exit}' $specfile)
64 oldrel=$(awk '/^Release:[ \t]+/{print $NF; exit}' $specfile)
65 if [ "$oldrel" = "$rel" -a "$oldver" = "$ver" ]; then
66         echo "Already up to date (google-chrome/$ver-$rel)"
67         exit 0
68 fi
69
70 # check google-chrome
71 if [ "$oldrel" = "$rel" -a "$oldver" = "$ver" ]; then
72         echo "Already up to date (google-chrome/$ver-$rel)"
73         exit 0
74 fi
75
76 echo "Updating $specfile for google-chrome/$oldver-$oldrel -> $ver-$rel"
77 sed -i -e "
78         s/^\(%define[ \t]\+state[ \t]\+\)[a-z]\+\$/\1$branch/
79         s/^\(Version:[ \t]\+\)[.0-9]\+\$/\1$ver/
80         s/^\(Release:[ \t]\+\)[.0-9]\+\$/\1$rel/
81 " $specfile
82 ../builder -ncs -nd -n5 -g $specfile || :
83 ../builder -ncs -nd -5 $specfile
This page took 0.037637 seconds and 3 git commands to generate.