[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