]> git.pld-linux.org Git - packages/crossnacl-newlib.git/blame - get-source.sh
use xz source
[packages/crossnacl-newlib.git] / get-source.sh
CommitLineData
74e16817
ER
1#!/bin/sh
2# Make snapshot of nacl-binutils
3# Author: Elan Ruusamäe <glen@pld-linux.org>
74e16817
ER
4set -e
5
6# Generated from git
7# git clone http://git.chromium.org/native_client/nacl-newlib.git
8# (Checkout ID taken from chromium-15.0.874.106/native_client/tools/REVISIONS)
9# cd nacl-newlib
10# git checkout f5185a5726155efb578d4d0f6537bc15ee5edb7d
11# cd ..
12# For newlib version, grep PACKAGE_VERSION newlib/libm/configure
13# mv nacl-newlib nacl-newlib-1.18.0-gitf5185a57
14# tar cfj nacl-newlib-1.18.0-gitf5185a57.tar.bz2 nacl-newlib-1.18.0-gitf5185a57
15
16package=nacl-newlib
17repo_url=http://git.chromium.org/native_client/$package.git
ead93dd4 18nacl_trunk=http://src.chromium.org/native_client/trunk
78a56c9e 19omahaproxy_url=https://omahaproxy.appspot.com
74e16817
ER
20specfile=crossnacl-newlib.spec
21
22# if you get errors that sha1 hash not found, try increasing depth
23# fatal: Path 'gcc/BASE-VER' does not exist in 'c69a5b7252d2f073d0f526800e4fca3b63cd1fab'
24depth=
25
dfcb00b2 26chrome_channel=${1:-stable}
78a56c9e 27chrome_version=$(curl -s "$omahaproxy_url/?os=linux&channel=$chrome_channel" | awk -F, 'NR > 1{print $3}')
faeb5e35 28test -n "$chrome_version"
78a56c9e 29chrome_revision=$(curl -s $omahaproxy_url/revision?version=$chrome_version)
faeb5e35 30test -n "$chrome_revision"
74e16817 31chrome_branch=$(IFS=.; set -- $chrome_version; echo $3)
78a56c9e 32
74e16817
ER
33test -e DEPS.py || svn cat http://src.chromium.org/chrome/branches/$chrome_branch/src/DEPS@$chrome_revision > DEPS.py
34nacl_revision=$(awk -F'"' '/nacl_revision.:/{print $4}' DEPS.py)
faeb5e35 35test -n "$nacl_revision"
74e16817
ER
36
37export GIT_DIR=$package/.git
38
39if [ ! -d $package ]; then
40 install -d $package
41 git init
42 git remote add origin $repo_url
43 git fetch ${depth:+--depth $depth} origin refs/heads/master:refs/remotes/origin/master
44else
45 git fetch origin refs/heads/master:refs/remotes/origin/master
46fi
47
48# get src/native_client/tools/REVISIONS directly from svn
faeb5e35 49test -n "$nacl_revision"
61543cf2 50test -e NACL_REVISIONS.sh || svn cat $nacl_trunk/src/native_client/tools/REVISIONS@$nacl_revision > NACL_REVISIONS.sh
74e16817
ER
51
52if grep -Ev '^(#|(LINUX_HEADERS_FOR_NACL|NACL_(BINUTILS|GCC|GDB|GLIBC|NEWLIB))_COMMIT=[0-9a-f]+$|)' NACL_REVISIONS.sh >&2; then
53 echo >&2 "I refuse to execute grabbed file for security concerns"
54 exit 1
55fi
56. ./NACL_REVISIONS.sh
57
58githash=$NACL_NEWLIB_COMMIT
59git show $githash:newlib/libm/configure > configure
60version=$(awk -F"'" '/PACKAGE_VERSION=/{print $2}' configure)
61shorthash=$(git rev-parse --short $githash)
62prefix=$package-$version-git$shorthash
63
462cb7b4
ER
64if [ -f $prefix.tar.xz ]; then
65 echo "Tarball $prefix.tar.xz already exists at $shorthash"
61543cf2 66else
74e16817 67 git archive $githash --prefix $prefix/ > $prefix.tar
462cb7b4 68 xz -9 $prefix.tar
74e16817 69
462cb7b4 70 ../dropin $prefix.tar.xz
74e16817
ER
71fi
72
73# We need to copy some missing header files from chromium
74# mkdir ~/nacl-headers-15.0.874.106
75# cd chromium-15.0.874.106/native_client/
76# ./src/trusted/service_runtime/export_header.py src/trusted/service_runtime/include ~/nacl-headers-15.0.874.106/
77# cd ~/nacl-headers-15.0.874.106
78# tar cfj ~/nacl-headers-15.0.874.106.tar.bz2 .
79
74e16817
ER
80package=nacl-headers
81prefix=$package-$chrome_version
462cb7b4
ER
82if [ -f $prefix.tar.xz ]; then
83 echo "Tarball $prefix.tar.xz already exists"
ad4b851c 84else
ead93dd4 85 svn co $nacl_trunk/src/native_client/src/trusted/service_runtime@$nacl_revision $package
ad4b851c
ER
86 cd $package
87 ./export_header.py include ../$prefix
88 cd ..
462cb7b4
ER
89 tar -cf $prefix.tar --exclude-vcs $prefix
90 xz -9 $prefix.tar
91 ../dropin $prefix.tar.xz
74e16817 92fi
ad4b851c
ER
93
94# Taken from chromium-15.0.874.106/native_client/tools/newlib-libc-script
ead93dd4 95svn cat $nacl_trunk/src/native_client/tools/newlib-libc-script@$nacl_revision > newlib-libc-script
ad4b851c
ER
96
97# Taken from chromium-15.0.874.106/native_client/src/untrusted/pthread/pthread.h
ead93dd4 98svn cat $nacl_trunk/src/native_client/src/untrusted/pthread/pthread.h@$nacl_revision > pthread.h
74e16817
ER
99
100rm -f NACL_REVISIONS.sh DEPS.py configure
This page took 0.60815 seconds and 4 git commands to generate.