Skip to content

Commit c494804

Browse files
authored
Merge pull request #1811 from codablock/pr_backport_bitcoin_0.13-5
Backport missing PRs from Bitcoin 0.13 - Part 5
2 parents af1233c + 0c61226 commit c494804

File tree

108 files changed

+4858
-1189
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+4858
-1189
lines changed

.travis.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,8 @@ script:
7878
- BITCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$TRAVIS_BUILD_DIR/depends/$HOST --bindir=$OUTDIR/bin --libdir=$OUTDIR/lib"
7979
- depends/$HOST/native/bin/ccache --max-size=$CCACHE_SIZE
8080
- test -n "$USE_SHELL" && eval '"$USE_SHELL" -c "./autogen.sh"' || ./autogen.sh
81-
- ./configure --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
82-
- make distdir PACKAGE=dash VERSION=$HOST
83-
- cd dash-$HOST
84-
- ./configure --cache-file=../config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
81+
- mkdir build && cd build
82+
- ../configure $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
8583
- make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && make $GOAL V=1 ; false )
8684
- export LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib
8785
- if [ "$RUN_TESTS" = "true" -a "$WINE" != "true" ]; then travis_wait 30 make $MAKEJOBS check VERBOSE=1; fi

Makefile.am

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ OSX_DSSTORE_GEN=$(top_srcdir)/contrib/macdeploy/custom_dsstore.py
2828
OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus
2929
OSX_FANCY_PLIST=$(top_srcdir)/contrib/macdeploy/fancy.plist
3030
OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/bitcoin.icns
31-
OSX_PLIST=$(top_srcdir)/share/qt/Info.plist #not installed
31+
OSX_PLIST=$(top_builddir)/share/qt/Info.plist #not installed
3232
OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW
3333

3434
DIST_DOCS = $(wildcard doc/*.md) $(wildcard doc/release-notes/*.md)
@@ -53,18 +53,8 @@ COVERAGE_INFO = baseline_filtered_combined.info baseline.info block_test.info \
5353
leveldb_baseline_filtered.info test_dash_coverage.info test_dash.info
5454

5555
dist-hook:
56-
-$(MAKE) -C $(top_distdir)/src/leveldb clean
57-
-$(MAKE) -C $(top_distdir)/src/secp256k1 distclean
5856
-$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf -
5957

60-
distcheck-hook:
61-
$(MKDIR_P) $(top_distdir)/_build/src/leveldb
62-
cp -rf $(top_srcdir)/src/leveldb/* $(top_distdir)/_build/src/leveldb/
63-
-$(MAKE) -C $(top_distdir)/_build/src/leveldb clean
64-
65-
distcleancheck:
66-
@:
67-
6858
$(BITCOIN_WIN_INSTALLER): all-recursive
6959
$(MKDIR_P) $(top_builddir)/release
7060
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIND_BIN) $(top_builddir)/release
@@ -236,7 +226,11 @@ EXTRA_DIST = $(top_srcdir)/share/genbuild.sh qa/pull-tester/rpc-tests.py qa/rpc-
236226

237227
CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER)
238228

229+
# This file is problematic for out-of-tree builds if it exists.
230+
DISTCLEANFILES = qa/pull-tester/tests_config.pyc
231+
239232
.INTERMEDIATE: $(COVERAGE_INFO)
240233

241234
clean-local:
242235
rm -rf coverage_percent.txt test_dash.coverage/ total.coverage/ qa/tmp/ cache/ $(OSX_APP)
236+
rm -rf qa/pull-tester/__pycache__

configure.ac

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ AC_PATH_PROG(XGETTEXT,xgettext)
8484
AC_PATH_PROG(HEXDUMP,hexdump)
8585
AC_PATH_TOOL(READELF, readelf)
8686
AC_PATH_TOOL(CPPFILT, c++filt)
87+
AC_PATH_TOOL(OBJCOPY, objcopy)
8788

8889
AC_ARG_VAR(PYTHONPATH, Augments the default search path for python module files)
8990

@@ -1070,6 +1071,8 @@ AC_SUBST(MINIUPNPC_LIBS)
10701071
AC_CONFIG_FILES([Makefile src/Makefile share/setup.nsi share/qt/Info.plist src/test/buildenv.py])
10711072
AC_CONFIG_FILES([qa/pull-tester/run-bitcoind-for-test.sh],[chmod +x qa/pull-tester/run-bitcoind-for-test.sh])
10721073
AC_CONFIG_FILES([qa/pull-tester/tests_config.py],[chmod +x qa/pull-tester/tests_config.py])
1074+
AC_CONFIG_FILES([contrib/devtools/split-debug.sh],[chmod +x contrib/devtools/split-debug.sh])
1075+
AC_CONFIG_LINKS([qa/pull-tester/rpc-tests.py:qa/pull-tester/rpc-tests.py])
10731076

10741077
dnl boost's m4 checks do something really nasty: they export these vars. As a
10751078
dnl result, they leak into secp256k1's configure and crazy things happen.

contrib/devtools/split-debug.sh.in

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/sh
2+
3+
if [ $# -ne 3 ];
4+
then echo "usage: $0 <input> <stripped-binary> <debug-binary>"
5+
fi
6+
7+
@OBJCOPY@ --enable-deterministic-archives -p --only-keep-debug $1 $3
8+
@OBJCOPY@ --enable-deterministic-archives -p --strip-debug $1 $2
9+
@STRIP@ --enable-deterministic-archives -p -s $2
10+
@OBJCOPY@ --enable-deterministic-archives -p --add-gnu-debuglink=$3 $2

contrib/gitian-descriptors/gitian-linux.yml

Lines changed: 49 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,43 @@ architectures:
77
- "amd64"
88
packages:
99
- "curl"
10-
- "g++-multilib"
10+
- "g++-aarch64-linux-gnu"
11+
- "g++-4.8-aarch64-linux-gnu"
12+
- "gcc-4.8-aarch64-linux-gnu"
13+
- "binutils-aarch64-linux-gnu"
14+
- "g++-arm-linux-gnueabihf"
15+
- "g++-4.8-arm-linux-gnueabihf"
16+
- "gcc-4.8-arm-linux-gnueabihf"
17+
- "binutils-arm-linux-gnueabihf"
18+
- "g++-4.8-multilib"
19+
- "gcc-4.8-multilib"
20+
- "binutils-gold"
1121
- "git-core"
1222
- "pkg-config"
1323
- "autoconf"
1424
- "libtool"
1525
- "automake"
1626
- "faketime"
1727
- "bsdmainutils"
18-
- "binutils-gold"
1928
- "ca-certificates"
2029
- "python"
21-
reference_datetime: "2017-01-01 00:00:00"
2230
remotes:
2331
- "url": "https://github.com/dashpay/dash.git"
2432
"dir": "dash"
2533
files: []
2634
script: |
35+
36+
#unlock sudo
37+
echo "ubuntu" | sudo -S true
38+
39+
sudo mkdir -p /usr/include/i386-linux-gnu/
40+
sudo ln -s /usr/include/x86_64-linux-gnu/asm /usr/include/i386-linux-gnu/asm
41+
2742
WRAP_DIR=$HOME/wrapped
28-
HOSTS="i686-pc-linux-gnu x86_64-unknown-linux-gnu"
29-
CONFIGFLAGS="--enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests LDFLAGS=-static-libstdc++"
43+
HOSTS="i686-pc-linux-gnu x86_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu"
44+
CONFIGFLAGS="--enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests"
3045
FAKETIME_HOST_PROGS=""
31-
FAKETIME_PROGS="date ar ranlib nm strip objcopy"
46+
FAKETIME_PROGS="date ar ranlib nm"
3247
HOST_CFLAGS="-O2 -g"
3348
HOST_CXXFLAGS="-O2 -g"
3449
HOST_LDFLAGS=-static-libstdc++
@@ -45,36 +60,47 @@ script: |
4560
mkdir -p ${BASE_CACHE} ${SOURCES_PATH}
4661
fi
4762
48-
# Create global faketime wrappers
63+
function create_global_faketime_wrappers {
4964
for prog in ${FAKETIME_PROGS}; do
5065
echo '#!/bin/bash' > ${WRAP_DIR}/${prog}
5166
echo "REAL=\`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1\`" >> ${WRAP_DIR}/${prog}
5267
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${prog}
53-
echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${prog}
68+
echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${prog}
5469
echo "\$REAL \$@" >> $WRAP_DIR/${prog}
5570
chmod +x ${WRAP_DIR}/${prog}
5671
done
72+
}
5773
58-
# Create per-host faketime wrappers
74+
function create_per-host_faketime_wrappers {
5975
for i in $HOSTS; do
6076
for prog in ${FAKETIME_HOST_PROGS}; do
6177
echo '#!/bin/bash' > ${WRAP_DIR}/${i}-${prog}
6278
echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
6379
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
64-
echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${i}-${prog}
80+
echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog}
6581
echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog}
6682
chmod +x ${WRAP_DIR}/${i}-${prog}
6783
done
6884
done
85+
}
86+
6987
export PATH=${WRAP_DIR}:${PATH}
7088
89+
# Faketime for depends so intermediate results are comparable
90+
create_global_faketime_wrappers "2000-01-01 12:00:00"
91+
create_per-host_faketime_wrappers "2000-01-01 12:00:00"
92+
7193
cd dash
7294
BASEPREFIX=`pwd`/depends
7395
# Build dependencies for each host
7496
for i in $HOSTS; do
7597
make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}"
7698
done
7799
100+
# Faketime for binaries
101+
create_global_faketime_wrappers "${REFERENCE_DATETIME}"
102+
create_per-host_faketime_wrappers "${REFERENCE_DATETIME}"
103+
78104
# Create the release tarball using (arbitrarily) the first host
79105
./autogen.sh
80106
CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
@@ -101,23 +127,28 @@ script: |
101127
CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} CFLAGS="${HOST_CFLAGS}" CXXFLAGS="${HOST_CXXFLAGS}" LDFLAGS="${HOST_LDFLAGS}"
102128
make ${MAKEOPTS}
103129
make ${MAKEOPTS} -C src check-security
104-
make ${MAKEOPTS} -C src check-symbols
130+
131+
#TODO: This is a quick hack that disables symbol checking for arm.
132+
# Instead, we should investigate why these are popping up.
133+
# For aarch64, we'll need to bump up the min GLIBC version, as the abi
134+
# support wasn't introduced until 2.17.
135+
case $i in
136+
aarch64-*) : ;;
137+
arm-*) : ;;
138+
*) make ${MAKEOPTS} -C src check-symbols ;;
139+
esac
140+
105141
make install DESTDIR=${INSTALLPATH}
106142
cd installed
107143
find . -name "lib*.la" -delete
108144
find . -name "lib*.a" -delete
109145
rm -rf ${DISTNAME}/lib/pkgconfig
110-
find ${DISTNAME}/bin -type f -executable -exec objcopy --only-keep-debug {} {}.dbg \; -exec strip -s {} \; -exec objcopy --add-gnu-debuglink={}.dbg {} \;
111-
find ${DISTNAME}/lib -type f -exec objcopy --only-keep-debug {} {}.dbg \; -exec strip -s {} \; -exec objcopy --add-gnu-debuglink={}.dbg {} \;
146+
find ${DISTNAME}/bin -type f -executable -exec ../contrib/devtools/split-debug.sh {} {} {}.dbg \;
147+
find ${DISTNAME}/lib -type f -exec ../contrib/devtools/split-debug.sh {} {} {}.dbg \;
112148
find ${DISTNAME} -not -name "*.dbg" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz
113149
find ${DISTNAME} -name "*.dbg" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}-debug.tar.gz
114150
cd ../../
115151
rm -rf distsrc-${i}
116152
done
117153
mkdir -p $OUTDIR/src
118154
mv $SOURCEDIST $OUTDIR/src
119-
mv ${OUTDIR}/${DISTNAME}-x86_64-*-debug.tar.gz ${OUTDIR}/${DISTNAME}-linux64-debug.tar.gz
120-
mv ${OUTDIR}/${DISTNAME}-i686-*-debug.tar.gz ${OUTDIR}/${DISTNAME}-linux32-debug.tar.gz
121-
mv ${OUTDIR}/${DISTNAME}-x86_64-*.tar.gz ${OUTDIR}/${DISTNAME}-linux64.tar.gz
122-
mv ${OUTDIR}/${DISTNAME}-i686-*.tar.gz ${OUTDIR}/${DISTNAME}-linux32.tar.gz
123-

contrib/gitian-descriptors/gitian-osx-signer.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ architectures:
66
- "amd64"
77
packages:
88
- "faketime"
9-
reference_datetime: "2017-01-01 00:00:00"
109
remotes:
1110
- "url": "https://github.com/dashpay/dash-detached-sigs.git"
1211
"dir": "signature"

contrib/gitian-descriptors/gitian-osx.yml

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ suites:
55
- "trusty"
66
architectures:
77
- "amd64"
8-
packages:
8+
packages:
99
- "ca-certificates"
1010
- "curl"
1111
- "g++"
@@ -27,7 +27,6 @@ packages:
2727
- "python-dev"
2828
- "python-setuptools"
2929
- "fonts-tuffy"
30-
reference_datetime: "2017-01-01 00:00:00"
3130
remotes:
3231
- "url": "https://github.com/dashpay/dash.git"
3332
"dir": "dash"
@@ -54,29 +53,36 @@ script: |
5453
5554
export ZERO_AR_DATE=1
5655
57-
# Create global faketime wrappers
56+
function create_global_faketime_wrappers {
5857
for prog in ${FAKETIME_PROGS}; do
5958
echo '#!/bin/bash' > ${WRAP_DIR}/${prog}
6059
echo "REAL=\`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1\`" >> ${WRAP_DIR}/${prog}
6160
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${prog}
62-
echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${prog}
61+
echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${prog}
6362
echo "\$REAL \$@" >> $WRAP_DIR/${prog}
6463
chmod +x ${WRAP_DIR}/${prog}
6564
done
65+
}
6666
67-
# Create per-host faketime wrappers
67+
function create_per-host_faketime_wrappers {
6868
for i in $HOSTS; do
6969
for prog in ${FAKETIME_HOST_PROGS}; do
7070
echo '#!/bin/bash' > ${WRAP_DIR}/${i}-${prog}
7171
echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
7272
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
73-
echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${i}-${prog}
73+
echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog}
7474
echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog}
7575
chmod +x ${WRAP_DIR}/${i}-${prog}
7676
done
7777
done
78+
}
79+
7880
export PATH=${WRAP_DIR}:${PATH}
7981
82+
# Faketime for depends so intermediate results are comparable
83+
create_global_faketime_wrappers "2000-01-01 12:00:00"
84+
create_per-host_faketime_wrappers "2000-01-01 12:00:00"
85+
8086
cd dash
8187
BASEPREFIX=`pwd`/depends
8288
@@ -88,6 +94,10 @@ script: |
8894
make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}"
8995
done
9096
97+
# Faketime for binaries
98+
create_global_faketime_wrappers "${REFERENCE_DATETIME}"
99+
create_per-host_faketime_wrappers "${REFERENCE_DATETIME}"
100+
91101
# Create the release tarball using (arbitrarily) the first host
92102
./autogen.sh
93103
CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/

contrib/gitian-descriptors/gitian-win-signer.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ architectures:
77
packages:
88
- "libssl-dev"
99
- "autoconf"
10-
reference_datetime: "2017-01-01 00:00:00"
1110
remotes:
1211
- "url": "https://github.com/dashpay/dash-detached-sigs.git"
1312
"dir": "signature"

contrib/gitian-descriptors/gitian-win.yml

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ suites:
55
- "trusty"
66
architectures:
77
- "amd64"
8-
packages:
8+
packages:
99
- "curl"
1010
- "g++"
1111
- "git-core"
@@ -21,7 +21,6 @@ packages:
2121
- "zip"
2222
- "ca-certificates"
2323
- "python"
24-
reference_datetime: "2017-01-01 00:00:00"
2524
remotes:
2625
- "url": "https://github.com/dashpay/dash.git"
2726
"dir": "dash"
@@ -47,29 +46,31 @@ script: |
4746
mkdir -p ${BASE_CACHE} ${SOURCES_PATH}
4847
fi
4948
50-
# Create global faketime wrappers
49+
function create_global_faketime_wrappers {
5150
for prog in ${FAKETIME_PROGS}; do
5251
echo '#!/bin/bash' > ${WRAP_DIR}/${prog}
5352
echo "REAL=\`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1\`" >> ${WRAP_DIR}/${prog}
5453
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${prog}
55-
echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${prog}
54+
echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${prog}
5655
echo "\$REAL \$@" >> $WRAP_DIR/${prog}
5756
chmod +x ${WRAP_DIR}/${prog}
5857
done
58+
}
5959
60-
# Create per-host faketime wrappers
60+
function create_per-host_faketime_wrappers {
6161
for i in $HOSTS; do
6262
for prog in ${FAKETIME_HOST_PROGS}; do
6363
echo '#!/bin/bash' > ${WRAP_DIR}/${i}-${prog}
6464
echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
6565
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
66-
echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${i}-${prog}
66+
echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog}
6767
echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog}
6868
chmod +x ${WRAP_DIR}/${i}-${prog}
6969
done
7070
done
71+
}
7172
72-
# Create per-host linker wrapper
73+
function create_per-host_linker_wrapper {
7374
# This is only needed for trusty, as the mingw linker leaks a few bytes of
7475
# heap, causing non-determinism. See discussion in https://github.com/bitcoin/bitcoin/pull/6900
7576
for i in $HOSTS; do
@@ -85,22 +86,33 @@ script: |
8586
echo '#!/bin/bash' > ${WRAP_DIR}/${i}-${prog}
8687
echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
8788
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
88-
echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${i}-${prog}
89+
echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog}
8990
echo "export COMPILER_PATH=${WRAP_DIR}/${i}" >> ${WRAP_DIR}/${i}-${prog}
9091
echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog}
9192
chmod +x ${WRAP_DIR}/${i}-${prog}
9293
done
9394
done
95+
}
9496
9597
export PATH=${WRAP_DIR}:${PATH}
9698
99+
# Faketime for depends so intermediate results are comparable
100+
create_global_faketime_wrappers "2000-01-01 12:00:00"
101+
create_per-host_faketime_wrappers "2000-01-01 12:00:00"
102+
create_per-host_linker_wrapper "2000-01-01 12:00:00"
103+
97104
cd dash
98105
BASEPREFIX=`pwd`/depends
99106
# Build dependencies for each host
100107
for i in $HOSTS; do
101108
make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}"
102109
done
103110
111+
# Faketime for binaries
112+
create_global_faketime_wrappers "${REFERENCE_DATETIME}"
113+
create_per-host_faketime_wrappers "${REFERENCE_DATETIME}"
114+
create_per-host_linker_wrapper "${REFERENCE_DATETIME}"
115+
104116
# Create the release tarball using (arbitrarily) the first host
105117
./autogen.sh
106118
CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/

0 commit comments

Comments
 (0)