commit 01c6ce6472cbd341367df9b856aba08e46d51eb5 Author: Mike Perry mikeperry-git@torproject.org Date: Wed Nov 6 18:41:18 2013 -0800
Support building an alternate 'alpha' version for FF24. --- gitian/Makefile | 16 +++++++++++++-- gitian/README.build | 18 +++++++++------- gitian/fetch-inputs.sh | 30 +++++++++++++++------------ gitian/mkbundle-linux.sh | 7 ++++++- gitian/mkbundle-mac.sh | 7 ++++++- gitian/mkbundle-windows.sh | 7 ++++++- gitian/versions.alpha | 49 ++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 109 insertions(+), 25 deletions(-)
diff --git a/gitian/Makefile b/gitian/Makefile index d34b59a..7fe3894 100644 --- a/gitian/Makefile +++ b/gitian/Makefile @@ -1,20 +1,32 @@ all: clean prep build
+alpha: clean prep-alpha build-alpha + build: ./mkbundle-linux.sh ./mkbundle-windows.sh ./mkbundle-mac.sh ./hash-bundles.sh
+build-alpha: + ./mkbundle-linux.sh versions.alpha + ./mkbundle-windows.sh versions.alpha + ./mkbundle-mac.sh versions.alpha + ./hash-bundles.sh + prep: ./check-prerequisites.sh - torsocks ./fetch-inputs.sh ../../gitian-builder/inputs/ + torsocks ./fetch-inputs.sh ../../gitian-builder/inputs/ versions + +prep-alpha: + ./check-prerequisites.sh + torsocks ./fetch-inputs.sh ../../gitian-builder/inputs/ versions.alpha
clean: rm -f ../../gitian-builder/inputs/*gbuilt* rm -f ../../gitian-builder/inputs/*.yml rm -f ../../gitian-builder/inputs/bundle.inputs - rm -f ../../gitian-builder/inputs/versions + rm -f ../../gitian-builder/inputs/versions* rm -f ../../gitian-builder/inputs/*debug.zip
vmclean: diff --git a/gitian/README.build b/gitian/README.build index 2cfd53f..07ea652 100644 --- a/gitian/README.build +++ b/gitian/README.build @@ -5,7 +5,7 @@ QuickStart: $ make
This will check all of your prerequisites and tell you what you need to - do to get started. + do to get started to build the stable TBB.
If everything checks out OK, it will begin downloading dependencies, and then start the build process to produce localized Linux bundles, followed by @@ -37,12 +37,16 @@ Detailed Explanation of Scripts: several helper scripts to make things easier.
0. Makefile: The main Makefile. It has six main commands: - - prep: Check OS prerequisites and download source dependency inputs - - build: Build localized bundles for Linux, Windows, and Mac - - clean: Remove prior partial build stages (Tor and Firefox) - - vmclean: Remove VM base images - - distclean: Remove source dependency inputs, and run clean and vmclean - - all: The default. It calls clean, prep, and then build. + - prep: Check OS prerequisites and download source dependency inputs + - build: Build localized bundles for Linux, Windows, and Mac + - clean: Remove prior partial build stages (Tor and Firefox) + - vmclean: Remove VM base images + - distclean: Remove source dependency inputs, and run clean and vmclean + - all: The default. It calls clean, prep, and then build. + To build alpha bundles, alternate targets are provided: + - alpha: The equivalent to the 'all' rule for alpha packages + - build-alpha: The equivalent to the 'build' rule for alpha packages + - prep-alpha: The equivalent to the 'prep' rule for alpha packages
1. check-prerequisites.sh: This script checks if your system is capable of running Gitian, and if it is not, it tells you what you need to do. diff --git a/gitian/fetch-inputs.sh b/gitian/fetch-inputs.sh index 2d345ce..7320c74 100755 --- a/gitian/fetch-inputs.sh +++ b/gitian/fetch-inputs.sh @@ -13,18 +13,18 @@ if ! [ -e ./versions ]; then exit 1 fi
-. ./versions - WRAPPER_DIR=$(dirname "$0") WRAPPER_DIR=$(readlink -f "$WRAPPER_DIR")
-if [ "$#" -gt 1 ]; then - echo >&2 "Usage: $0 [<inputsdir>]" - exit 1 -elif [ "$#" = 1 ]; then +if [ "$#" = 1 ]; then INPUTS_DIR="$1" -else + . ./versions +elif [ "$#" = 2 ]; then INPUTS_DIR="$PWD/../../gitian-builder/inputs" + . $2 +else + echo >&2 "Usage: $0 [<inputsdir> <versions>]" + exit 1 fi
mkdir -p "$INPUTS_DIR" @@ -180,9 +180,11 @@ do fi done
-mkdir -p linux-langpacks -mkdir -p win32-langpacks -mkdir -p mac-langpacks +mkdir -p langpacks-$FIREFOX_LANG_VER/linux-langpacks +mkdir -p langpacks-$FIREFOX_LANG_VER/win32-langpacks +mkdir -p langpacks-$FIREFOX_LANG_VER/mac-langpacks + +cd langpacks-$FIREFOX_LANG_VER
for i in $BUNDLE_LOCALES do @@ -197,9 +199,11 @@ do cd .. done
-"$WRAPPER_DIR/build-helpers/dzip.sh" win32-langpacks.zip win32-langpacks -"$WRAPPER_DIR/build-helpers/dzip.sh" linux-langpacks.zip linux-langpacks -"$WRAPPER_DIR/build-helpers/dzip.sh" mac-langpacks.zip mac-langpacks +"$WRAPPER_DIR/build-helpers/dzip.sh" ../win32-langpacks.zip win32-langpacks +"$WRAPPER_DIR/build-helpers/dzip.sh" ../linux-langpacks.zip linux-langpacks +"$WRAPPER_DIR/build-helpers/dzip.sh" ../mac-langpacks.zip mac-langpacks + +cd ..
ln -sf "$NOSCRIPT_PACKAGE" noscript@noscript.net.xpi ln -sf "$PDFJS_PACKAGE" uriloader@pdf.js.xpi diff --git a/gitian/mkbundle-linux.sh b/gitian/mkbundle-linux.sh index e4bb857..09cbdd4 100755 --- a/gitian/mkbundle-linux.sh +++ b/gitian/mkbundle-linux.sh @@ -3,7 +3,12 @@ # This is a simple wrapper script to call out to gitian and assemble # a bundle based on gitian's output.
-. ./versions +if [ -z "$1" ]; +then + . ./versions +else + . $1 +fi
WRAPPER_DIR=$PWD GITIAN_DIR=$PWD/../../gitian-builder diff --git a/gitian/mkbundle-mac.sh b/gitian/mkbundle-mac.sh index 68b7786..97d9535 100755 --- a/gitian/mkbundle-mac.sh +++ b/gitian/mkbundle-mac.sh @@ -3,7 +3,12 @@ # This is a simple wrapper script to call out to gitian and assemble # a bundle based on gitian's output.
-. ./versions +if [ -z "$1" ]; +then + . ./versions +else + . $1 +fi
WRAPPER_DIR=$PWD GITIAN_DIR=$PWD/../../gitian-builder diff --git a/gitian/mkbundle-windows.sh b/gitian/mkbundle-windows.sh index 92ac0c9..a542099 100755 --- a/gitian/mkbundle-windows.sh +++ b/gitian/mkbundle-windows.sh @@ -3,7 +3,12 @@ # This is a simple wrapper script to call out to gitian and assemble # a bundle based on gitian's output.
-. ./versions +if [ -z "$1" ]; +then + . ./versions +else + . $1 +fi
WRAPPER_DIR=$PWD GITIAN_DIR=$PWD/../../gitian-builder diff --git a/gitian/versions.alpha b/gitian/versions.alpha new file mode 100755 index 0000000..83d6b5d --- /dev/null +++ b/gitian/versions.alpha @@ -0,0 +1,49 @@ +TORBROWSER_VERSION=3.5-alpha-1 +BUNDLE_LOCALES="de es-ES fa fr it ko nl pl pt-PT ru vi zh-CN" + +VERIFY_TAGS=0 + +TORBROWSER_TAG=tor-browser-24.1.0esr-1 +TOR_TAG=tor-0.2.4.17-rc +TORLAUNCHER_TAG=0.2.3.1-beta +TORBUTTON_TAG=1.6.4 +HTTPSE_TAG=3.4.2 +NSIS_TAG=v0.1 +ZLIB_TAG=v1.2.8 +LIBEVENT_TAG=release-2.0.21-stable +MINGW_REV=5830 + +GITIAN_TAG=tor-browser-builder-3.0-4 + +OPENSSL_VER=1.0.1e +FIREFOX_LANG_VER=24.1.0esr +BINUTILS_VER=2.22 +GCC_VER=4.6.3 + +## File names for the source packages +OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz +NOSCRIPT_PACKAGE=noscript_security_suite-2.6.8.2-fx+fn+sm.xpi +PDFJS_PACKAGE=pdf_viewer-0.8.1-sm+fx+an.xpi +TOOLCHAIN4_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz +OSXSDK_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb +MINGW_PACKAGE=mingw-w64-svn-snapshot.zip +MSVCR100_PACKAGE=msvcr100.dll +BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2 +GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2 + +# Hashes for packages with weak sigs or no sigs +OPENSSL_HASH=f74f15e8c8ff11aa3d5bb5f276d202ec18d7246e95f961db76054199c69c1ae3 +OSXSDK_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc +TOOLCHAIN4_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9 +NOSCRIPT_HASH=52b309f2e5ca1bee4d0f97cbb342fdac3be6a447c35f744a90348df55eea635f +PDFJS_HASH=2e3e6811f5294b24aafeba44e8206ddc81fb15e5934e5166a2c7df3a4405020b +MINGW_HASH=457f11d29f6e95425d190711a73955fa54a98a2113ce2c2bfd76291be71e3e2b +MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067 + +## Non-git package URLs +OPENSSL_URL=https://www.openssl.org/source/$%7BOPENSSL_PACKAGE%7D +TOOLCHAIN4_URL=https://mingw-and-ndk.googlecode.com/files/$%7BTOOLCHAIN4_PACKAGE%7D +OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/$%7BOSXSDK_PACKAG... +BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/$%7BBINUTILS_PACKAGE%7D +GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-$%7BGCC_VER%7D/$%7BGCC_PACKAGE%7D +NOSCRIPT_URL=https://addons.cdn.mozilla.net/storage/public-staging/722/$%7BNOSCRIPT_PACKA...
tor-commits@lists.torproject.org