]> git.pld-linux.org Git - packages/google-chrome.git/blobdiff - update-source.sh
- Minor upgrade to 119.0.6045.123.
[packages/google-chrome.git] / update-source.sh
old mode 100644 (file)
new mode 100755 (executable)
index 0d96d68..207124f
@@ -1,4 +1,25 @@
 #!/bin/sh
+
+set -e
+
+die() {
+       echo >&2 "$0: $*"
+       exit 1
+}
+
+if [ "$1" = "-k" ]; then
+       cache=yes
+       shift
+else
+       cache=no
+fi
+
+# product name
+product=chrome
+# name
+name=google-$product
+# this package
+specfile=$name.spec
 # arch to check package. irrelevant for actual arch
 arch=x86_64
 # branch: stable, beta, unstable. default: stable
@@ -8,39 +29,62 @@ case "${branch}" in
        stable|beta|unstable)
                ;;
        *)
-               echo "$0: Unknown branch: $branch. Supported branches: stable, beta, unstable." >&2
-               exit 1
+               die "Unknown branch: $branch. Supported branches: stable, beta, unstable."
                ;;
 esac
 
-sourceurl=http://dl.google.com/linux/chrome/rpm/stable/$arch/
+sourceurl=https://dl.google.com/linux/$product/rpm/stable/$arch
 
-set -e
+fetch_version() {
+       echo -n "Fetching latest version for $branch... "
 
-echo -n "Fetching latest version... "
-t=$(mktemp)
+       # poldek is buggy, see https://bugs.launchpad.net/poldek/+bug/1026762
+       #poldek -q --st=metadata --source "$sourceurl/" --update
+       #poldek -q --skip-installed --st=metadata --source "$sourceurl/" --cmd "ls google-chrome-$branch" > $t
 
-poldek -q --st=metadata --source "$sourceurl" --update
-poldek -q --skip-installed --st=metadata --source "$sourceurl" --cmd "ls google-chrome-$branch" > $t
+       set -- $(
+               python3 <<-EOF
+                       import repomd
+                       repo = repomd.load('$sourceurl')
+                       package = repo.find('google-$product-$branch')
+                       print("{0} {1}".format(package.version, package.release))
+               EOF
+       )
 
-set -- $(sed -re "s,^.+-([^-]+)-([^-]+).$arch$,\1 \2," $t)
+       ver=$1
+       rel=$2
+}
 
-rm -f $t
+if [ -n "$2" ];  then
+       ver=$2
+       rel=1
+else
+       fetch_version
+fi
 
-ver=$1
-rev=$2
+if [ -z "$ver" -o -z "$rel" ]; then
+       die "Error: xml file is missing data for ${branch} type"
+fi
 
-echo "$ver-$rev"
+# check google-chrome ver only
+oldver=$(awk '/^Version:[ \t]+/{print $NF; exit}' $specfile)
+oldrel=$(awk '/^Release:[ \t]+/{print $NF; exit}' $specfile)
+if [ "$oldrel" = "$rel" -a "$oldver" = "$ver" ]; then
+       echo "Already up to date (google-chrome/$ver-$rel)"
+       exit 0
+fi
 
-specfile=google-chrome.spec
-oldrev=$(awk '/^%define[       ]+svnrev[       ]+/{print $NF}' $specfile)
-if [ "$oldrev" != "$rev" ]; then
-       echo "Updating $specfile for $ver r$rev"
-       sed -i -e "
-               s/^\(%define[ \t]\+svnrev[ \t]\+\)[0-9]\+\$/\1$rev/
-               s/^\(Version:[ \t]\+\)[.0-9]\+\$/\1$ver/
-       " $specfile
-       ../builder -ncs -5 $specfile
-else
-       echo "Already up to date"
+# check google-chrome
+if [ "$oldrel" = "$rel" -a "$oldver" = "$ver" ]; then
+       echo "Already up to date (google-chrome/$ver-$rel)"
+       exit 0
 fi
+
+echo "Updating $specfile for google-chrome/$oldver-$oldrel -> $ver-$rel"
+sed -i -e "
+       s/^\(%define[ \t]\+state[ \t]\+\)[a-z]\+\$/\1$branch/
+       s/^\(Version:[ \t]\+\)[.0-9]\+\$/\1$ver/
+       s/^\(Release:[ \t]\+\)[.0-9]\+\$/\1$rel/
+" $specfile
+../builder -ncs -nd -n5 -g $specfile || :
+../builder -ncs -nd -5 $specfile
This page took 0.064035 seconds and 4 git commands to generate.