]> git.pld-linux.org Git - packages/google-chrome.git/blame - update-source.sh
- up to 53.0.2785.101
[packages/google-chrome.git] / update-source.sh
CommitLineData
fa196e82 1#!/bin/sh
22605b2f
AM
2
3if [ "$1" = "-k" ]; then
4 cache=yes
5 shift
6else
7 cache=no
8fi
9
9af080da
ER
10# product name
11product=chrome
12# name
13name=google-$product
14# this package
15specfile=$name.spec
e2c2e846 16# arch to check package. irrelevant for actual arch
22df2dd7 17arch=x86_64
e2c2e846 18# branch: stable, beta, unstable. default: stable
c8c83709 19branch=${1:-stable}
81efd66c
AM
20
21case "${branch}" in
22 stable|beta|unstable)
23 ;;
24 *)
25 echo "$0: Unknown branch: $branch. Supported branches: stable, beta, unstable." >&2
26 exit 1
27 ;;
28esac
29
9af080da 30sourceurl=http://dl.google.com/linux/$product/rpm/stable/$arch
48f5d819 31
fa196e82
ER
32set -e
33
34echo -n "Fetching latest version... "
35t=$(mktemp)
eb239aaf 36
b419095f
ER
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
40
fa227df9 41repodata=primary-$branch-$(date +%Y%m%d).xml
22605b2f 42[ "$cache" = "yes" ] || rm -f "$repodata"
fa227df9 43test -e $repodata || {
440012b5 44 wget $sourceurl/repodata/primary.xml.gz -O $repodata.gz
a551b7c2 45 gzip -dc $repodata.gz > $repodata || test -s $repodata
fa227df9
ER
46}
47perl -ne 'm{<name>google-'$product-$branch'</name>} and m{<version epoch="0" ver="([\d.]+)" rel="(\d+)"/>} and print "$1 $2"' > $t < $repodata
eb239aaf
ER
48
49set -- $(sed -re "s,^.+-([^-]+)-([^-]+).$arch$,\1 \2," $t)
50
eb239aaf 51ver=$1
b6c0552a 52rel=$2
eb239aaf 53
3e9019a0
AM
54if [ -z "$ver" -o -z "$rel" ]; then
55 echo "Error: xml file is missing data for ${branch} type"
56 exit 1
57fi
58
2ae4947c 59# check google-chrome ver only
2ae4947c 60oldver=$(awk '/^Version:[ \t]+/{print $NF; exit}' $specfile)
b6c0552a
ER
61oldrel=$(awk '/^Release:[ \t]+/{print $NF; exit}' $specfile)
62if [ "$oldrel" = "$rel" -a "$oldver" = "$ver" ]; then
63 echo "Already up to date (google-chrome/$ver-$rel)"
2ae4947c
AM
64 exit 0
65fi
66
9af080da 67# extract flash version
b6c0552a 68rpm=$name-$branch-$ver-$rel.$arch.rpm
fa227df9
ER
69manifest=manifest-$ver.json
70test -e $rpm || wget -c $sourceurl/$rpm
71test -e $manifest || {
185635d4 72 echo ./opt/google/chrome*/PepperFlash/manifest.json > $t
fa227df9 73 rpm2cpio $rpm | cpio -i -E $t --to-stdout > manifest-$ver.json
185635d4
AM
74 if [ ! -s manifest-$ver.json ]; then
75 echo "Failed to extract flash version."
76 exit 1
77 fi
fa227df9
ER
78}
79flashv=$(awk -F'"' '/version/{print $4}' manifest-$ver.json)
9af080da 80
94030718 81rm -f "$t" "$manifest"
fa196e82 82
2ae4947c 83# check google-chrome and flash ver
9af080da 84oldflash=$(awk '/^%define[ ]+flashv[ ]+/{print $NF}' $specfile)
b6c0552a
ER
85if [ "$oldrel" = "$rel" -a "$oldver" = "$ver" -a "$oldflash" = "$flashv" ]; then
86 echo "Already up to date (google-chrome/$ver-$rel flash/$flashv)"
57c5ccb3 87 exit 0
fa196e82 88fi
57c5ccb3 89
b6c0552a 90echo "Updating $specfile for google-chrome/$oldver-$oldrel -> $ver-$rel, flash/$oldflash -> $flashv"
57c5ccb3 91sed -i -e "
57c5ccb3
ER
92 s/^\(%define[ \t]\+state[ \t]\+\)[a-z]\+\$/\1$branch/
93 s/^\(%define[ \t]\+flashv[ \t]\+\)[0-9.]\+\$/\1$flashv/
94 s/^\(Version:[ \t]\+\)[.0-9]\+\$/\1$ver/
b6c0552a 95 s/^\(Release:[ \t]\+\)[.0-9]\+\$/\1$rel/
57c5ccb3 96" $specfile
90f743de 97../builder -ncs -nd -n5 -g $specfile || :
86c9cd57 98../builder -ncs -nd -5 $specfile
This page took 0.04195 seconds and 4 git commands to generate.