]> git.pld-linux.org Git - packages/apache-mod_pagespeed.git/blobdiff - get-source.sh
- icu rebuild
[packages/apache-mod_pagespeed.git] / get-source.sh
old mode 100644 (file)
new mode 100755 (executable)
index 4470869..064638a
@@ -2,37 +2,54 @@
 # Usage:
 # ./get-source.sh
 # Author: Elan Ruusamäe <glen@pld-linux.org>
+#
+# To see release notes, see this page:
+# https://developers.google.com/speed/docs/mod_pagespeed/release_notes
 
-pkg=modpagespeed
+package=modpagespeed
 baseurl=http://modpagespeed.googlecode.com/svn
 # leave empty to use latest tag, or "trunk" for trunk
 version=
 spec=apache-mod_pagespeed.spec
+force=0
 
 # abort on errors
 set -e
 # work in package dir
-dir=$(dirname "$0")
+dir=$(readlink -f $(dirname "$0"))
 cd "$dir"
 
+if [[ "$1" = *force ]]; then
+       force=1
+       shift
+fi
+
 if [ "$1" ]; then
        version=$1
 fi
 
 if [ -z "$version" ]; then
        echo "Looking for latest version..."
-       version=$(svn ls $baseurl/tags/ | sort -V | tail -n1)
+       # exclude 1.9.x beta
+       version=$(svn ls $baseurl/tags/ | grep '^[0-9]' | grep -vE '^1\.9\.' | sort -V | tail -n1)
        version=${version%/}
 fi
 
 if [ "$version" = "trunk" ]; then
        echo "Using trunk"
        svnurl=$baseurl/trunk/src
-       tarball=$pkg-$(date +%Y%m%d).tar.bz2
+       version=$(date +%Y%m%d)
 else
        echo "Version: $version"
        svnurl=$baseurl/tags/$version/src
-       tarball=$pkg-$version.tar.bz2
+fi
+
+release_dir=$package-$version
+tarball=$release_dir.tar.xz
+
+if [ -f $tarball -a $force != 1 ]; then
+       echo "Tarball $tarball already exists"
+       exit 0
 fi
 
 # gclient needs python 2.6
@@ -41,28 +58,48 @@ if python -c "import sys; sys.exit(sys.version[:3] > '2.6')"; then
        exit 1
 fi
 
-# http://www.chromium.org/developers/how-tos/install-depot-tools
-test -d depot_tools || {
-       wget -c https://src.chromium.org/svn/trunk/tools/depot_tools.zip
-       unzip -qq depot_tools.zip
-#      cd depot_tools
-#      svn upgrade
-#      cd ..
-       chmod a+x depot_tools/gclient depot_tools/update_depot_tools
-}
+gclient=$(which gclient 2>/dev/null)
+if [ -z "$gclient" ]; then
+       # http://www.chromium.org/developers/how-tos/install-depot-tools
+       test -d depot_tools || {
+               # could also checkout:
+               # svn co http://src.chromium.org/svn/trunk/tools/depot_tools
+               wget -c https://src.chromium.org/svn/trunk/tools/depot_tools.zip
+               unzip -qq depot_tools.zip
+               chmod a+x depot_tools/gclient depot_tools/update_depot_tools
+       }
+       gclient=$topdir/depot_tools/gclient
+fi
+
+topdir=${PWD:-($pwd)}
+gclientfile=$topdir/gclient.conf
+install -d $package
+cd $package
 
-install -d $pkg
-cd $pkg
-# force update
-rm -f .gclient
+if [ ! -f $gclientfile ]; then
+       # create initial config that can be later modified
+       $gclient config $svnurl --gclientfile=$gclientfile
+fi
+
+cp -p $gclientfile .gclient
+
+# emulate gclient config, preserving our deps
+sed -i -re '/"url"/ s,"http[^"]+","'$svnurl'",' .gclient
+
+$gclient sync --nohooks -v
 
-../depot_tools/gclient config $svnurl
-../depot_tools/gclient sync
+cd src
+
+sh -x $dir/clean-source.sh
 
 # Populate the LASTCHANGE file template as we will not include VCS info in tarball
-(cd src/build && svnversion > LASTCHANGE.in)
-cd ..
+./build/lastchange.sh . -o LASTCHANGE.in
+
+cd ../..
+
+XZ_OPT=-e9 \
+tar --transform="s:^$package/src:$release_dir:" \
+       -caf $tarball --exclude-vcs $package/src
 
-tar -cjf $tarball --exclude-vcs $pkg
 ../md5 $spec
 ../dropin $tarball &
This page took 0.031961 seconds and 4 git commands to generate.