]> git.pld-linux.org Git - packages/google-chrome.git/blob - update-source.sh
- up to 107.0.5304.68
[packages/google-chrome.git] / update-source.sh
1 #!/bin/sh
2
3 set -e
4
5 die() {
6         echo >&2 "$0: $*"
7         exit 1
8 }
9
10 if [ "$1" = "-k" ]; then
11         cache=yes
12         shift
13 else
14         cache=no
15 fi
16
17 # product name
18 product=chrome
19 # name
20 name=google-$product
21 # this package
22 specfile=$name.spec
23 # arch to check package. irrelevant for actual arch
24 arch=x86_64
25 # branch: stable, beta, unstable. default: stable
26 branch=${1:-stable}
27
28 case "${branch}" in
29         stable|beta|unstable)
30                 ;;
31         *)
32                 die "Unknown branch: $branch. Supported branches: stable, beta, unstable."
33                 ;;
34 esac
35
36 sourceurl=https://dl.google.com/linux/$product/rpm/stable/$arch
37
38 fetch_version() {
39         echo -n "Fetching latest version for $branch... "
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         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         )
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
64
65 if [ -z "$ver" -o -z "$rel" ]; then
66         die "Error: xml file is missing data for ${branch} type"
67 fi
68
69 # check google-chrome ver only
70 oldver=$(awk '/^Version:[ \t]+/{print $NF; exit}' $specfile)
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)"
74         exit 0
75 fi
76
77 # check google-chrome
78 if [ "$oldrel" = "$rel" -a "$oldver" = "$ver" ]; then
79         echo "Already up to date (google-chrome/$ver-$rel)"
80         exit 0
81 fi
82
83 echo "Updating $specfile for google-chrome/$oldver-$oldrel -> $ver-$rel"
84 sed -i -e "
85         s/^\(%define[ \t]\+state[ \t]\+\)[a-z]\+\$/\1$branch/
86         s/^\(Version:[ \t]\+\)[.0-9]\+\$/\1$ver/
87         s/^\(Release:[ \t]\+\)[.0-9]\+\$/\1$rel/
88 " $specfile
89 ../builder -ncs -nd -n5 -g $specfile || :
90 ../builder -ncs -nd -5 $specfile
This page took 0.080262 seconds and 3 git commands to generate.