[tor-commits] [tor-browser-bundle/master] Support building an alternate 'alpha' version for FF24.
mikeperry at torproject.org
mikeperry at torproject.org
Thu Nov 7 02:41:53 UTC 2013
commit 01c6ce6472cbd341367df9b856aba08e46d51eb5
Author: Mike Perry <mikeperry-git at 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 at noscript.net.xpi
ln -sf "$PDFJS_PACKAGE" uriloader at 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/${OPENSSL_PACKAGE}
+TOOLCHAIN4_URL=https://mingw-and-ndk.googlecode.com/files/${TOOLCHAIN4_PACKAGE}
+OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSXSDK_PACKAGE}
+BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
+GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
+NOSCRIPT_URL=https://addons.cdn.mozilla.net/storage/public-staging/722/${NOSCRIPT_PACKAGE}
More information about the tor-commits
mailing list