[tor-commits] [tor-browser-bundle/master] Bug 20848: Deploy Selfrando in 32bit Linux builds

gk at torproject.org gk at torproject.org
Mon Jul 31 17:23:33 UTC 2017


commit 93661cb779aada9774ea3076f983dbb8d342f1a5
Author: Georg Koppen <gk at 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
 



More information about the tor-commits mailing list