Skip to content

Commit 23617fd

Browse files
committed
Merge pull request #3620
65615a3 Gitian fixes for 0.9.0rc1 build (Wladimir J. van der Laan)
2 parents 15ec451 + 65615a3 commit 23617fd

File tree

6 files changed

+25
-6
lines changed

6 files changed

+25
-6
lines changed

contrib/gitian-descriptors/boost-linux.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ architectures:
66
- "i386"
77
- "amd64"
88
packages:
9+
- "g++"
910
- "unzip"
1011
- "pkg-config"
1112
- "libtool"

contrib/gitian-descriptors/deps-linux.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ architectures:
66
- "i386"
77
- "amd64"
88
packages:
9+
- "g++"
910
- "unzip"
1011
- "zip"
1112
- "pkg-config"
@@ -50,7 +51,7 @@ script: |
5051
tar xjfm qrencode-3.4.3.tar.bz2
5152
cd qrencode-3.4.3
5253
# need --with-pic to avoid relocation error in 64 bit builds
53-
./configure --prefix=$STAGING --enable-static --disable-shared -with-pic --without-tools
54+
./configure --prefix=$STAGING --enable-static --disable-shared --with-pic --without-tools --disable-maintainer-mode --disable-dependency-tracking
5455
make $MAKEOPTS install
5556
cd ..
5657
#

contrib/gitian-descriptors/deps-win.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ script: |
107107
#
108108
tar xjf $INDIR/qrencode-3.4.3.tar.bz2
109109
cd qrencode-3.4.3
110-
png_CFLAGS="-I$INSTALLPREFIX/include" png_LIBS="-L$INSTALLPREFIX/lib -lpng" ./configure --prefix=$INSTALLPREFIX --host=$HOST
110+
png_CFLAGS="-I$INSTALLPREFIX/include" png_LIBS="-L$INSTALLPREFIX/lib -lpng" ./configure --prefix=$INSTALLPREFIX --host=$HOST --enable-static --disable-shared --without-tools --disable-maintainer-mode --disable-dependency-tracking
111111
make
112112
make install
113113
cd ..

contrib/gitian-descriptors/gitian-linux.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ architectures:
66
- "i386"
77
- "amd64"
88
packages:
9+
- "g++"
910
- "libqt4-dev"
1011
- "git-core"
1112
- "unzip"

contrib/gitian-descriptors/gitian-win.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ remotes:
2222
- "url": "https://github.com/bitcoin/bitcoin.git"
2323
"dir": "bitcoin"
2424
files:
25-
- "qt-win32-5.2.0-gitian-r1.zip"
26-
- "qt-win64-5.2.0-gitian-r1.zip"
25+
- "qt-win32-5.2.0-gitian-r2.zip"
26+
- "qt-win64-5.2.0-gitian-r2.zip"
2727
- "boost-win32-1.55.0-gitian-r6.zip"
2828
- "boost-win64-1.55.0-gitian-r6.zip"
2929
- "bitcoin-deps-win32-gitian-r10.zip"
@@ -36,6 +36,14 @@ script: |
3636
INDIR=$HOME/build
3737
OPTFLAGS='-O2'
3838
NEEDDIST=1
39+
# Qt: workaround for determinism in resource ordering
40+
# Qt5's rcc uses a QHash to store the files for the resource.
41+
# A security fix in QHash makes the ordering of keys to be different on every run
42+
# (https://qt.gitorious.org/qt/qtbase/commit/c01eaa438200edc9a3bbcd8ae1e8ded058bea268).
43+
# This is good in general but qrc shouldn't be doing a traversal over a randomized container.
44+
# The thorough solution would be to use QMap instead of QHash, but this requires patching Qt.
45+
# For now luckily there is a test mode that forces a fixed seed.
46+
export QT_RCC_TEST=1
3947
for BITS in 32 64; do # for architectures
4048
#
4149
STAGING=$HOME/staging${BITS}
@@ -49,7 +57,7 @@ script: |
4957
mkdir -p $STAGING $BUILDDIR $BINDIR
5058
#
5159
cd $STAGING
52-
unzip $INDIR/qt-win${BITS}-5.2.0-gitian-r1.zip
60+
unzip $INDIR/qt-win${BITS}-5.2.0-gitian-r2.zip
5361
unzip $INDIR/boost-win${BITS}-1.55.0-gitian-r6.zip
5462
unzip $INDIR/bitcoin-deps-win${BITS}-gitian-r10.zip
5563
unzip $INDIR/protobuf-win${BITS}-2.5.0-gitian-r4.zip

contrib/gitian-descriptors/qt-win.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,14 @@ script: |
2121
# Defines
2222
export TZ=UTC
2323
INDIR=$HOME/build
24+
# Qt: workaround for determinism in resource ordering
25+
# Qt5's rcc uses a QHash to store the files for the resource.
26+
# A security fix in QHash makes the ordering of keys to be different on every run
27+
# (https://qt.gitorious.org/qt/qtbase/commit/c01eaa438200edc9a3bbcd8ae1e8ded058bea268).
28+
# This is good in general but qrc shouldn't be doing a traversal over a randomized container.
29+
# The thorough solution would be to use QMap instead of QHash, but this requires patching Qt.
30+
# For now luckily there is a test mode that forces a fixed seed.
31+
export QT_RCC_TEST=1
2432
# Integrity Check
2533
echo "395ec72277c5786c65b8163ef5817fd03d0a1f524a6d47f53624baf8056f1081 qt-everywhere-opensource-src-5.2.0.tar.gz" | sha256sum -c
2634
@@ -71,7 +79,7 @@ script: |
7179
7280
# as zip stores file timestamps, use faketime to intercept stat calls to set dates for all files to reference date
7381
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
74-
zip -r $OUTDIR/qt-win${BITS}-5.2.0-gitian-r1.zip *
82+
zip -r $OUTDIR/qt-win${BITS}-5.2.0-gitian-r2.zip *
7583
unset LD_PRELOAD
7684
unset FAKETIME
7785
done # for BITS in

0 commit comments

Comments
 (0)