2 # Make snapshot of nacl-binutils
3 # Author: Elan Ruusamäe <glen@pld-linux.org>
7 # git clone http://git.chromium.org/native_client/nacl-binutils.git
8 # (Checkout ID taken from chromium-17.0.963.46/native_client/tools/REVISIONS)
10 # git checkout 73acd6f5f2ec5daa6e9be737ade60f03e258602b
12 # For binutils version, grep "AM_INIT_AUTOMAKE(bfd, " bfd/configure.in
13 # mv nacl-binutils nacl-binutils-2.20.1-git73acd6f
14 # tar cfj nacl-binutils-2.20.1-git73acd6f.tar.bz2 nacl-binutils-2.20.1-git73acd6f
17 repo_url=https://chromium.googlesource.com/native_client/$package
18 nacl_trunk=http://src.chromium.org/native_client/trunk
19 omahaproxy_url=http://omahaproxy.appspot.com
20 specfile=crossnacl-binutils.spec
22 chrome_channel=${1:-stable}
23 chrome_version=$(curl -s "$omahaproxy_url/all?os=linux&channel=$chrome_channel" | awk -F, 'NR > 1{print $3}')
24 test -n "$chrome_version"
25 chrome_revision=$((echo 'data='; curl -s $omahaproxy_url/revision.json?version=$chrome_version; echo ',print(data.chromium_revision)') | js)
26 test -n "$chrome_revision"
27 chrome_branch=$(IFS=.; set -- $chrome_version; echo $3)
28 test -s DEPS.py || svn cat http://src.chromium.org/chrome/branches/$chrome_branch/src/DEPS@$chrome_revision > DEPS.py
29 nacl_revision=$(awk -F'"' '/nacl_revision.:/{print $4}' DEPS.py)
30 test -n "$nacl_revision"
32 export GIT_DIR=$package.git
34 if [ ! -d $GIT_DIR ]; then
37 git remote add origin $repo_url
38 git fetch --depth 1 origin refs/heads/master:refs/remotes/origin/master
40 git fetch origin refs/heads/master:refs/remotes/origin/master
43 # get src/native_client/tools/REVISIONS directly from svn
44 test -n "$nacl_revision"
45 test -s NACL_REVISIONS.sh || svn cat $nacl_trunk/src/native_client/tools/REVISIONS@$nacl_revision > NACL_REVISIONS.sh
47 if grep -Ev '^(#|(LINUX_HEADERS_FOR_NACL|NACL_(BINUTILS|GCC|GDB|GLIBC|NEWLIB))_COMMIT=[0-9a-f]+$|)' NACL_REVISIONS.sh >&2; then
48 echo >&2 "I refuse to execute grabbed file for security concerns"
53 githash=$NACL_BINUTILS_COMMIT
54 git show $githash:bfd/configure.in > configure.in
55 version=$(awk '/AC_INIT/{v=$2; gsub(/[\[\])]*/, "",v);print v}' configure.in)
56 shorthash=$(git rev-parse --short $githash)
57 prefix=$package-$version-git$shorthash
58 archive=$prefix.tar.xz
60 if [ -f $archive ]; then
61 echo "Tarball $archive already exists at $shorthash"
62 rm -f NACL_REVISIONS.sh DEPS.py configure.in
66 git -c tar.tar.xz.command="xz -9c" archive $githash --prefix $prefix/ -o $archive
70 rm -f NACL_REVISIONS.sh DEPS.py configure.in