[tor-commits] [tor-browser-bundle/master] Bug 15990: Gitian changes for ESR 38 on Windows

gk at torproject.org gk at torproject.org
Tue Jun 23 09:36:34 UTC 2015


commit d0bc63e7d7a1149c8faf336190d7a771eb46c234
Author: Georg Koppen <gk at torproject.org>
Date:   Thu May 28 09:23:00 2015 +0000

    Bug 15990: Gitian changes for ESR 38 on Windows
---
 gitian/descriptors/windows/gitian-firefox.yml |   25 ++++++++++++-------------
 gitian/descriptors/windows/gitian-utils.yml   |   10 ++++++++++
 gitian/mkbundle-windows.sh                    |    3 +++
 gitian/versions                               |    2 +-
 gitian/versions.alpha                         |    2 +-
 gitian/versions.nightly                       |    2 +-
 6 files changed, 28 insertions(+), 16 deletions(-)

diff --git a/gitian/descriptors/windows/gitian-firefox.yml b/gitian/descriptors/windows/gitian-firefox.yml
index ab8d7c6..c7efb62 100644
--- a/gitian/descriptors/windows/gitian-firefox.yml
+++ b/gitian/descriptors/windows/gitian-firefox.yml
@@ -4,8 +4,8 @@ suites:
 architectures:
 - "i386"
 packages:
-- "autoconf2.13"
 - "unzip"
+- "autoconf2.13"
 - "yasm"
 - "zip"
 reference_datetime: "2000-01-01 00:00:00"
@@ -15,6 +15,7 @@ remotes:
 - "url": "https://github.com/wolfcw/libfaketime"
   "dir": "faketime"
 files:
+- "gcc-linux32-precise-utils.zip"
 - "mingw-w64-win32-utils.zip"
 - "re-dzip.sh"
 - "dzip.sh"
@@ -33,10 +34,15 @@ script: |
   #
   mkdir -p $INSTDIR/Browser/
   mkdir -p $OUTDIR/
+  unzip -d $INSTDIR gcc-linux32-precise-utils.zip
+  # We need a link to our GCC, otherwise the system cc gets used which points to
+  # /usr/bin/gcc.
+  ln -s gcc $INSTDIR/gcc/bin/cc
   unzip -d $INSTDIR mingw-w64-win32-utils.zip
   unzip -d $INSTDIR gcclibs-win32-utils.zip
-  # Make sure our custom mingw gets used.
-  export PATH=$INSTDIR/mingw-w64/bin:$PATH
+  # Make sure our custom mingw and GCC (as host compiler) get used.
+  export LD_LIBRARY_PATH=$INSTDIR/gcc/lib
+  export PATH=$INSTDIR/mingw-w64/bin:$INSTDIR/gcc/bin:$PATH
 
   # Building libfaketime
   cd faketime
@@ -90,23 +96,16 @@ script: |
   # We need libfaketime for all the timestamps e.g. written into the libraries.
   # BUT we need to exclude |make build| from it. Otherwise the build fails close
   # to the end, see #12811 comment 14 and #12461 comment 8 and later.
+  # Additionally, we need to exclude |python2.7| as well as the build would
+  # stall otherwise right at the beginning. See #13877 for details.
   export LD_PRELOAD="$INSTDIR/faketime/usr/local/lib/faketime/libfaketime.so.1"
-  export FAKETIME_SKIP_CMDS="make"
+  export FAKETIME_SKIP_CMDS="python2.7,make"
   make BUILD_HOSTNAME="gitian" $MAKEOPTS -f client.mk build
   #
   make -C obj-* package INNER_MAKE_PACKAGE=true
   cp -a obj-*/dist/firefox/* $INSTDIR/Browser/
   cp -a ~/build/msvcr100.dll $INSTDIR/Browser/
   cp -a $INSTDIR/gcclibs/libssp-0.dll $INSTDIR/Browser/
-  #
-  # What the hell are these three bytes anyways?
-  # FIXME: This was probably fixed by patching binutils. If we get matching
-  # builds without it, remove these two:
-  #sed 's/\x94\x0C\xE7\x6A\xB8\x0C\xE7\x6A\x08...\x04\xBA\xCB\x7E/\x94\x0c\xe7\x6a\xb8\x0c\xe7\x6a\x08\x23\x23\x23\x04\xba\xcb\x7e/M' -i $INSTDIR/Browser/xul.dll
-  #sed 's/\x94\xb1\x24\x65\xb8\xb1\x24\x65\xf8...\x04\xba\xcb\x7e/\x94\xb1\x24\x65\xb8\xb1\x24\x65\xf8\x23\x23\x23\x04\xba\xcb\x7e/M' -i $INSTDIR/Browser/gkmedias.dll
-  # Stripping again updates the PE header checksums to be correct
-  i686-w64-mingw32-strip $INSTDIR/Browser/gkmedias.dll
-  i686-w64-mingw32-strip $INSTDIR/Browser/xul.dll
 
   # Make MAR-based update tools available for use during the bundle phase.
   MARTOOLS=~/build/mar-tools
diff --git a/gitian/descriptors/windows/gitian-utils.yml b/gitian/descriptors/windows/gitian-utils.yml
index 2b978e3..6e52c67 100644
--- a/gitian/descriptors/windows/gitian-utils.yml
+++ b/gitian/descriptors/windows/gitian-utils.yml
@@ -38,6 +38,15 @@ script: |
   export LC_ALL=C
   umask 0022
 
+  # Building GCC to use it as the host compiler. Firefox 38 needs GCC >= 4.7 but
+  # Ubuntu Precise is only shipping with GCC 4.6.x.
+  tar xjf gcc.tar.bz2
+  cd gcc-*
+  ./configure --prefix=$INSTDIR/gcc --disable-multilib --enable-languages=c,c++
+  make $MAKEOPTS
+  make install
+  cd ..
+
   # Building binutils
   tar xjf binutils.tar.bz2
   cd binutils*
@@ -157,6 +166,7 @@ script: |
   cd $INSTDIR
   # We might want to bump binutils independent of bumping mingw-w64.
   touch binutils-$BINUTILS_VER-win32-utils.zip
+  ~/build/dzip.sh gcc-$GCC_VER-linux32-precise-utils.zip gcc
   ~/build/dzip.sh mingw-w64-$GCC_VER-win32-utils.zip mingw-w64
   ~/build/dzip.sh zlib-${ZLIB_TAG#v}-win32-utils.zip zlib
   ~/build/dzip.sh libevent-${LIBEVENT_TAG#release-}-win32-utils.zip libevent
diff --git a/gitian/mkbundle-windows.sh b/gitian/mkbundle-windows.sh
index 4de847b..238ad51 100755
--- a/gitian/mkbundle-windows.sh
+++ b/gitian/mkbundle-windows.sh
@@ -102,6 +102,7 @@ cd $GITIAN_DIR
 
 if [ ! -f inputs/binutils-$BINUTILS_VER-win32-utils.zip -o \
      ! -f inputs/gcclibs-$GCC_VER-win32-utils.zip -o \
+     ! -f inputs/gcc-$GCC_VER-linux32-precise-utils.zip -o \
      ! -f inputs/mingw-w64-$GCC_VER-win32-utils.zip -o \
      ! -f inputs/zlib-${ZLIB_TAG_ORIG#v}-win32-utils.zip -o \
      ! -f inputs/libevent-${LIBEVENT_TAG_ORIG#release-}-win32-utils.zip -o \
@@ -127,6 +128,7 @@ then
   ln -sf openssl-$OPENSSL_VER-win32-utils.zip openssl-win32-utils.zip
   ln -sf gmp-$GMP_VER-win32-utils.zip gmp-win32-utils.zip
   ln -sf gcclibs-$GCC_VER-win32-utils.zip gcclibs-win32-utils.zip
+  ln -sf gcc-$GCC_VER-linux32-precise-utils.zip gcc-linux32-precise-utils.zip
   cd ..
   #cp -a result/utils-win-res.yml inputs/
 else
@@ -142,6 +144,7 @@ else
   ln -sf openssl-$OPENSSL_VER-win32-utils.zip openssl-win32-utils.zip
   ln -sf gmp-$GMP_VER-win32-utils.zip gmp-win32-utils.zip
   ln -sf gcclibs-$GCC_VER-win32-utils.zip gcclibs-win32-utils.zip
+  ln -sf gcc-$GCC_VER-linux32-precise-utils.zip gcc-linux32-precise-utils.zip
   cd ..
 fi
 
diff --git a/gitian/versions b/gitian/versions
index a073427..4a612c1 100755
--- a/gitian/versions
+++ b/gitian/versions
@@ -16,7 +16,7 @@ HTTPSE_TAG=5.0.5
 NSIS_TAG=v0.3
 ZLIB_TAG=v1.2.8
 LIBEVENT_TAG=release-2.0.21-stable
-MINGW_TAG=e712bb8b106d059914388e6ccd93c584a6416082 # XXX: ???
+MINGW_TAG=a883b47a45ff74ced41dfbd9f748d5c2c61f3c01 # due to bug 1156131
 PYPTLIB_TAG=pyptlib-0.0.6
 OBFSPROXY_TAG=obfsproxy-0.2.12
 FLASHPROXY_TAG=1.6
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index 56b46b9..c4b04cc 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -16,7 +16,7 @@ HTTPSE_TAG=5.0.5
 NSIS_TAG=v0.3
 ZLIB_TAG=v1.2.8
 LIBEVENT_TAG=release-2.0.21-stable
-MINGW_TAG=e712bb8b106d059914388e6ccd93c584a6416082 # XXX: ???
+MINGW_TAG=a883b47a45ff74ced41dfbd9f748d5c2c61f3c01 # due to bug 1156131
 PYPTLIB_TAG=pyptlib-0.0.6
 OBFSPROXY_TAG=obfsproxy-0.2.12
 FLASHPROXY_TAG=1.6
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index bea7547..cef40eb 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -19,7 +19,7 @@ HTTPSE_TAG=master
 NSIS_TAG=v0.3
 ZLIB_TAG=v1.2.8
 LIBEVENT_TAG=release-2.0.21-stable
-MINGW_TAG=e712bb8b106d059914388e6ccd93c584a6416082 # XXX: ???
+MINGW_TAG=a883b47a45ff74ced41dfbd9f748d5c2c61f3c01 # due to bug 1156131
 PYPTLIB_TAG=master
 OBFSPROXY_TAG=master
 FLASHPROXY_TAG=master



More information about the tor-commits mailing list