Author: glen                         Date: Tue Jan 10 12:36:22 2012 GMT
Module: packages                      Tag: HEAD
---- Log message:
- update for new url format

---- Files affected:
packages/chromium-browser:
   update-source.sh (1.29 -> 1.30) 

---- Diffs:

================================================================
Index: packages/chromium-browser/update-source.sh
diff -u packages/chromium-browser/update-source.sh:1.29 
packages/chromium-browser/update-source.sh:1.30
--- packages/chromium-browser/update-source.sh:1.29     Sat Dec  3 15:28:27 2011
+++ packages/chromium-browser/update-source.sh  Tue Jan 10 13:36:16 2012
@@ -16,6 +16,54 @@
 dir=$(dirname "$0")
 cd "$dir"
 
+# extract version components from url
+# exports: $version; $release; $svndate; $svnver
+extract_version() {
+       set -x
+       local url=$1 part
+
+       part=${url#${pkg}[_-]}
+       if [[ $version = *~* ]]; then
+               # ubuntu urls
+               version=${part%~*}; part=${part#*${version}~}
+       else
+               version=${part%.tar.xz}; part=${part#*${version}.tar.xz}
+       fi
+
+       # release always 1 :)
+       release=1
+       if [ "$part" != "${part%%svn*}" ]; then
+               svndate=${part#svn*}; svndate=${svndate%%r*}
+               part=${part#svn${svndate}}
+       else
+               svndate='%{nil}'
+       fi
+       svnver=${part#r}; svnver=${svnver%%.*}
+}
+
+url2version() {
+       local url=$1
+
+       echo "${url}" | sed -e "
+               s,$version,%{version},g
+               s,$release,%{release},g
+               s,$svndate,%{svndate},g
+               s,$svnver,%{svnver},g
+       "
+}
+
+# setup url from template
+version2url() {
+       local url=$1
+
+       echo "${url}" | sed -e "
+               s,%{version},$version,g
+               s,%{release},$release,g
+               s,%{svndate},$svndate,g
+               s,%{svnver},$svnver,g
+       "
+}
+
 # abort on errors
 set -e
 
@@ -38,7 +86,7 @@
                exit 1
        fi
        echo "Fetching latest tarball name..."
-       urls=$(lynx -dump $baseurl/ | awk '/[0-9]+\. .*orig\.tar\.gz/{print 
$NF}')
+       urls=$(lynx -width 200 -dump $baseurl/ | awk '/[0-9]+\. .*\.tar/{print 
$NF}')
        # unescape "~" encoded by lighttpd
        url=$(echo "$urls" | sed -e 's,%7e,~,gi' | sort -Vr | head -n1)
 fi
@@ -51,19 +99,21 @@
 tarball=${url##*/}
 echo "tarball: $tarball..."
 
+
 if [ ! -f $tarball ]; then
        if [ ! -x /usr/bin/wget ]; then
                echo >&2 "${1##*/}: need wget to fetch tarball"
                exit 1
        fi
        wget $(test "$quiet" = "1" && echo -q) -c $url
-       upload=$tarball
 fi
 
-
 # cvs up specfile, rename in case of conflicts
 cvs up $specfile || { set -x; mv -b $specfile $specfile.old && cvs up 
$specfile; }
 
+extract_version $tarball
+url_tpl=$(url2version $tarball)
+
 svndate=$(awk '/^%define[      ]+svndate[      ]+/{print $NF}' $specfile)
 svnver=$(awk '/^%define[       ]+svnver[       ]+/{print $NF}' $specfile)
 version=$(awk '/^Version:[     ]+/{print $NF}' $specfile)
@@ -72,7 +122,8 @@
        svndate=
 fi
 
-newtar=${pkg}_${version}~${svndate:+svn${svndate}}r${svnver}.orig.tar.gz
+newtar=$(version2url $url_tpl)
+
 if [ "$newtar" = "$tarball" ]; then
        echo "$specfile already up to $newtar"
 
@@ -82,16 +133,7 @@
        fi
 else
        echo "Updating $specfile to $tarball"
-       part=${tarball#${pkg}_}
-       version=${part%~*}; part=${part#*${version}~}
-       release=1
-       if [ "$part" != "${part%%svn*}" ]; then
-               svndate=${part#svn*}; svndate=${svndate%%r*}
-               part=${part#svn${svndate}}
-       else
-               svndate='%{nil}'
-       fi
-       svnver=${part#r}; svnver=${svnver%%.*}
+       extract_version $tarball
 
        sed -i -e "
                s/^\(%define[ \t]\+svnver[ \t]\+\)[0-9]\+\$/\1$svnver/
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/chromium-browser/update-source.sh?r1=1.29&r2=1.30&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to