-
Notifications
You must be signed in to change notification settings - Fork 381
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge #574: configure option --enable-liquid for default liquidv1 chain
ff12bf7 QT: --enable-liquid needs to use different QAPP name for QSettings (Gregory Sanders) f475780 QT: WalletModel should always check for balance changes once (Gregory Sanders) 93e2660 QT: dummy address needs fully valid pubkey (Gregory Sanders) c227c65 QT: Cache the blinded destination values on transactions we create, like -cli (Gregory Sanders) 5622a83 QT: remove GetAmounts calls or put behind bitcoind mode only (Gregory Sanders) 17229bf QT: Add bracket to not reassign values on non-tx (Gregory Sanders) 88c256f Split out liquid gitian build descriptors (Gregory Sanders) 7bd0667 Change gitian defaults back to elements, leave commented out lines as switch (Gregory Sanders) 6d6ddc5 Rename binaries to liquid naming at end of gitian process (Gregory Sanders) aa2af38 --enable-liquid: liquid.conf and liquid.pid (Gregory Sanders) 3b1ca17 --enable-liquid: change default datadir to .liquid (Gregory Sanders) 1f67fec --enable-liquid for gitian builds (Gregory Sanders) 1fdc059 Add travis build for --enable-liquid (Gregory Sanders) 7eea59a configure option --enable-liquid for default liquidv1 chain (Gregory Sanders) Pull request description: The only behavior it modifies is that the default chain becomes `liquidv1`. Also added a Travis test for coverage and adapted a unit test, and enabled this mode for gitian descriptors. Tree-SHA512: 9a19267a51ee7a8906b6a8af9c511a4838ec529c5ea2873de215eb849111d2d2380679b524e7198f53606810b47cd85ef46a8fc5816c86e78ebedd8c30de0da7
- Loading branch information
Showing
15 changed files
with
663 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,204 @@ | ||
--- | ||
name: "elements-linux-0.18" | ||
enable_cache: true | ||
suites: | ||
- "bionic" | ||
architectures: | ||
- "amd64" | ||
packages: | ||
- "curl" | ||
- "g++-aarch64-linux-gnu" | ||
- "g++-8-aarch64-linux-gnu" | ||
- "gcc-8-aarch64-linux-gnu" | ||
- "binutils-aarch64-linux-gnu" | ||
- "g++-arm-linux-gnueabihf" | ||
- "g++-8-arm-linux-gnueabihf" | ||
- "gcc-8-arm-linux-gnueabihf" | ||
- "binutils-arm-linux-gnueabihf" | ||
- "g++-riscv64-linux-gnu" | ||
- "g++-8-riscv64-linux-gnu" | ||
- "gcc-8-riscv64-linux-gnu" | ||
- "binutils-riscv64-linux-gnu" | ||
- "g++-8-multilib" | ||
- "gcc-8-multilib" | ||
- "binutils-gold" | ||
- "git" | ||
- "icnsutils" | ||
- "imagemagick" | ||
- "librsvg2-bin" | ||
- "pkg-config" | ||
- "autoconf" | ||
- "libtool" | ||
- "automake" | ||
- "faketime" | ||
- "bsdmainutils" | ||
- "ca-certificates" | ||
- "python" | ||
remotes: | ||
- "url": "https://github.com/ElementsProject/elements.git" | ||
"dir": "elements" | ||
files: [] | ||
script: | | ||
WRAP_DIR=$HOME/wrapped | ||
HOSTS="i686-pc-linux-gnu x86_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu riscv64-linux-gnu" | ||
CONFIGFLAGS="--enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests --enable-liquid" | ||
FAKETIME_HOST_PROGS="gcc g++" | ||
FAKETIME_PROGS="date ar ranlib nm" | ||
HOST_CFLAGS="-O2 -g" | ||
HOST_CXXFLAGS="-O2 -g" | ||
HOST_LDFLAGS=-static-libstdc++ | ||
export QT_RCC_TEST=1 | ||
export QT_RCC_SOURCE_DATE_OVERRIDE=1 | ||
export GZIP="-9n" | ||
export TAR_OPTIONS="--mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME"" | ||
export TZ="UTC" | ||
export BUILD_DIR=`pwd` | ||
mkdir -p ${WRAP_DIR} | ||
if test -n "$GBUILD_CACHE_ENABLED"; then | ||
export SOURCES_PATH=${GBUILD_COMMON_CACHE} | ||
export BASE_CACHE=${GBUILD_PACKAGE_CACHE} | ||
mkdir -p ${BASE_CACHE} ${SOURCES_PATH} | ||
fi | ||
ls librsvg*.deb || wget http://mirrors.kernel.org/ubuntu/pool/main/libr/librsvg/librsvg2-2_2.40.13-3_amd64.deb | ||
dpkg -x librsvg*.deb new-rsvg | ||
export LD_LIBRARY_PATH="$(echo $PWD/new-rsvg/usr/lib/*/)" | ||
function create_global_faketime_wrappers { | ||
for prog in ${FAKETIME_PROGS}; do | ||
echo '#!/usr/bin/env bash' > ${WRAP_DIR}/${prog} | ||
echo "REAL=\`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1\`" >> ${WRAP_DIR}/${prog} | ||
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${prog} | ||
echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${prog} | ||
echo "\$REAL \$@" >> $WRAP_DIR/${prog} | ||
chmod +x ${WRAP_DIR}/${prog} | ||
done | ||
} | ||
function create_per-host_faketime_wrappers { | ||
for i in $HOSTS; do | ||
for prog in ${FAKETIME_HOST_PROGS}; do | ||
if which ${i}-${prog}-8 | ||
then | ||
echo '#!/usr/bin/env bash' > ${WRAP_DIR}/${i}-${prog} | ||
echo "REAL=\`which -a ${i}-${prog}-8 | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog} | ||
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog} | ||
echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog} | ||
echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog} | ||
chmod +x ${WRAP_DIR}/${i}-${prog} | ||
fi | ||
done | ||
done | ||
} | ||
# Faketime for depends so intermediate results are comparable | ||
export PATH_orig=${PATH} | ||
create_global_faketime_wrappers "2000-01-01 12:00:00" | ||
create_per-host_faketime_wrappers "2000-01-01 12:00:00" | ||
export PATH=${WRAP_DIR}:${PATH} | ||
EXTRA_INCLUDES_BASE=$WRAP_DIR/extra_includes | ||
mkdir -p $EXTRA_INCLUDES_BASE | ||
# x86 needs /usr/include/i386-linux-gnu/asm pointed to /usr/include/x86_64-linux-gnu/asm, | ||
# but we can't write there. Instead, create a link here and force it to be included in the | ||
# search paths by wrapping gcc/g++. | ||
mkdir -p $EXTRA_INCLUDES_BASE/i686-pc-linux-gnu | ||
rm -f $WRAP_DIR/extra_includes/i686-pc-linux-gnu/asm | ||
ln -s /usr/include/x86_64-linux-gnu/asm $EXTRA_INCLUDES_BASE/i686-pc-linux-gnu/asm | ||
for prog in gcc g++; do | ||
rm -f ${WRAP_DIR}/${prog} | ||
cat << EOF > ${WRAP_DIR}/${prog} | ||
#!/usr/bin/env bash | ||
REAL="`which -a ${prog}-8 | grep -v ${WRAP_DIR}/${prog} | head -1`" | ||
for var in "\$@" | ||
do | ||
if [ "\$var" = "-m32" ]; then | ||
export C_INCLUDE_PATH="$EXTRA_INCLUDES_BASE/i686-pc-linux-gnu" | ||
export CPLUS_INCLUDE_PATH="$EXTRA_INCLUDES_BASE/i686-pc-linux-gnu" | ||
break | ||
fi | ||
done | ||
\$REAL \$@ | ||
EOF | ||
chmod +x ${WRAP_DIR}/${prog} | ||
done | ||
cd elements | ||
BASEPREFIX=`pwd`/depends | ||
# Build dependencies for each host | ||
for i in $HOSTS; do | ||
EXTRA_INCLUDES="$EXTRA_INCLUDES_BASE/$i" | ||
if [ -d "$EXTRA_INCLUDES" ]; then | ||
export HOST_ID_SALT="$EXTRA_INCLUDES" | ||
fi | ||
make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}" | ||
unset HOST_ID_SALT | ||
done | ||
# Faketime for binaries | ||
export PATH=${PATH_orig} | ||
create_global_faketime_wrappers "${REFERENCE_DATETIME}" | ||
create_per-host_faketime_wrappers "${REFERENCE_DATETIME}" | ||
export PATH=${WRAP_DIR}:${PATH} | ||
# Create the release tarball using (arbitrarily) the first host | ||
./autogen.sh | ||
CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/ | ||
make dist | ||
SOURCEDIST=`echo elements-*.tar.gz` | ||
DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'` | ||
# Correct tar file order | ||
mkdir -p temp | ||
pushd temp | ||
tar xf ../$SOURCEDIST | ||
find elements-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST | ||
popd | ||
# Workaround for tarball not building with the bare tag version (prep) | ||
make -C src obj/build.h | ||
ORIGPATH="$PATH" | ||
# Extract the release tarball into a dir for each host and build | ||
for i in ${HOSTS}; do | ||
export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH} | ||
mkdir -p distsrc-${i} | ||
cd distsrc-${i} | ||
INSTALLPATH=`pwd`/installed/${DISTNAME} | ||
mkdir -p ${INSTALLPATH} | ||
tar --strip-components=1 -xf ../$SOURCEDIST | ||
# Workaround for tarball not building with the bare tag version | ||
echo '#!/bin/true' >share/genbuild.sh | ||
mkdir src/obj | ||
cp ../src/obj/build.h src/obj/ | ||
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}" | ||
make ${MAKEOPTS} | ||
make ${MAKEOPTS} -C src check-security | ||
make ${MAKEOPTS} -C src check-symbols | ||
make install DESTDIR=${INSTALLPATH} | ||
cd installed | ||
find . -name "lib*.la" -delete | ||
find . -name "lib*.a" -delete | ||
rm -rf ${DISTNAME}/lib/pkgconfig | ||
mv ${DISTNAME}/bin/elements-qt ${DISTNAME}/bin/liquid-qt | ||
mv ${DISTNAME}/bin/elements-cli ${DISTNAME}/bin/liquid-cli | ||
mv ${DISTNAME}/bin/elementsd ${DISTNAME}/bin/liquidd | ||
mv ${DISTNAME}/bin/elements-tx ${DISTNAME}/bin/liquid-tx | ||
find ${DISTNAME}/bin -type f -executable -exec ../contrib/devtools/split-debug.sh {} {} {}.dbg \; | ||
find ${DISTNAME}/lib -type f -exec ../contrib/devtools/split-debug.sh {} {} {}.dbg \; | ||
cp ../doc/README.md ${DISTNAME}/ | ||
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 | ||
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 | ||
cd ../../ | ||
rm -rf distsrc-${i} | ||
done | ||
mkdir -p $OUTDIR/src | ||
mv $SOURCEDIST $OUTDIR/src |
Oops, something went wrong.