aboutsummaryrefslogtreecommitdiff
path: root/contrib/gitian-descriptors/boost-linux.yml
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gitian-descriptors/boost-linux.yml')
-rw-r--r--contrib/gitian-descriptors/boost-linux.yml14
1 files changed, 12 insertions, 2 deletions
diff --git a/contrib/gitian-descriptors/boost-linux.yml b/contrib/gitian-descriptors/boost-linux.yml
index d752a906a2..a538ff30a8 100644
--- a/contrib/gitian-descriptors/boost-linux.yml
+++ b/contrib/gitian-descriptors/boost-linux.yml
@@ -19,6 +19,7 @@ files:
- "boost_1_55_0.tar.bz2"
script: |
STAGING="$HOME/install"
+ TEMPDIR="$HOME/tmp"
export LIBRARY_PATH="$STAGING/lib"
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
@@ -38,7 +39,16 @@ script: |
./bootstrap.sh --without-icu
- ./bjam toolset=gcc threadapi=pthread threading=multi variant=release link=static runtime-link=shared --user-config=user-config.jam --without-mpi --without-python -sNO_BZIP2=1 --layout=tagged --build-type=complete --prefix="$STAGING" $MAKEOPTS install
+ ./bjam toolset=gcc threadapi=pthread threading=multi variant=release link=static runtime-link=shared --user-config=user-config.jam --without-mpi --without-python -sNO_BZIP2=1 --layout=tagged --build-type=complete --prefix="$STAGING" $MAKEOPTS -d+2 install
+ # post-process all generated libraries to be deterministic
+ # extract them to a temporary directory then re-build them deterministically
+ for LIB in $(find $STAGING -name \*.a); do
+ rm -rf $TEMPDIR && mkdir $TEMPDIR && cd $TEMPDIR
+ ar xv $LIB | cut -b5- > /tmp/list.txt
+ rm $LIB
+ ar crsD $LIB $(cat /tmp/list.txt)
+ done
+ #
cd "$STAGING"
- find -type f | sort | zip -X@ $OUTDIR/boost-linux${GBUILD_BITS}-1.55.0-gitian-r1.zip
+ find | sort | zip -X@ $OUTDIR/boost-linux${GBUILD_BITS}-1.55.0-gitian-r1.zip