[tor-commits] [tor-browser-bundle/master] Bug 16181: Gitian changes for ESR 38 on OS X
gk at torproject.org
gk at torproject.org
Tue Jun 23 10:40:45 UTC 2015
commit ff23e83bcc9e5ade5fcbf954c449446c4044df78
Author: Georg Koppen <gk at torproject.org>
Date: Tue Jun 23 10:40:20 2015 +0000
Bug 16181: Gitian changes for ESR 38 on OS X
---
gitian/descriptors/mac/gitian-bundle.yml | 86 ++++++++-------------
gitian/descriptors/mac/gitian-firefox.yml | 46 ++++++------
gitian/descriptors/mac/gitian-utils.yml | 115 +++++++++++++++++------------
gitian/fetch-inputs.sh | 6 +-
gitian/mkbundle-mac.sh | 5 +-
gitian/patches/libfaketime.patch | 54 ++++++++++++++
gitian/verify-tags.sh | 4 +-
gitian/versions | 6 +-
gitian/versions.alpha | 6 +-
gitian/versions.nightly | 6 +-
10 files changed, 196 insertions(+), 138 deletions(-)
diff --git a/gitian/descriptors/mac/gitian-bundle.yml b/gitian/descriptors/mac/gitian-bundle.yml
index 61a024b..255d327 100644
--- a/gitian/descriptors/mac/gitian-bundle.yml
+++ b/gitian/descriptors/mac/gitian-bundle.yml
@@ -64,13 +64,8 @@ script: |
export TORBROWSER_VERSION=`cat bare-version`
export LC_ALL=C
umask 0022
- if [ ${TORBROWSER_VERSION::3} == "3.5" ]; then
- export TORBROWSER_APP="TorBrowserBundle"
- export TORBROWSER_NAME="TorBrowserBundle"
- else
- export TORBROWSER_APP="TorBrowser"
- export TORBROWSER_NAME="TorBrowserBundle"
- fi
+ export TORBROWSER_APP="TorBrowser"
+ export TORBROWSER_NAME="TorBrowserBundle"
#
# Extract the MAR tools.
unzip -d ~/build ~/build/mar-tools-mac$GBUILD_BITS.zip
@@ -161,7 +156,7 @@ script: |
tar -Jxvf ~/build/dmg-applications.tar.xz
cd ..
#
- pushd $TORBROWSER_NAME.app/Contents/MacOS/browser/
+ pushd $TORBROWSER_NAME.app/Contents/Resources/browser/
unzip omni.ja defaults/preferences/000-tor-browser.js
cp defaults/preferences/000-tor-browser.js ~/build/
# Set the locale of the bundle.
@@ -179,27 +174,21 @@ script: |
unzip ~/build/TorBrowser.app.meek-http-helper.zip
popd
#
- if [ ${TORBROWSER_VERSION::3} == "3.5" ]; then
- cp -a ~/build/$TORBROWSER_NAME.app ~/build/${TORBROWSER_NAME}_en-US.app
- ~/build/dzip.sh $OUTDIR/TorBrowserBundle-${TORBROWSER_VERSION}-osx${GBUILD_BITS}_en-US.zip ${TORBROWSER_NAME}_en-US.app
- rm -rf ~/build/${TORBROWSER_NAME}_en-US.app
- else
- # XXX: We need to insert these placeholders because otherwise mkisofs won't
- # include these otherwise empty dirs:
- touch ~/build/$TORBROWSER_NAME.app/TorBrowser/Data/Browser/Caches/placeholder.txt
- # Recreate precomplete file (needs to be accurate for full MAR updates).
- pushd ~/build/$TORBROWSER_NAME.app/
- rm -f precomplete
- python $MARTOOLS/createprecomplete.py
- popd
- #
- # Create full MAR file and disk image.
- MAR_FILE=tor-browser-osx${GBUILD_BITS}-${TORBROWSER_VERSION}_en-US.mar
- MAR=$MARTOOLS/mar MBSDIFF=$MARTOOLS/mbsdiff $MARTOOLS/make_full_update.sh -q $OUTDIR/$MAR_FILE ~/build/$TORBROWSER_NAME.app
- cp -a ~/build/$TORBROWSER_NAME.app ~/build/dmg/$TORBROWSER_APP.app
- ~/build/ddmg.sh $OUTDIR/TorBrowser-${TORBROWSER_VERSION}-osx${GBUILD_BITS}_en-US.dmg ~/build/dmg
- rm -rf ~/build/dmg/$TORBROWSER_APP.app
- fi
+ # XXX: We need to insert these placeholders because otherwise mkisofs won't
+ # include these otherwise empty dirs:
+ touch ~/build/$TORBROWSER_NAME.app/TorBrowser/Data/Browser/Caches/placeholder.txt
+ # Recreate precomplete file (needs to be accurate for full MAR updates).
+ pushd ~/build/$TORBROWSER_NAME.app/Contents/Resources/
+ rm -f precomplete
+ python $MARTOOLS/createprecomplete.py
+ popd
+ #
+ # Create full MAR file and disk image.
+ MAR_FILE=tor-browser-osx${GBUILD_BITS}-${TORBROWSER_VERSION}_en-US.mar
+ MAR=$MARTOOLS/mar MBSDIFF=$MARTOOLS/mbsdiff $MARTOOLS/make_full_update.sh -q $OUTDIR/$MAR_FILE ~/build/$TORBROWSER_NAME.app
+ cp -a ~/build/$TORBROWSER_NAME.app ~/build/dmg/$TORBROWSER_APP.app
+ ~/build/ddmg.sh $OUTDIR/TorBrowser-${TORBROWSER_VERSION}-osx${GBUILD_BITS}_en-US.dmg ~/build/dmg
+ rm -rf ~/build/dmg/$TORBROWSER_APP.app
mv $TORBROWSER_NAME.app ${TORBROWSER_NAME}_plain.app
#
unzip mac-langpacks.zip
@@ -207,16 +196,12 @@ script: |
for LANG in $BUNDLE_LOCALES
do
xpi=$LANG.xpi
- if [ ${TORBROWSER_VERSION::3} == "3.5" ]; then
- DEST=${TORBROWSER_APP}_$LANG
- else
- DEST=$TORBROWSER_APP
- fi
+ DEST=$TORBROWSER_APP
cp -a ../${TORBROWSER_NAME}_plain.app ~/build/dmg/$DEST.app
cp $xpi ~/build/dmg/$DEST.app/TorBrowser/Data/Browser/profile.default/extensions/langpack-$LANG at firefox.mozilla.org.xpi
cd ..
- pushd ~/build/dmg/$DEST.app/Contents/MacOS/browser/
+ pushd ~/build/dmg/$DEST.app/Contents/Resources/browser/
mkdir -p defaults/preferences
cp ~/build/000-tor-browser.js defaults/preferences/
# Set the locale of the bundle.
@@ -225,28 +210,19 @@ script: |
rm -rf defaults
popd
- # Set the update.locale (it is used to replace %LOCALE% within app.update.url).
- pushd ~/build/dmg/$DEST.app/Contents/MacOS/
+ # Set the update.locale (it is used to replace %LOCALE% within
+ # app.update.url) and recreate the precomplete file (needs to be accurate
+ # for full MAR updates).
+ pushd ~/build/dmg/$DEST.app/Contents/Resources/
echo "$LANG" > update.locale
zip -Xm omni.ja update.locale
+ rm -f precomplete
+ python $MARTOOLS/createprecomplete.py
popd
-
- if [ ${TORBROWSER_VERSION::3} == "3.5" ]; then
- pushd ~/build/dmg/
- ~/build/dzip.sh $OUTDIR/TorBrowserBundle-${TORBROWSER_VERSION}-osx${GBUILD_BITS}_$LANG.zip $DEST.app
- rm -rf TorBrowserBundle_$LANG.app
- popd
- else
- # Recreate precomplete file (needs to be accurate for full MAR updates).
- pushd ~/build/dmg/$DEST.app/
- rm -f precomplete
- python $MARTOOLS/createprecomplete.py
- popd
- #
- MAR_FILE=tor-browser-osx${GBUILD_BITS}-${TORBROWSER_VERSION}_$LANG.mar
- MAR=$MARTOOLS/mar MBSDIFF=$MARTOOLS/mbsdiff $MARTOOLS/make_full_update.sh -q $OUTDIR/$MAR_FILE ~/build/dmg/$DEST.app
- ~/build/ddmg.sh $OUTDIR/TorBrowser-${TORBROWSER_VERSION}-osx${GBUILD_BITS}_$LANG.dmg ~/build/dmg/
- rm -rf ~/build/dmg/$DEST.app
- fi
+ #
+ MAR_FILE=tor-browser-osx${GBUILD_BITS}-${TORBROWSER_VERSION}_$LANG.mar
+ MAR=$MARTOOLS/mar MBSDIFF=$MARTOOLS/mbsdiff $MARTOOLS/make_full_update.sh -q $OUTDIR/$MAR_FILE ~/build/dmg/$DEST.app
+ ~/build/ddmg.sh $OUTDIR/TorBrowser-${TORBROWSER_VERSION}-osx${GBUILD_BITS}_$LANG.dmg ~/build/dmg/
+ rm -rf ~/build/dmg/$DEST.app
cd mac-langpacks
done
diff --git a/gitian/descriptors/mac/gitian-firefox.yml b/gitian/descriptors/mac/gitian-firefox.yml
index e7a4dcb..e8f1046 100644
--- a/gitian/descriptors/mac/gitian-firefox.yml
+++ b/gitian/descriptors/mac/gitian-firefox.yml
@@ -16,11 +16,13 @@ remotes:
- "url": "https://github.com/wolfcw/libfaketime"
"dir": "faketime"
files:
-- "apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb"
+- "gcc-linux64-precise-utils.zip"
+- "MacOSX10.7.sdk.tar.gz"
- "x86_64-apple-darwin10.tar.xz"
- "re-dzip.sh"
- "dzip.sh"
- "fix-info-plist.py"
+- "libfaketime.patch"
- "versions"
script: |
INSTDIR="$HOME/install/"
@@ -34,25 +36,26 @@ script: |
# Building libfaketime.
cd faketime
+ export GIT_COMMITTER_NAME="nobody"
+ export GIT_COMMITTER_EMAIL="nobody at localhost"
+ export GIT_COMMITTER_DATE="$REFERENCE_DATETIME"
+ git am ~/build/libfaketime.patch
make
DESTDIR="$INSTDIR/faketime" make install
export LD_PRELOAD="$INSTDIR/faketime/usr/local/lib/faketime/libfaketime.so.1"
export FAKETIME=$REFERENCE_DATETIME
cd ..
- sudo dpkg -i *.deb
- tar -xavf x86_64-apple-darwin10.tar.xz
- # XXX: Needed for the otool patch. But we should replace that one with a
- # better solution. See: comment 15 in
- # https://bugzilla.mozilla.org/show_bug.cgi?id=936115
- export PATH=$PATH:/home/ubuntu/build/x-tools/x86_64-apple-darwin10/bin
- # FIXME: path hacks:
- sudo mkdir -p /System/Library/
- sudo ln -s /usr/lib/apple/SDKs/MacOSX10.6.sdk /usr/lib/apple/SDKs/MacOSX10.5.sdk
- sudo ln -s /usr/lib/apple/SDKs/MacOSX10.6.sdk /usr/lib/apple/SDKs/MacOSX10.5.sdk
- sudo ln -s /usr/lib/apple/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/ /System/Library/
- sudo ln -s /usr/lib/apple/SDKs/MacOSX10.6.sdk/System/Library/PrivateFrameworks/ /System/Library/
- sudo ln -s /usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/libstdc++.6.dylib /usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/libstdc++.dylib
+ unzip -d $INSTDIR ~/build/gcc-linux64-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
+ export LD_LIBRARY_PATH=$INSTDIR/gcc/lib64
+ # XXX: cross-compiler path is needed for ICU
+ export PATH=/home/ubuntu/build/x-tools/x86_64-apple-darwin10/bin:$INSTDIR/gcc/bin:$PATH
+
+ tar xaf x86_64-apple-darwin10.tar.xz
+ tar xaf MacOSX10.7.sdk.tar.gz
#
cd tor-browser
mv .mozconfig-mac .mozconfig
@@ -72,11 +75,10 @@ script: |
# BUT we need to exclude |make build| from it. Otherwise the build fails close
# to the end, see #12812 comment 6 and #12461 comment 8 and later.
# Additionally, we need to exclude |rsync| due to #10153 which is reproducible
- # reliably with the new libfaketime.
+ # reliably with the new libfaketime and |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"
- # XXX Order matters as for some reason the env variable has only the first
- # command assigned when it comes to the rsync parts in the build process.
- export FAKETIME_SKIP_CMDS="rsync,make"
+ export FAKETIME_SKIP_CMDS="python2.7,rsync,make"
make BUILD_HOSTNAME="gitian" $MAKEOPTS -f client.mk build
#
make -C obj-macos package INNER_MAKE_PACKAGE=true
@@ -101,11 +103,9 @@ script: |
mv $INFO_PLIST tmp.plist
~/build/fix-info-plist.py $TORBROWSER_VERSION < tmp.plist > $INFO_PLIST
rm -f tmp.plist
- ~/build/re-dzip.sh TorBrowser.app/Contents/MacOS/omni.ja
- ~/build/re-dzip.sh TorBrowser.app/Contents/MacOS/webapprt/omni.ja
- if [ -f TorBrowser.app/Contents/MacOS/browser/omni.ja ]; then # FF24 includes a third .ja
- ~/build/re-dzip.sh TorBrowser.app/Contents/MacOS/browser/omni.ja
- fi
+ ~/build/re-dzip.sh TorBrowser.app/Contents/Resources/omni.ja
+ ~/build/re-dzip.sh TorBrowser.app/Contents/Resources/webapprt/omni.ja
+ ~/build/re-dzip.sh TorBrowser.app/Contents/Resources/browser/omni.ja
cd TorBrowser.app/
~/build/dzip.sh tor-browser-mac${GBUILD_BITS}-gbuilt.zip ./Contents
cp tor-browser-mac${GBUILD_BITS}-gbuilt.zip $OUTDIR
diff --git a/gitian/descriptors/mac/gitian-utils.yml b/gitian/descriptors/mac/gitian-utils.yml
index 6d93817..c47767e 100644
--- a/gitian/descriptors/mac/gitian-utils.yml
+++ b/gitian/descriptors/mac/gitian-utils.yml
@@ -4,11 +4,14 @@ suites:
- "precise"
architectures:
- "i386"
+- "amd64"
packages:
- "faketime"
- "automake"
- "libtool"
- "zip"
+# Needed for compiling GCC.
+- "libmpc-dev"
reference_datetime: "2000-01-01 00:00:00"
remotes:
- "url": "https://github.com/libevent/libevent.git"
@@ -16,6 +19,7 @@ remotes:
files:
- "apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb"
- "multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz"
+- "gcc.tar.bz2"
- "openssl.tar.gz"
- "gmp.tar.bz2"
- "versions"
@@ -23,61 +27,76 @@ files:
script: |
INSTDIR="$HOME/install"
source versions
- export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
- export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
export LC_ALL=C
umask 0022
- sudo dpkg -i *.deb
- tar xaf multiarch-darwin*tar.xz
- export PATH="$PATH:$HOME/build/apple-osx/bin/"
- # For OpenSSL
- ln -s ~/build/apple-osx/bin/apple-osx-gcc ~/build/apple-osx/bin/i686-apple-darwin11-cc
- #For gmp, need to trick it so it knows we're doing a 64 bit build
- for i in ~/build/apple-osx/bin/i686-apple-darwin11-*; do j=`echo $i | sed 's/i686/x86_64/'`; ln -s $i $j; done;
+ if [ $GBUILD_BITS == "64" ];
+ then
+ # Building GCC. We need this as Firefox ESR 38 has GCC 4.7 as minimum
+ # requirement for the host compiler but Ubuntu Precise is only shipping 4.6.
+ tar xaf gcc.tar.bz2
+ cd gcc-*
+ ./configure --prefix=$INSTDIR/gcc --disable-multilib --enable-languages=c,c++
+ make $MAKEOPTS
+ make install
+ cd $INSTDIR
+ ~/build/dzip.sh gcc-$GCC_VER-linux64-precise-utils.zip gcc
+ cp *utils.zip $OUTDIR/
+ else
+ export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
+ export FAKETIME=$REFERENCE_DATETIME
- # XXX Clean up these flags?
- export CFLAGS="-m64 -I/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/include/ -I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include/ -I. -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -mmacosx-version-min=10.5"
- export CXXFLAGS="-m64 -I/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/include/ -I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include/ -I. -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/i686-apple-darwin10/4.2.1 -mmacosx-version-min=10.5"
- export LDFLAGS="-L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -mmacosx-version-min=10.5"
+ sudo dpkg -i *.deb
+ tar xaf multiarch-darwin*tar.xz
+ export PATH="$PATH:$HOME/build/apple-osx/bin/"
+ # For OpenSSL
+ ln -s ~/build/apple-osx/bin/apple-osx-gcc ~/build/apple-osx/bin/i686-apple-darwin11-cc
+ #For gmp, need to trick it so it knows we're doing a 64 bit build
+ for i in ~/build/apple-osx/bin/i686-apple-darwin11-*; do j=`echo $i | sed 's/i686/x86_64/'`; ln -s $i $j; done;
- # Building Libevent
- cd libevent
- ./autogen.sh
- find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
- ./configure --disable-static --host=i686-apple-darwin11 --prefix=$INSTDIR/libevent
- make $MAKEOPTS
- make install
- cd ..
+ # XXX Clean up these flags?
+ export CFLAGS="-m64 -I/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/include/ -I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include/ -I. -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -mmacosx-version-min=10.5"
+ export CXXFLAGS="-m64 -I/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/include/ -I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include/ -I. -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/i686-apple-darwin10/4.2.1 -mmacosx-version-min=10.5"
+ export LDFLAGS="-L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -mmacosx-version-min=10.5"
- # Building OpenSSL
- tar xzf openssl.tar.gz
- cd openssl-*
- find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
- # TODO: Add enable-ec_nistp_64_gcc_128 for 64bit OS X.
- ./Configure --cross-compile-prefix=i686-apple-darwin11- $CFLAGS darwin64-x86_64-cc --prefix=$INSTDIR/openssl enable-ec_nistp_64_gcc_128
- # Using $MAKEOPTS breaks the build. Might be the issue mentioned on
- # http://cblfs.cross-lfs.org/index.php/OpenSSL.
- make
- make install
- cd ..
+ # Building Libevent
+ cd libevent
+ ./autogen.sh
+ find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
+ ./configure --disable-static --host=i686-apple-darwin11 --prefix=$INSTDIR/libevent
+ make $MAKEOPTS
+ make install
+ cd ..
- # Building GMP
- tar xjf gmp.tar.bz2
- cd gmp-*
- find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
- # Even if we are not shipping libgmpxx anymore we still need --enable-xcc
- # during compile time.
- ./configure --host=x86_64-apple-darwin11 --prefix=$INSTDIR/gmp --disable-static --enable-shared --enable-cxx
- make
- make install
- cd ..
+ # Building OpenSSL
+ tar xzf openssl.tar.gz
+ cd openssl-*
+ find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
+ # TODO: Add enable-ec_nistp_64_gcc_128 for 64bit OS X.
+ ./Configure --cross-compile-prefix=i686-apple-darwin11- $CFLAGS darwin64-x86_64-cc --prefix=$INSTDIR/openssl enable-ec_nistp_64_gcc_128
+ # Using $MAKEOPTS breaks the build. Might be the issue mentioned on
+ # http://cblfs.cross-lfs.org/index.php/OpenSSL.
+ make
+ make install
+ cd ..
- # Grabbing the results
- cd $INSTDIR
- ~/build/dzip.sh openssl-$OPENSSL_VER-mac64-utils.zip openssl
- ~/build/dzip.sh libevent-${LIBEVENT_TAG#release-}-mac64-utils.zip libevent
- ~/build/dzip.sh gmp-$GMP_VER-mac64-utils.zip gmp
+ # Building GMP
+ tar xjf gmp.tar.bz2
+ cd gmp-*
+ find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
+ # Even if we are not shipping libgmpxx anymore we still need --enable-xcc
+ # during compile time.
+ ./configure --host=x86_64-apple-darwin11 --prefix=$INSTDIR/gmp --disable-static --enable-shared --enable-cxx
+ make
+ make install
+ cd ..
- cp *utils.zip $OUTDIR/
+ # Grabbing the results
+ cd $INSTDIR
+ ~/build/dzip.sh openssl-$OPENSSL_VER-mac64-utils.zip openssl
+ ~/build/dzip.sh libevent-${LIBEVENT_TAG#release-}-mac64-utils.zip libevent
+ ~/build/dzip.sh gmp-$GMP_VER-mac64-utils.zip gmp
+
+ cp *utils.zip $OUTDIR/
+ fi
diff --git a/gitian/fetch-inputs.sh b/gitian/fetch-inputs.sh
index 63460e8..2a5bd16 100755
--- a/gitian/fetch-inputs.sh
+++ b/gitian/fetch-inputs.sh
@@ -132,7 +132,7 @@ do
fi
done
-for i in TOOLCHAIN4 TOOLCHAIN4_OLD OSXSDK MSVCR100
+for i in TOOLCHAIN4 TOOLCHAIN4_OLD OSXSDK OSXSDK_OLD MSVCR100
do
PACKAGE="${i}_PACKAGE"
URL="${MIRROR_URL}${!PACKAGE}"
@@ -166,8 +166,8 @@ done
wget -U "" -N ${NOSCRIPT_URL}
# 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 MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY GO GCC
+# (OpenSSL is signed with MD5, and OSXSDK + OSXSDK_OLD are not signed at all)
+for i in OSXSDK OSXSDK_OLD TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY GO GCC
do
PACKAGE="${i}_PACKAGE"
HASH="${i}_HASH"
diff --git a/gitian/mkbundle-mac.sh b/gitian/mkbundle-mac.sh
index ea547e9..363ebb1 100755
--- a/gitian/mkbundle-mac.sh
+++ b/gitian/mkbundle-mac.sh
@@ -106,7 +106,8 @@ fi
cd $GITIAN_DIR
-if [ ! -f inputs/openssl-$OPENSSL_VER-mac64-utils.zip -o \
+if [ ! -f inputs/gcc-$GCC_VER-linux64-precise-utils.zip -o \
+ ! -f inputs/openssl-$OPENSSL_VER-mac64-utils.zip -o \
! -f inputs/libevent-${LIBEVENT_TAG_ORIG#release-}-mac64-utils.zip -o \
! -f inputs/gmp-$GMP_VER-mac64-utils.zip ];
then
@@ -122,6 +123,7 @@ then
cd inputs
cp -a ../build/out/*-utils.zip .
+ ln -sf gcc-$GCC_VER-linux64-precise-utils.zip gcc-linux64-precise-utils.zip
ln -sf openssl-$OPENSSL_VER-mac64-utils.zip openssl-mac64-utils.zip
ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-mac64-utils.zip libevent-mac64-utils.zip
ln -sf gmp-$GMP_VER-mac64-utils.zip gmp-mac64-utils.zip
@@ -135,6 +137,7 @@ else
# We might have built the utilities in the past but maybe the links are
# pointing to the wrong version. Refresh them.
cd inputs
+ ln -sf gcc-$GCC_VER-linux64-precise-utils.zip gcc-linux64-precise-utils.zip
ln -sf openssl-$OPENSSL_VER-mac64-utils.zip openssl-mac64-utils.zip
ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-mac64-utils.zip libevent-mac64-utils.zip
ln -sf gmp-$GMP_VER-mac64-utils.zip gmp-mac64-utils.zip
diff --git a/gitian/patches/libfaketime.patch b/gitian/patches/libfaketime.patch
new file mode 100644
index 0000000..d170eda
--- /dev/null
+++ b/gitian/patches/libfaketime.patch
@@ -0,0 +1,54 @@
+From 3ea3df1129a9918dea7efdf3a529227f16b237aa Mon Sep 17 00:00:00 2001
+From: Georg Koppen <gk at torproject.org>
+Date: Thu, 21 May 2015 07:32:16 +0000
+Subject: [PATCH] Allow more than one command being skipped
+
+---
+ src/libfaketime.c | 28 ++++++++++++++++++++--------
+ 1 file changed, 20 insertions(+), 8 deletions(-)
+
+diff --git a/src/libfaketime.c b/src/libfaketime.c
+index ecda143..ad45857 100644
+--- a/src/libfaketime.c
++++ b/src/libfaketime.c
+@@ -1455,17 +1455,29 @@ void __attribute__ ((constructor)) ftpl_init(void)
+ /* We can prevent faking time for specified commands */
+ if ((tmp_env = getenv("FAKETIME_SKIP_CMDS")) != NULL)
+ {
+- char *skip_cmd, *saveptr;
+- skip_cmd = strtok_r(tmp_env, ",", &saveptr);
+- while (skip_cmd != NULL)
++ char *skip_cmd, *saveptr, *tmpvar;
++ /* Don't mess with the env variable directly. */
++ tmpvar = strdup(tmp_env);
++ if (tmpvar != NULL)
+ {
+- if (0 == strcmp(progname, skip_cmd))
++ skip_cmd = strtok_r(tmpvar, ",", &saveptr);
++ while (skip_cmd != NULL)
+ {
+- ft_mode = FT_NOOP;
+- dont_fake = true;
+- break;
++ if (0 == strcmp(progname, skip_cmd))
++ {
++ ft_mode = FT_NOOP;
++ dont_fake = true;
++ break;
++ }
++ skip_cmd = strtok_r(NULL, ",", &saveptr);
+ }
+- skip_cmd = strtok_r(NULL, ",", &saveptr);
++ free(tmpvar);
++ tmpvar = NULL;
++ }
++ else
++ {
++ fprintf(stderr, "Error: Could not copy the environment variable value.\n");
++ exit(EXIT_FAILURE);
+ }
+ }
+
+--
+2.1.4
+
diff --git a/gitian/verify-tags.sh b/gitian/verify-tags.sh
index 5c1d552..2c4e8c6 100755
--- a/gitian/verify-tags.sh
+++ b/gitian/verify-tags.sh
@@ -140,8 +140,8 @@ do
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 MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY GO GCC
+# (OpenSSL is signed with MD5, and OSXSDK + OSXSDK_OLD are not signed at all)
+for i in OSXSDK OSXSDK_OLD TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY GO GCC
do
PACKAGE="${i}_PACKAGE"
HASH="${i}_HASH"
diff --git a/gitian/versions b/gitian/versions
index 4a612c1..dc8b095 100755
--- a/gitian/versions
+++ b/gitian/versions
@@ -60,7 +60,8 @@ GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
NOSCRIPT_PACKAGE=noscript_security_suite-2.6.9.26-sm+fn+fx.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
+OSXSDK_PACKAGE=MacOSX10.7.sdk.tar.gz
+OSXSDK_OLD_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
MSVCR100_PACKAGE=msvcr100.dll
BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
@@ -81,7 +82,8 @@ GO_PACKAGE=go${GO_VER}.src.tar.gz
# Hashes for packages with weak sigs or no sigs
OPENSSL_HASH=16e678c6a05f2502811e075f2c4059ac01c878d091c9c585afc49ebc541f7b13
GMP_HASH=752079520b4690531171d0f4532e40f08600215feefede70b24fabdc6f1ab160
-OSXSDK_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
+OSXSDK_HASH=da77bb0003fcca5ea8c4e8cb2da8828ded750c54afdcac29ec6f3b46ad5e3adf
+OSXSDK_OLD_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
NOSCRIPT_HASH=06d9fa6093378682a7fabfc0b2d156dfafcfda749ddd802970ce14d1860e6a3e
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index c4b04cc..229e46d 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -60,7 +60,8 @@ GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
NOSCRIPT_PACKAGE=noscript_security_suite-2.6.9.26-sm+fn+fx.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
+OSXSDK_PACKAGE=MacOSX10.7.sdk.tar.gz
+OSXSDK_OLD_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
MSVCR100_PACKAGE=msvcr100.dll
BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
@@ -81,7 +82,8 @@ GO_PACKAGE=go${GO_VER}.src.tar.gz
# Hashes for packages with weak sigs or no sigs
OPENSSL_HASH=16e678c6a05f2502811e075f2c4059ac01c878d091c9c585afc49ebc541f7b13
GMP_HASH=752079520b4690531171d0f4532e40f08600215feefede70b24fabdc6f1ab160
-OSXSDK_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
+OSXSDK_HASH=da77bb0003fcca5ea8c4e8cb2da8828ded750c54afdcac29ec6f3b46ad5e3adf
+OSXSDK_OLD_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
NOSCRIPT_HASH=06d9fa6093378682a7fabfc0b2d156dfafcfda749ddd802970ce14d1860e6a3e
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index cef40eb..27a2e27 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -63,7 +63,8 @@ GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
NOSCRIPT_PACKAGE=noscript_security_suite-2.6.9.26-sm+fn+fx.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
+OSXSDK_PACKAGE=MacOSX10.7.sdk.tar.gz
+OSXSDK_OLD_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
MSVCR100_PACKAGE=msvcr100.dll
BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
@@ -84,7 +85,8 @@ GO_PACKAGE=go${GO_VER}.src.tar.gz
# Hashes for packages with weak sigs or no sigs
OPENSSL_HASH=16e678c6a05f2502811e075f2c4059ac01c878d091c9c585afc49ebc541f7b13
GMP_HASH=752079520b4690531171d0f4532e40f08600215feefede70b24fabdc6f1ab160
-OSXSDK_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
+OSXSDK_HASH=da77bb0003fcca5ea8c4e8cb2da8828ded750c54afdcac29ec6f3b46ad5e3adf
+OSXSDK_OLD_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
NOSCRIPT_HASH=06d9fa6093378682a7fabfc0b2d156dfafcfda749ddd802970ce14d1860e6a3e
More information about the tor-commits
mailing list