# 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=
# abort on errors
set -e
# work in package dir
-dir=$(dirname "$0")
+dir=$(readlink -f $(dirname "$0"))
cd "$dir"
if [[ "$1" = *force ]]; then
if [ -z "$version" ]; then
echo "Looking for latest version..."
- version=$(svn ls $baseurl/tags/ | grep '^[0-9]' | 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.xz
+ version=$(date +%Y%m%d)
else
echo "Version: $version"
svnurl=$baseurl/tags/$version/src
- tarball=$pkg-$version.tar.xz
fi
+release_dir=$package-$version
+tarball=$release_dir.tar.xz
+
if [ -f $tarball -a $force != 1 ]; then
echo "Tarball $tarball already exists"
exit 0
exit 1
fi
-# 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
-# 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)}
-gclient=$topdir/gclient.conf
-install -d $pkg
-cd $pkg
+gclientfile=$topdir/gclient.conf
+install -d $package
+cd $package
-if [ ! -f $gclient ]; then
+if [ ! -f $gclientfile ]; then
# create initial config that can be later modified
- ../depot_tools/gclient config $svnurl --gclientfile=$gclient
+ $gclient config $svnurl --gclientfile=$gclientfile
fi
-cp $gclient .gclient
+cp -p $gclientfile .gclient
# emulate gclient config, preserving our deps
sed -i -re '/"url"/ s,"http[^"]+","'$svnurl'",' .gclient
-../depot_tools/gclient sync --nohooks -v
+$gclient sync --nohooks -v
+
+cd src
+
+sh -x $dir/clean-source.sh
# Populate the LASTCHANGE file template as we will not include VCS info in tarball
-(cd src && 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 &