commit 93661cb779aada9774ea3076f983dbb8d342f1a5 Author: Georg Koppen gk@torproject.org Date: Fri Jul 21 08:14:04 2017 +0000
Bug 20848: Deploy Selfrando in 32bit Linux builds --- gitian/descriptors/linux/gitian-firefox.yml | 22 +++++---------- gitian/descriptors/linux/gitian-utils.yml | 44 +++++++++++------------------ gitian/mkbundle-linux.sh | 5 +++- gitian/versions.alpha | 2 +- gitian/versions.nightly | 2 +- 5 files changed, 30 insertions(+), 45 deletions(-)
diff --git a/gitian/descriptors/linux/gitian-firefox.yml b/gitian/descriptors/linux/gitian-firefox.yml index 9edcb3a..5710c91 100644 --- a/gitian/descriptors/linux/gitian-firefox.yml +++ b/gitian/descriptors/linux/gitian-firefox.yml @@ -34,12 +34,12 @@ files: - "binutils-linux64-utils.zip" - "gcc-linux32-utils.zip" - "gcc-linux64-utils.zip" +- "selfrando-linux32-utils.zip" +- "selfrando-linux64-utils.zip" - "get-moz-build-date" - "re-dzip.sh" - "dzip.sh" - "versions" -# XXX: 64bits only for now :(, see #20683. -- "selfrando-linux64-utils.zip" script: | source versions INSTDIR="$HOME/install" @@ -57,11 +57,7 @@ script: | export DEB_BUILD_HARDENING_FORMAT=1 export DEB_BUILD_HARDENING_PIE=1 # - # XXX: 64bits only for now :(, see #20683. - if [ $GBUILD_BITS == "64" ]; - then - unzip -d $INSTDIR selfrando-linux64-utils.zip - fi + unzip -d $INSTDIR selfrando-linux$GBUILD_BITS-utils.zip # Preparing Binutils and GCC for Tor Browser unzip -d $INSTDIR binutils-linux$GBUILD_BITS-utils.zip unzip -d $INSTDIR gcc-linux$GBUILD_BITS-utils.zip @@ -86,14 +82,10 @@ script: | find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME" rm -f configure rm -f js/src/configure - # XXX: 64bits only for now :(, see #20683. - if [ $GBUILD_BITS == "64" ]; - then - # Selfrando wrapper - export PATH="$HOME/build/selfrando/Tools/TorBrowser/tc-wrapper/:$PATH" - # We need to avoid the shuffling while building as this breaks compilation - export SELFRANDO_skip_shuffle= - fi + # Selfrando wrapper + export PATH="$HOME/build/selfrando/Tools/TorBrowser/tc-wrapper/:$PATH" + # We need to avoid the shuffling while building as this breaks compilation + export SELFRANDO_skip_shuffle= make -f client.mk configure CONFIGURE_ARGS="--with-tor-browser-version=${TORBROWSER_VERSION} --with-distribution-id=org.torproject --enable-update-channel=${TORBROWSER_UPDATE_CHANNEL} --enable-bundled-fonts" find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME" make $MAKEOPTS -f client.mk build diff --git a/gitian/descriptors/linux/gitian-utils.yml b/gitian/descriptors/linux/gitian-utils.yml index 2680f1b..87f2a03 100644 --- a/gitian/descriptors/linux/gitian-utils.yml +++ b/gitian/descriptors/linux/gitian-utils.yml @@ -59,9 +59,11 @@ script: | export DEB_BUILD_HARDENING_PIE=1
ARCH="" + SR_ARCH="x86" if [ $GBUILD_BITS == "64" ]; then ARCH="64" + SR_ARCH="x86_64" fi
# Building Binutils @@ -77,11 +79,7 @@ script: | cd binutils* # We need to work around a gold linker bug in 2.24 to get selfrando working, # see bug 20683. - # XXX: 64bits only for now :(, see #20683. - if [ $GBUILD_BITS == "64" ]; - then - patch -p1 < ../binutils-224-gold.patch - fi + patch -p1 < ../binutils-224-gold.patch # We want to use gold as the linker in our toolchain mainly as it is way # faster when linking Tor Browser code (especially libxul). But apart from # that it fixes #12103 and issues with ESR 31 and our Gitian setup as well @@ -129,24 +127,20 @@ script: | export PATH="$INSTDIR/binutils/bin:$INSTDIR/gcc/bin:$PATH" export LD_LIBRARY_PATH="$INSTDIR/gcc/lib$ARCH"
- # XXX: 64bits only for now :(, see #20683. - if [ $GBUILD_BITS == "64" ]; - then - # Building Elfutils - tar xjf elfutils.tar.bz2 - cd elfutils*/ - ./configure --prefix=$INSTDIR/elfutils - make $MAKEOPTS - make install - cd .. + # Building Elfutils + tar xjf elfutils.tar.bz2 + cd elfutils*/ + ./configure --prefix=$INSTDIR/elfutils + make $MAKEOPTS + make install + cd ..
- # Building Selfrando - cd selfrando - scons -Q arch=x86_64 LIBELF_PATH="$INSTDIR/elfutils" FORCE_INPLACE=1 DEBUG_LEVEL=env WRITE_LAYOUTS=env LOG=console - mkdir -p $INSTDIR/selfrando - cp out/x86_64/bin/* $INSTDIR/selfrando/ - cd .. - fi + # Building Selfrando + cd selfrando + scons -Q arch=$SR_ARCH LIBELF_PATH="$INSTDIR/elfutils" FORCE_INPLACE=1 DEBUG_LEVEL=env WRITE_LAYOUTS=env LOG=console + mkdir -p $INSTDIR/selfrando + cp out/$SR_ARCH/bin/* $INSTDIR/selfrando/ + cd ..
# Building Libevent cd libevent @@ -221,9 +215,5 @@ script: | ~/build/dzip.sh libevent-${LIBEVENT_TAG#release-}-linux$GBUILD_BITS-utils.zip libevent ~/build/dzip.sh gmp-$GMP_VER-linux$GBUILD_BITS-utils.zip gmp ~/build/dzip.sh go-$GO_VER-linux$GBUILD_BITS-utils.zip go - # XXX: 64bits only for now :(, see #20683. - if [ $GBUILD_BITS == "64" ]; - then - ~/build/dzip.sh selfrando-$SELFRANDO_TAG-linux$GBUILD_BITS-utils.zip selfrando - fi + ~/build/dzip.sh selfrando-$SELFRANDO_TAG-linux$GBUILD_BITS-utils.zip selfrando cp *utils.zip $OUTDIR/ diff --git a/gitian/mkbundle-linux.sh b/gitian/mkbundle-linux.sh index 0a1613f..d348ca5 100755 --- a/gitian/mkbundle-linux.sh +++ b/gitian/mkbundle-linux.sh @@ -96,10 +96,10 @@ then PYPTLIB_TAG=refs/tags/$PYPTLIB_TAG OBFSPROXY_TAG=refs/tags/$OBFSPROXY_TAG OBFS4_TAG=refs/tags/$OBFS4_TAG + SELFRANDO_TAG=refs/tags/$SELFRANDO_TAG fi
cd $GITIAN_DIR -# XXX: 64bits selfrando only for now :(, see #20683. if [ ! -f inputs/binutils-$BINUTILS_VER-linux32-utils.zip -o \ ! -f inputs/binutils-$BINUTILS_VER-linux64-utils.zip -o \ ! -f inputs/gcc-$GCC_VER-linux32-utils.zip -o \ @@ -112,6 +112,7 @@ if [ ! -f inputs/binutils-$BINUTILS_VER-linux32-utils.zip -o \ ! -f inputs/gmp-$GMP_VER-linux64-utils.zip -o \ ! -f inputs/go-$GO_VER-linux32-utils.zip -o \ ! -f inputs/go-$GO_VER-linux64-utils.zip -o \ + ! -f inputs/selfrando-$SELFRANDO_TAG-linux32-utils.zip -o \ ! -f inputs/selfrando-$SELFRANDO_TAG-linux64-utils.zip ]; then echo @@ -139,6 +140,7 @@ then ln -sf gmp-$GMP_VER-linux64-utils.zip gmp-linux64-utils.zip ln -sf go-$GO_VER-linux32-utils.zip go-linux32-utils.zip ln -sf go-$GO_VER-linux64-utils.zip go-linux64-utils.zip + ln -sf selfrando-$SELFRANDO_TAG-linux32-utils.zip selfrando-linux32-utils.zip ln -sf selfrando-$SELFRANDO_TAG-linux64-utils.zip selfrando-linux64-utils.zip cd .. #cp -a result/utils-linux-res.yml inputs/ @@ -161,6 +163,7 @@ else ln -sf gmp-$GMP_VER-linux64-utils.zip gmp-linux64-utils.zip ln -sf go-$GO_VER-linux32-utils.zip go-linux32-utils.zip ln -sf go-$GO_VER-linux64-utils.zip go-linux64-utils.zip + ln -sf selfrando-$SELFRANDO_TAG-linux32-utils.zip selfrando-linux32-utils.zip ln -sf selfrando-$SELFRANDO_TAG-linux64-utils.zip selfrando-linux64-utils.zip cd .. fi diff --git a/gitian/versions.alpha b/gitian/versions.alpha index 17d3849..c35c51b 100755 --- a/gitian/versions.alpha +++ b/gitian/versions.alpha @@ -47,7 +47,7 @@ WEBRTC_TAG=c279861207c5b15fc51069e96595782350e0ac12 # https://chromium.googlesou GO_WEBRTC_TAG=ab1b64862e0c4b4182010699911c2c5818f0a101 SNOWFLAKE_TAG=9f2e9a6ecb696149708716ca06ce842df03cf492 UNIURI_TAG=8902c56451e9b58ff940bbe5fec35d5f9c04584a -SELFRANDO_TAG=tb-v0.2 +SELFRANDO_TAG=tb-v0.3.2
GITIAN_TAG=tor-browser-builder-4-4
diff --git a/gitian/versions.nightly b/gitian/versions.nightly index 1f392c3..a2062bd 100755 --- a/gitian/versions.nightly +++ b/gitian/versions.nightly @@ -50,7 +50,7 @@ WEBRTC_TAG=c279861207c5b15fc51069e96595782350e0ac12 # https://chromium.googlesou GO_WEBRTC_TAG=master SNOWFLAKE_TAG=master UNIURI_TAG=master -SELFRANDO_TAG=tb-v0.2 +SELFRANDO_TAG=tb-v0.3.2
GITIAN_TAG=tor-browser-builder-4
tor-commits@lists.torproject.org