mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 12:02:48 +01:00
5f5550933f
6690adba08006739da0060eb4937126bdfa1181a Warn when binaries are built from a dirty branch. (Tyler Chambers) Pull request description: - Adjusted `--version` flag behavior in bitcoind and bitcoin-wallet to have the same behavior. - Added `--version` flag to bitcoin-tx to match. - Added functionality in gen-manpages.sh to error when attempting to generate man pages for binaries built from a dirty branch. mitigates problem with issue #20412 ACKs for top commit: laanwj: Tested ACK 6690adba08006739da0060eb4937126bdfa1181a Tree-SHA512: b5ca509f1a57f66808c2bebc4b710ca00c6fec7b5ebd7eef58018e28e716f5f2358e36551b8a4df571bf3204baed565a297aeefb93990e7a99add502b97ee1b8
53 lines
1.9 KiB
Bash
Executable File
53 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright (c) 2016-2019 The Bitcoin Core developers
|
|
# Distributed under the MIT software license, see the accompanying
|
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
export LC_ALL=C
|
|
TOPDIR=${TOPDIR:-$(git rev-parse --show-toplevel)}
|
|
BUILDDIR=${BUILDDIR:-$TOPDIR}
|
|
|
|
BINDIR=${BINDIR:-$BUILDDIR/src}
|
|
MANDIR=${MANDIR:-$TOPDIR/doc/man}
|
|
|
|
BITCOIND=${BITCOIND:-$BINDIR/dashd}
|
|
BITCOINCLI=${BITCOINCLI:-$BINDIR/dash-cli}
|
|
BITCOINTX=${BITCOINTX:-$BINDIR/dash-tx}
|
|
WALLET_TOOL=${WALLET_TOOL:-$BINDIR/dash-wallet}
|
|
BITCOINQT=${BITCOINQT:-$BINDIR/qt/dash-qt}
|
|
|
|
[ ! -x $BITCOIND ] && echo "$BITCOIND not found or not executable." && exit 1
|
|
|
|
# Don't allow man pages to be generated for binaries built from a dirty tree
|
|
DIRTY=""
|
|
for cmd in $BITCOIND $BITCOINCLI $BITCOINTX $WALLET_TOOL $BITCOINQT; do
|
|
VERSION_OUTPUT=$($cmd --version)
|
|
if [[ $VERSION_OUTPUT == *"dirty"* ]]; then
|
|
DIRTY="${DIRTY}${cmd}\n"
|
|
fi
|
|
done
|
|
if [ -n "$DIRTY" ]
|
|
then
|
|
echo -e "WARNING: the following binaries were built from a dirty tree:\n"
|
|
echo -e $DIRTY
|
|
echo "man pages generated from dirty binaries should NOT be committed."
|
|
echo "To properly generate man pages, please commit your changes to the above binaries, rebuild them, then run this script again."
|
|
fi
|
|
|
|
# The autodetected version git tag can screw up manpage output a little bit
|
|
read -r -a BTCVER <<< "$($BITCOINCLI --version | head -n1 | awk -F'[ -]' '{ print $6, $7 }')"
|
|
|
|
# Create a footer file with copyright content.
|
|
# This gets autodetected fine for dashd if --version-string is not set,
|
|
# but has different outcomes for dash-qt and dash-cli.
|
|
echo "[COPYRIGHT]" > footer.h2m
|
|
$BITCOIND --version | sed -n '1!p' >> footer.h2m
|
|
|
|
for cmd in $BITCOIND $BITCOINCLI $BITCOINTX $WALLET_TOOL $BITCOINQT; do
|
|
cmdname="${cmd##*/}"
|
|
help2man -N --version-string=${BTCVER[0]} --include=footer.h2m -o ${MANDIR}/${cmdname}.1 ${cmd}
|
|
sed -i "s/\\\-${BTCVER[1]}//g" ${MANDIR}/${cmdname}.1
|
|
done
|
|
|
|
rm -f footer.h2m
|