Skip to content

Commit 31b3d94

Browse files
committed
gitian: Make protobuf win32 intermediate output deterministic
While building protobuf in different environments we noticed that the host tool protoc was slightly different between builds (a symbol table sorting issue). Add a deterministic seed as well as disable zlib support. Exected output is now: e2e403e1a08869c7eed4d4293bce13d51ec6a63592918b90ae215a0eceb44cb4 protobuf-win32-2.5.0-gitian-r4.zip a0999037e8b0ef9ade13efd88fee261ba401f5ca910068b7e0cd3262ba667db0 protobuf-win64-2.5.0-gitian-r4.zip No effect on final executables so no version bump.
1 parent 4fd082d commit 31b3d94

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

contrib/gitian-descriptors/protobuf-win.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,13 @@ script: |
3838
tar xjf $INDIR/protobuf-2.5.0.tar.bz2
3939
cd protobuf-2.5.0
4040
# First: build a native (linux) protoc
41-
./configure --enable-shared=no --disable-dependency-tracking
41+
./configure --enable-shared=no --disable-dependency-tracking --without-zlib CXXFLAGS="-frandom-seed=11 ${OPTFLAGS}"
4242
make
4343
mkdir -p $INSTALLPREFIX/host/bin
4444
cp src/protoc $INSTALLPREFIX/host/bin
4545
# Now recompile with the mingw cross-compiler:
4646
make distclean
47-
./configure --prefix=$INSTALLPREFIX --enable-shared=no --disable-dependency-tracking --with-protoc=$INSTALLPREFIX/host/bin/protoc --host=$HOST CXXFLAGS="-frandom-seed=11 ${OPTFLAGS}"
47+
./configure --prefix=$INSTALLPREFIX --enable-shared=no --disable-dependency-tracking --without-zlib --with-protoc=$INSTALLPREFIX/host/bin/protoc --host=$HOST CXXFLAGS="-frandom-seed=11 ${OPTFLAGS}"
4848
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
4949
export FAKETIME=$REFERENCE_DATETIME
5050
make

0 commit comments

Comments
 (0)