commit ad43e17f6fdec22be8c971483d5123c172b76c61 Author: Kathy Brade brade@pearlcrescent.com Date: Thu Jun 19 15:10:12 2014 -0400
Bug 12406: use MinGW-w64 v3.1.0 for TBB 4.x
This also requires newer versions of gcc and binutils. We now fetch MinGW-w64 using git instead of svn. --- gitian/descriptors/windows/gitian-bundle.yml | 2 -- gitian/descriptors/windows/gitian-utils.yml | 14 ++++++-------- gitian/fetch-inputs.sh | 26 +++----------------------- gitian/gpg/GCC.gpg | Bin 2635 -> 9931 bytes gitian/mkbundle-windows.sh | 2 +- gitian/record-inputs.sh | 2 +- gitian/verify-tags.sh | 3 ++- gitian/versions | 8 +++----- gitian/versions.alpha | 8 +++----- gitian/versions.nightly | 8 +++----- 10 files changed, 22 insertions(+), 51 deletions(-)
diff --git a/gitian/descriptors/windows/gitian-bundle.yml b/gitian/descriptors/windows/gitian-bundle.yml index 8f21b3b..fc4fb35 100644 --- a/gitian/descriptors/windows/gitian-bundle.yml +++ b/gitian/descriptors/windows/gitian-bundle.yml @@ -8,8 +8,6 @@ packages: - "git-core" - "unzip" - "zip" -# This package is needed for compiling the StartTorBrowserBundle.exe. -- "mingw-w64" - "nsis" - "faketime" - "python" diff --git a/gitian/descriptors/windows/gitian-utils.yml b/gitian/descriptors/windows/gitian-utils.yml index 530e716..d9bf928 100644 --- a/gitian/descriptors/windows/gitian-utils.yml +++ b/gitian/descriptors/windows/gitian-utils.yml @@ -20,13 +20,13 @@ packages: - "libmpc-dev" reference_datetime: "2000-01-01 00:00:00" remotes: +- "url": "http://git.code.sf.net/p/mingw-w64/mingw-w64" + "dir": "mingw-w64-git" - "url": "https://github.com/libevent/libevent.git" "dir": "libevent" - "url": "https://github.com/madler/zlib.git" "dir": "zlib" files: -# XXX: we need to make this input tarball deterministic :/ -- "mingw-w64-svn-snapshot.zip" - "binutils.tar.bz2" - "gcc.tar.bz2" - "openssl.tar.gz" @@ -61,10 +61,8 @@ script: |
# Building mingw-w64 mkdir -p mingw-w64/mingw-w64-headers32 - cd mingw-w64 - unzip ../mingw-w64-svn-snapshot.zip - cd mingw-w64-headers32 - ../mingw-w64-svn/mingw-w64-headers/configure --host=i686-w64-mingw32 --prefix=$INSTDIR/mingw-w64/i686-w64-mingw32 --enable-sdk=all --enable-secure-api --enable-idl + cd mingw-w64/mingw-w64-headers32 + ../../mingw-w64-git/mingw-w64-headers/configure --host=i686-w64-mingw32 --prefix=$INSTDIR/mingw-w64/i686-w64-mingw32 --enable-sdk=all --enable-secure-api --enable-idl make install cd .. cd .. @@ -89,13 +87,13 @@ script: | # cd mingw-w64 mkdir mingw-w64-crt32 && cd mingw-w64-crt32 - ../mingw-w64-svn/mingw-w64-crt/configure --host=i686-w64-mingw32 --prefix=$INSTDIR/mingw-w64/i686-w64-mingw32 + ../../mingw-w64-git/mingw-w64-crt/configure --host=i686-w64-mingw32 --prefix=$INSTDIR/mingw-w64/i686-w64-mingw32 make $MAKEOPTS make install cd .. # mkdir widl32 && cd widl32 - ../mingw-w64-svn/mingw-w64-tools/widl/configure --prefix=$INSTDIR/mingw-w64 --target=i686-w64-mingw32 + ../../mingw-w64-git/mingw-w64-tools/widl/configure --prefix=$INSTDIR/mingw-w64 --target=i686-w64-mingw32 make $MAKEOPTS make install cd .. diff --git a/gitian/fetch-inputs.sh b/gitian/fetch-inputs.sh index 34e8727..1b0b4c1 100755 --- a/gitian/fetch-inputs.sh +++ b/gitian/fetch-inputs.sh @@ -92,7 +92,7 @@ update_git() { then (cd "$dir" && git remote set-url origin $url && git fetch --prune origin && git fetch --prune --tags origin) else - if ! git clone "$url"; then + if ! git clone "$url" "$dir"; then echo >&2 "Error: Cloning $url failed" exit 1 fi @@ -110,12 +110,6 @@ update_git() { fi }
-checkout_mingw() { - svn co -r $MINGW_REV https://svn.code.sf.net/p/mingw-w64/code/trunk/ mingw-w64-svn || exit 1 - # XXX: Path - ZIPOPTS="-x*/.svn/*" faketime -f "2000-01-01 00:00:00" "$WRAPPER_DIR/build-helpers/dzip.sh" mingw-w64-svn-snapshot.zip mingw-w64-svn -} - ############################################################################## # Get package files from mirror
@@ -212,24 +206,9 @@ cd .. wget -U "" -N ${NOSCRIPT_URL} wget -U "" -N ${HTTPSE_URL}
-# So is mingw: -if [ ! -f mingw-w64-svn-snapshot.zip ]; -then - checkout_mingw -else - # We do have mingw-w64 already but is it the correct revision? We check the - # hash of the zip archive as it has to be changed as well if a new revision - # should be used. - if ! echo "${MINGW_HASH} ${MINGW_PACKAGE}" | sha256sum -c -; then - # We need to update the local mingw-w64 copy - rm -rf mingw-w64-svn* - checkout_mingw - fi -fi - # Verify packages with weak or no signatures via direct sha256 check # (OpenSSL is signed with MD5, and OSXSDK is not signed at all) -for i in OSXSDK TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT HTTPSE MINGW MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY +for i in OSXSDK TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT HTTPSE MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY do PACKAGE="${i}_PACKAGE" HASH="${i}_HASH" @@ -304,6 +283,7 @@ https-everywhere https://git.torproject.org/https-everywhere.git $HTTPSE_TA torbutton https://git.torproject.org/torbutton.git $TORBUTTON_TAG tor-launcher https://git.torproject.org/tor-launcher.git $TORLAUNCHER_TAG tor-browser https://git.torproject.org/tor-browser.git $TORBROWSER_TAG +mingw-w64-git http://git.code.sf.net/p/mingw-w64/mingw-w64 $MINGW_TAG pyptlib https://git.torproject.org/pluggable-transports/pyptlib.git $PYPTLIB_TAG obfsproxy https://git.torproject.org/pluggable-transports/obfsproxy.git $OBFSPROXY_TAG flashproxy https://git.torproject.org/flashproxy.git $FLASHPROXY_TAG diff --git a/gitian/gpg/GCC.gpg b/gitian/gpg/GCC.gpg index e62de27..d94d692 100644 Binary files a/gitian/gpg/GCC.gpg and b/gitian/gpg/GCC.gpg differ diff --git a/gitian/mkbundle-windows.sh b/gitian/mkbundle-windows.sh index 019ddec..281f4f8 100755 --- a/gitian/mkbundle-windows.sh +++ b/gitian/mkbundle-windows.sh @@ -107,7 +107,7 @@ then echo "****** Starting Utilities Component of Windows Bundle (1/5 for Windows) ******" echo
- ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit zlib=$ZLIB_TAG,libevent=$LIBEVENT_TAG $DESCRIPTOR_DIR/windows/gitian-utils.yml + ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit mingw-w64-git=$MINGW_TAG,zlib=$ZLIB_TAG,libevent=$LIBEVENT_TAG $DESCRIPTOR_DIR/windows/gitian-utils.yml if [ $? -ne 0 ]; then #mv var/build.log ./utils-fail-win.log.`date +%Y%m%d%H%M%S` diff --git a/gitian/record-inputs.sh b/gitian/record-inputs.sh index bbae06f..7ca4416 100755 --- a/gitian/record-inputs.sh +++ b/gitian/record-inputs.sh @@ -26,7 +26,6 @@ rm -f bundle.inputs sha256sum $OSXSDK_PACKAGE >> bundle.inputs sha256sum $OPENSSL_PACKAGE >> bundle.inputs sha256sum $TOOLCHAIN4_PACKAGE >> bundle.inputs -sha256sum mingw-w64-svn-snapshot.zip >> bundle.inputs echo >> bundle.inputs sha256sum noscript@noscript.net.xpi >> bundle.inputs echo >> bundle.inputs @@ -53,6 +52,7 @@ echo "`cd torbutton && git log --format=%H -1 $TORBUTTON_TAG` torbutton.git" >> echo "`cd tor-launcher && git log --format=%H -1 $TORLAUNCHER_TAG` tor-launcher.git" >> bundle.inputs echo "`cd https-everywhere && git log --format=%H -1 $HTTPSE_TAG` https-everywhere.git" >> bundle.inputs echo "`cd tbb-windows-installer && git log --format=%H -1 $NSIS_TAG` tbb-windows-installer.git" >> bundle.inputs +echo "`cd mingw-w64-git && git log --format=%H -1 $MINGW_TAG` mingw-w64.git" >> bundle.inputs echo "`cd $INPUTS_DIR && git log --format=%H -1` gitian-builder.git" >> bundle.inputs echo "`cd $WRAPPER_DIR && git log --format=%H -1` tor-browser-bundle.git" >> bundle.inputs
diff --git a/gitian/verify-tags.sh b/gitian/verify-tags.sh index 324a27a..c66a83b 100755 --- a/gitian/verify-tags.sh +++ b/gitian/verify-tags.sh @@ -105,6 +105,7 @@ EOF while read dir commit; do check_git_hash "$dir" "$commit" done << EOF +mingw-w64-git $MINGW_TAG libdmg-hfsplus $LIBDMG_TAG libfte $LIBFTE_TAG fteproxy $FTEPROXY_TAG @@ -132,7 +133,7 @@ done
# Verify packages with weak or no signatures via direct sha256 check # (OpenSSL is signed with MD5, and OSXSDK is not signed at all) -for i in OSXSDK TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT HTTPSE MINGW MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY +for i in OSXSDK TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT HTTPSE MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY do PACKAGE="${i}_PACKAGE" HASH="${i}_HASH" diff --git a/gitian/versions b/gitian/versions index 6c78434..2185194 100755 --- a/gitian/versions +++ b/gitian/versions @@ -14,7 +14,7 @@ HTTPSE_TAG=3.4.5 # XXX: HTTPSE_VER is used instead, pending #11630 NSIS_TAG=v0.2 ZLIB_TAG=v1.2.8 LIBEVENT_TAG=release-2.0.21-stable -MINGW_REV=6184 +MINGW_TAG=9418eaa1854320b57f40e29ec5bbc4f5717ecd58 # tag v3.1.0 PYPTLIB_TAG=pyptlib-0.0.6 OBFSPROXY_TAG=obfsproxy-0.2.9 FLASHPROXY_TAG=1.6 @@ -28,8 +28,8 @@ GITIAN_TAG=tor-browser-builder-3.x-5 OPENSSL_VER=1.0.1g GMP_VER=5.1.3 FIREFOX_LANG_VER=$FIREFOX_VERSION -BINUTILS_VER=2.22 -GCC_VER=4.6.3 +BINUTILS_VER=2.24 +GCC_VER=4.8.3 PYTHON_VER=2.7.5 PYCRYPTO_VER=2.6.1 ARGPARSE_VER=1.2.1 @@ -51,7 +51,6 @@ HTTPSE_PACKAGE=https-everywhere-${HTTPSE_VER}.xpi TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz OSXSDK_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb -MINGW_PACKAGE=mingw-w64-svn-snapshot.zip MSVCR100_PACKAGE=msvcr100.dll BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2 GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2 @@ -76,7 +75,6 @@ TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645 TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9 NOSCRIPT_HASH=5ec75d2f6fbf3ff7950a8eea2c7878d887ed3916aa89f99ec76b322b1e140c08 HTTPSE_HASH=62ac6560bb224a8f5557722153a72fb245b30b345940c537423bfbb7d8144e29 -MINGW_HASH=a5b03d0448a309341be4cf34c6ad3016d04c89952dca5243254b4d6c738b164f MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067 PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4 diff --git a/gitian/versions.alpha b/gitian/versions.alpha index 562acd2..e0e1e60 100755 --- a/gitian/versions.alpha +++ b/gitian/versions.alpha @@ -14,7 +14,7 @@ HTTPSE_TAG=3.4.5 # XXX: HTTPSE_VER is used instead, pending #11630 NSIS_TAG=v0.2 ZLIB_TAG=v1.2.8 LIBEVENT_TAG=release-2.0.21-stable -MINGW_REV=6184 +MINGW_TAG=9418eaa1854320b57f40e29ec5bbc4f5717ecd58 # tag v3.1.0 PYPTLIB_TAG=pyptlib-0.0.6 OBFSPROXY_TAG=obfsproxy-0.2.9 FLASHPROXY_TAG=1.6 @@ -28,8 +28,8 @@ GITIAN_TAG=tor-browser-builder-3.x-5 OPENSSL_VER=1.0.1g GMP_VER=5.1.3 FIREFOX_LANG_VER=$FIREFOX_VERSION -BINUTILS_VER=2.22 -GCC_VER=4.6.3 +BINUTILS_VER=2.24 +GCC_VER=4.8.3 PYTHON_VER=2.7.5 PYCRYPTO_VER=2.6.1 ARGPARSE_VER=1.2.1 @@ -51,7 +51,6 @@ HTTPSE_PACKAGE=https-everywhere-${HTTPSE_VER}.xpi TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz OSXSDK_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb -MINGW_PACKAGE=mingw-w64-svn-snapshot.zip MSVCR100_PACKAGE=msvcr100.dll BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2 GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2 @@ -76,7 +75,6 @@ TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645 TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9 NOSCRIPT_HASH=5ec75d2f6fbf3ff7950a8eea2c7878d887ed3916aa89f99ec76b322b1e140c08 HTTPSE_HASH=62ac6560bb224a8f5557722153a72fb245b30b345940c537423bfbb7d8144e29 -MINGW_HASH=a5b03d0448a309341be4cf34c6ad3016d04c89952dca5243254b4d6c738b164f MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067 PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4 diff --git a/gitian/versions.nightly b/gitian/versions.nightly index 72b0b47..1042e78 100755 --- a/gitian/versions.nightly +++ b/gitian/versions.nightly @@ -14,7 +14,7 @@ HTTPSE_TAG=master NSIS_TAG=v0.2 ZLIB_TAG=v1.2.8 LIBEVENT_TAG=release-2.0.21-stable -MINGW_REV=6184 +MINGW_TAG=9418eaa1854320b57f40e29ec5bbc4f5717ecd58 # tag v3.1.0 PYPTLIB_TAG=master OBFSPROXY_TAG=master FLASHPROXY_TAG=master @@ -28,8 +28,8 @@ GITIAN_TAG=tor-browser-builder-3.x-5 OPENSSL_VER=1.0.1h GMP_VER=5.1.3 FIREFOX_LANG_VER=$FIREFOX_VERSION -BINUTILS_VER=2.22 -GCC_VER=4.6.3 +BINUTILS_VER=2.24 +GCC_VER=4.8.3 PYTHON_VER=2.7.5 PYCRYPTO_VER=2.6.1 ARGPARSE_VER=1.2.1 @@ -51,7 +51,6 @@ HTTPSE_PACKAGE=https-everywhere-${HTTPSE_VER}.xpi TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz OSXSDK_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb -MINGW_PACKAGE=mingw-w64-svn-snapshot.zip MSVCR100_PACKAGE=msvcr100.dll BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2 GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2 @@ -76,7 +75,6 @@ TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645 TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9 NOSCRIPT_HASH=aea2ef3a262a70e871df0de937ac8f53cd2c5d1913066200d192bb6e30924275 HTTPSE_HASH=62ac6560bb224a8f5557722153a72fb245b30b345940c537423bfbb7d8144e29 -MINGW_HASH=a5b03d0448a309341be4cf34c6ad3016d04c89952dca5243254b4d6c738b164f MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067 PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4