commit d0bc63e7d7a1149c8faf336190d7a771eb46c234 Author: Georg Koppen gk@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