]> git.pld-linux.org Git - packages/libpagespeed.git/blame - get-source.sh
prefer gclient from PATH
[packages/libpagespeed.git] / get-source.sh
CommitLineData
8ccf6322
ER
1#!/bin/sh
2# Usage:
3# ./get-source.sh
4# Author: Elan Ruusamäe <glen@pld-linux.org>
5#
6# https://code.google.com/p/page-speed/wiki/HowToBuildNativeLibraries
7
8package=libpagespeed
9baseurl=http://page-speed.googlecode.com/svn/lib
10# leave empty to use latest tag, or "trunk" for trunk
11version=
12spec=$package.spec
13force=0
14
15# abort on errors
16set -e
17# work in package dir
18dir=$(dirname "$0")
19cd "$dir"
20
21if [[ "$1" = *force ]]; then
22 force=1
23 shift
24fi
25
26if [ "$1" ]; then
27 version=$1
28fi
29
30if [ -z "$version" ]; then
31 echo "Looking for latest version..."
32 version=$(svn ls $baseurl/tags/ | sort -V | tail -n1)
33 version=${version%/}
34 version=${version#lib-}
35
36 if [ -z "$version" ]; then
37 echo >&2 "Couldn't detect version from svn"
38 exit 1
39 fi
40fi
41
42if [ "$version" = "trunk" ]; then
43 echo "Using trunk"
44 svnurl=$baseurl/trunk/src
45 version=$(date +%Y%m%d)
46else
47 echo "Version: $version"
48 svnurl=$baseurl/tags/lib-$version/src
49fi
50
51release_dir=$package-$version
52tarball=$release_dir.tar.xz
53
54if [ -f $tarball -a $force != 1 ]; then
55 echo "Tarball $tarball already exists"
56 exit 0
57fi
58
59# gclient needs python 2.6
60if python -c "import sys; sys.exit(sys.version[:3] > '2.6')"; then
61 echo >&2 "Need python >= 2.6 for gclient"
62 exit 1
63fi
64
8886ce2d
ER
65gclient=$(which gclient 2>/dev/null)
66if [ -z "$gclient" ]; then
67 # http://www.chromium.org/developers/how-tos/install-depot-tools
68 test -d depot_tools || {
69 # could also checkout:
70 # svn co http://src.chromium.org/svn/trunk/tools/depot_tools
71 wget -c https://src.chromium.org/svn/trunk/tools/depot_tools.zip
72 unzip -qq depot_tools.zip
73 chmod a+x depot_tools/gclient depot_tools/update_depot_tools
74 }
75 gclient=$topdir/depot_tools/gclient
76fi
8ccf6322
ER
77
78topdir=${PWD:-($pwd)}
8886ce2d 79gclientfile=$topdir/gclient.conf
8ccf6322
ER
80install -d $package
81cd $package
82
8886ce2d 83if [ ! -f $gclientfile ]; then
8ccf6322 84 # create initial config that can be later modified
8886ce2d 85 $gclient config $svnurl --gclientfile=$gclientfile
8ccf6322
ER
86fi
87
8886ce2d 88cp -p $gclientfile .gclient
8ccf6322
ER
89
90# emulate gclient config, preserving our deps
91sed -i -re '/"url"/ s,"http[^"]+","'$svnurl'",' .gclient
92
8886ce2d 93$gclient sync --nohooks -v
8ccf6322
ER
94
95# Populate the LASTCHANGE file template as we will not include VCS info in tarball
96(cd src && svnversion > LASTCHANGE.in)
97cd ..
98
79081944
ER
99XZ_OPT=-e9 \
100tar --transform="s:^$package/src:$release_dir:" \
101 -caf $tarball --exclude-vcs $package/src
8ccf6322
ER
102
103../md5 $spec
104../dropin $tarball &
This page took 0.432265 seconds and 4 git commands to generate.