[tbb-commits] [tor-browser-bundle/master] Bug 17383: Fix rsync freeze in bundling steps

gk at torproject.org gk at torproject.org
Tue Oct 20 13:28:27 UTC 2015


commit 246c96b8ed02b52f44fe2d5eaf0246038b12f3d4
Author: Georg Koppen <gk at torproject.org>
Date:   Tue Oct 20 09:08:18 2015 +0000

    Bug 17383: Fix rsync freeze in bundling steps
---
 gitian/descriptors/linux/gitian-bundle.yml   |   16 ++++++++++++----
 gitian/descriptors/mac/gitian-bundle.yml     |   16 ++++++++++++----
 gitian/descriptors/windows/gitian-bundle.yml |   16 ++++++++++++----
 gitian/mkbundle-linux.sh                     |    2 +-
 gitian/mkbundle-mac.sh                       |    2 +-
 gitian/mkbundle-windows.sh                   |    2 +-
 6 files changed, 39 insertions(+), 15 deletions(-)

diff --git a/gitian/descriptors/linux/gitian-bundle.yml b/gitian/descriptors/linux/gitian-bundle.yml
index 8cd38b6..1a6776d 100644
--- a/gitian/descriptors/linux/gitian-bundle.yml
+++ b/gitian/descriptors/linux/gitian-bundle.yml
@@ -6,7 +6,6 @@ architectures:
 - "i386"
 - "amd64"
 packages:
-- "faketime"
 - "unzip"
 - "zip"
 # These three packages are needed for assembling the HTTPS-Everywhere rules
@@ -26,6 +25,8 @@ remotes:
   "dir": "meek"
 - "url": "https://github.com/googlei18n/noto-fonts.git"
   "dir": "noto-fonts"
+- "url": "https://github.com/wolfcw/libfaketime"
+  "dir": "faketime"
 files:
 # TODO: Can we use an env for this file+version??
 - "tor-browser-linux32-gbuilt.zip"
@@ -59,13 +60,20 @@ script: |
   INSTDIR="$HOME/install"
   source versions
   export LIBRARY_PATH="$INSTDIR/lib"
-  export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
-  export FAKETIME=$REFERENCE_DATETIME
   export TZ=UTC
   export LC_ALL=C
   export TORBROWSER_VERSION=`cat bare-version`
   umask 0022
-  #
+
+  # Building libfaketime
+  cd faketime
+  make
+  DESTDIR="$INSTDIR/faketime" make install
+  export LD_PRELOAD="$INSTDIR/faketime/usr/local/lib/faketime/libfaketime.so.1"
+  export FAKETIME=$REFERENCE_DATETIME
+  export FAKETIME_SKIP_CMDS="rsync"
+  cd ..
+
   mkdir -p $OUTDIR/
   mkdir -p tor-browser/Browser/TorBrowser/Data/Browser/profile.default/extensions/https-everywhere-eff at eff.org
   mkdir -p tor-browser/Browser/TorBrowser/Data/Browser/profile.meek-http-helper/extensions
diff --git a/gitian/descriptors/mac/gitian-bundle.yml b/gitian/descriptors/mac/gitian-bundle.yml
index c4477e2..f24e521 100644
--- a/gitian/descriptors/mac/gitian-bundle.yml
+++ b/gitian/descriptors/mac/gitian-bundle.yml
@@ -5,7 +5,6 @@ suites:
 architectures:
 - "amd64"
 packages:
-- "faketime"
 - "unzip"
 - "zip"
 # These three packages are needed for assembling the HTTPS-Everywhere rules
@@ -32,6 +31,8 @@ remotes:
   "dir": "meek"
 - "url": "https://github.com/googlei18n/noto-fonts.git"
   "dir": "noto-fonts"
+- "url": "https://github.com/wolfcw/libfaketime"
+  "dir": "faketime"
 files:
 # TODO: Can we use an env for this file+version??
 - "tor-browser-mac64-gbuilt.zip"
@@ -61,15 +62,22 @@ script: |
   INSTDIR="$HOME/install"
   source versions
   export LIBRARY_PATH="$INSTDIR/lib"
-  export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
-  export FAKETIME=$REFERENCE_DATETIME
   export TZ=UTC
   export TORBROWSER_VERSION=`cat bare-version`
   export LC_ALL=C
   umask 0022
   export TORBROWSER_APP="TorBrowser"
   export TORBROWSER_NAME="TorBrowserBundle"
-  #
+
+  # Building libfaketime.
+  cd faketime
+  make
+  DESTDIR="$INSTDIR/faketime" make install
+  export LD_PRELOAD="$INSTDIR/faketime/usr/local/lib/faketime/libfaketime.so.1"
+  export FAKETIME=$REFERENCE_DATETIME
+  export FAKETIME_SKIP_CMDS="rsync"
+  cd ..
+
   # Extract the MAR tools.
   unzip -d ~/build ~/build/mar-tools-mac$GBUILD_BITS.zip
   MARTOOLS=~/build/mar-tools
diff --git a/gitian/descriptors/windows/gitian-bundle.yml b/gitian/descriptors/windows/gitian-bundle.yml
index dc8ad05..b54d562 100644
--- a/gitian/descriptors/windows/gitian-bundle.yml
+++ b/gitian/descriptors/windows/gitian-bundle.yml
@@ -5,7 +5,6 @@ suites:
 architectures:
 - "i386"
 packages:
-- "faketime"
 - "unzip"
 - "zip"
 - "nsis"
@@ -31,6 +30,8 @@ remotes:
   "dir": "meek"
 - "url": "https://github.com/googlei18n/noto-fonts.git"
   "dir": "noto-fonts"
+- "url": "https://github.com/wolfcw/libfaketime"
+  "dir": "faketime"
 files:
 # TODO: Can we use an env for this file+version??
 - "tor-browser-win32-gbuilt.zip"
@@ -53,13 +54,20 @@ script: |
   INSTDIR="$HOME/install"
   source versions
   export LIBRARY_PATH="$INSTDIR/lib"
-  export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
-  export FAKETIME=$REFERENCE_DATETIME
   export TZ=UTC
   export TORBROWSER_VERSION=`cat bare-version`
   export LC_ALL=C
   umask 0022
-  #
+
+  # Building libfaketime
+  cd faketime
+  make
+  DESTDIR="$INSTDIR/faketime" make install
+  export LD_PRELOAD="$INSTDIR/faketime/usr/local/lib/faketime/libfaketime.so.1"
+  export FAKETIME=$REFERENCE_DATETIME
+  export FAKETIME_SKIP_CMDS="rsync"
+  cd ..
+
   # Extract the MAR tools.
   unzip -d ~/build ~/build/mar-tools-win32.zip
   MARTOOLS=~/build/mar-tools
diff --git a/gitian/mkbundle-linux.sh b/gitian/mkbundle-linux.sh
index 65af74e..7e84cb9 100755
--- a/gitian/mkbundle-linux.sh
+++ b/gitian/mkbundle-linux.sh
@@ -247,7 +247,7 @@ then
 
   cd $WRAPPER_DIR && ./record-inputs.sh $VERSIONS_FILE && cd $GITIAN_DIR
 
-  ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit https-everywhere=$HTTPSE_TAG,tor-launcher=$TORLAUNCHER_TAG,torbutton=$TORBUTTON_TAG,meek=$MEEK_TAG,noto-fonts=$NOTOFONTS_TAG $DESCRIPTOR_DIR/linux/gitian-bundle.yml
+  ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit https-everywhere=$HTTPSE_TAG,tor-launcher=$TORLAUNCHER_TAG,torbutton=$TORBUTTON_TAG,meek=$MEEK_TAG,noto-fonts=$NOTOFONTS_TAG,faketime=$FAKETIME_TAG $DESCRIPTOR_DIR/linux/gitian-bundle.yml
   if [ $? -ne 0 ];
   then
     #mv var/build.log ./bundle-fail-linux.log.`date +%Y%m%d%H%M%S`
diff --git a/gitian/mkbundle-mac.sh b/gitian/mkbundle-mac.sh
index 4e458bd..670d152 100755
--- a/gitian/mkbundle-mac.sh
+++ b/gitian/mkbundle-mac.sh
@@ -217,7 +217,7 @@ then
 
   cd $WRAPPER_DIR && ./record-inputs.sh $VERSIONS_FILE && cd $GITIAN_DIR
 
-  ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit libdmg-hfsplus=$LIBDMG_TAG,https-everywhere=$HTTPSE_TAG,torbutton=$TORBUTTON_TAG,tor-launcher=$TORLAUNCHER_TAG,meek=$MEEK_TAG,noto-fonts=$NOTOFONTS_TAG $DESCRIPTOR_DIR/mac/gitian-bundle.yml
+  ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit libdmg-hfsplus=$LIBDMG_TAG,https-everywhere=$HTTPSE_TAG,torbutton=$TORBUTTON_TAG,tor-launcher=$TORLAUNCHER_TAG,meek=$MEEK_TAG,noto-fonts=$NOTOFONTS_TAG,faketime=$FAKETIME_TAG $DESCRIPTOR_DIR/mac/gitian-bundle.yml
   if [ $? -ne 0 ];
   then
     #mv var/build.log ./bundle-fail-mac.log.`date +%Y%m%d%H%M%S`
diff --git a/gitian/mkbundle-windows.sh b/gitian/mkbundle-windows.sh
index 24f8f4e..8f89123 100755
--- a/gitian/mkbundle-windows.sh
+++ b/gitian/mkbundle-windows.sh
@@ -220,7 +220,7 @@ then
 
   cd $WRAPPER_DIR && ./record-inputs.sh $VERSIONS_FILE && cd $GITIAN_DIR
 
-  ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit https-everywhere=$HTTPSE_TAG,torbutton=$TORBUTTON_TAG,tor-launcher=$TORLAUNCHER_TAG,tbb-windows-installer=$NSIS_TAG,meek=$MEEK_TAG,noto-fonts=$NOTOFONTS_TAG $DESCRIPTOR_DIR/windows/gitian-bundle.yml
+  ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit https-everywhere=$HTTPSE_TAG,torbutton=$TORBUTTON_TAG,tor-launcher=$TORLAUNCHER_TAG,tbb-windows-installer=$NSIS_TAG,meek=$MEEK_TAG,noto-fonts=$NOTOFONTS_TAG,faketime=$FAKETIME_TAG $DESCRIPTOR_DIR/windows/gitian-bundle.yml
   if [ $? -ne 0 ];
   then
     #mv var/build.log ./bundle-fail-win32.log.`date +%Y%m%d%H%M%S`



More information about the tbb-commits mailing list