Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
39909d3
Merge #8558: Add copyright header to wallet_text_fixture.cpp
laanwj Aug 22, 2016
61a3d9a
Merge #8554: trivial: remove unused variable
laanwj Aug 22, 2016
bb93f82
doc: Add historical release notes for 0.12.1 0.13.0
laanwj Aug 23, 2016
d97fa04
Merge #8445: Move CWallet::setKeyPool to private section of CWallet.
laanwj Aug 24, 2016
c9ebd95
Merge #8560: Trivial: Fix two VarInt examples in serialize.h
sipa Aug 24, 2016
e61556e
Merge #8450: [Test] Replace rpc_wallet_tests.cpp with python RPC unit…
laanwj Aug 24, 2016
7269e4a
Merge #8567: Add default port numbers to REST doc
laanwj Aug 24, 2016
249e720
Merge #8578: [test] Remove unused code
Aug 25, 2016
909945d
Merge #8226: contributing.md: Fix formatting (line lengths and smart …
sipa Aug 25, 2016
3fca7e2
Merge #7579: [Qt] show network/chain errors in the GUI
jonasschnelli Aug 25, 2016
3a497a6
Merge #8462: Move AdvertiseLocal debug output to net category
sipa Aug 25, 2016
df07a31
Merge #8561: Show "end" instead of many zeros when getheaders request…
laanwj Aug 26, 2016
b00f025
Merge #8583: Show XTHIN in GUI
laanwj Aug 26, 2016
15b9e43
Merge #8581: [wallet] rpc: Drop misleading option
laanwj Aug 26, 2016
95c6163
Merge #8590: Remove unused variables
laanwj Aug 26, 2016
59f4df1
Merge #8603: [trivial][doc] Mention gpg --refresh-keys in release-pro…
laanwj Aug 26, 2016
87c81ba
Merge #8602: [trivial][doc] Mention ++i as preferred over i++ in dev …
laanwj Aug 26, 2016
30066a6
Merge #8109: Do not shadow member variables
sipa Aug 26, 2016
f81e4f5
Merge #8545: [doc] Update git-subtree-check.sh README
sipa Aug 26, 2016
22604cb
Merge #8607: [doc] Fix doxygen off-by-one comments, fix typos
laanwj Aug 28, 2016
707e294
Merge #8564: [Wallet] remove unused code/conditions in ReadAtCursor
sipa Aug 29, 2016
e7da915
Merge #8617: Include instructions to extract Mac OS X SDK on Linux us…
sipa Aug 29, 2016
2da811b
Merge #8624: [doc] build: Mention curl
sipa Aug 29, 2016
e8e9599
Merge #8625: [doc] - clarify statement about parallel jobs in rpc-tes…
Aug 30, 2016
fc34ec4
Merge #8566: Easy to use gitian building script
laanwj Aug 30, 2016
40202ef
Dashify gitian-build.sh
codablock Jan 9, 2018
f6658c0
Merge #8611: Reduce default number of blocks to check at startup
laanwj Aug 30, 2016
3b45cae
Merge #8626: Berkeley DB v6 compatibility fix
laanwj Aug 31, 2016
d16b2e5
Merge #8621: [contrib] python: Don't use shell=True
laanwj Aug 31, 2016
75f65e9
Merge #8604: build,doc: Update for 0.13.0+ and OpenBSD 5.9
laanwj Aug 31, 2016
9d061a2
Merge #8163: Do not shadow global RPC table variable (tableRPC)
laanwj Aug 31, 2016
5ce7ba6
Merge #8291: [util] CopyrightHolders: Check for untranslated substitu…
laanwj Aug 31, 2016
88fcf3f
Merge #8191: Do not shadow variables in src/wallet
laanwj Aug 31, 2016
a2d18b4
Merge #8640: [depends] Remove Qt46 package
laanwj Sep 1, 2016
aed0b04
contrib: remove hardcoded version from verify.sh
laanwj Apr 15, 2016
ae0aca9
[contrib] Remove reference to sf and add doc to verify.sh
Apr 15, 2016
79d550d
Merge #8557: [contrib] Rework verifybinaries
laanwj Sep 1, 2016
bc91f34
Merge #8638: rest.cpp: change HTTP_INTERNAL_SERVER_ERROR to HTTP_BAD_…
laanwj Sep 1, 2016
4d0be42
Merge #8272: Make the dummy argument to getaddednodeinfo optional
laanwj Sep 2, 2016
414272a
Merge #8629: C++11: s/boost::scoped_ptr/std::unique_ptr/
laanwj Sep 2, 2016
313cfb0
Merge #8466: [Trivial] Do not shadow variables in networking code
laanwj Sep 2, 2016
75f920e
Merge #8663: trivial: remove unnecessary variable fDaemon
laanwj Sep 6, 2016
2189570
Merge #8645: Remove unused Qt 4.6 patch.
laanwj Sep 6, 2016
f7e9bc6
Merge #8606: Fix some locks
sipa Sep 7, 2016
3d26438
Merge #8673: Trivial: Fix obvious assignment/equality error in test
Sep 7, 2016
6924212
Merge #8683: fix incorrect file name bitcoin.qrc
laanwj Sep 9, 2016
c2a601f
Merge #8680: Address Travis spurious failures
laanwj Sep 9, 2016
b90d761
Merge #8563: Add configure check for -latomic
laanwj Sep 9, 2016
0324fa0
Merge #8677: Do not shadow upper local variable 'send', prevent -Wsha…
laanwj Sep 9, 2016
3baee7b
Merge #8681: Performance Regression Fix: Pre-Allocate txChanged vector
sipa Sep 9, 2016
85c0aab
Merge #8667: Fix SIGHASH_SINGLE bug in test_framework SignatureHash
Sep 9, 2016
5691cee
Merge #8608: Install manpages via make install, also add some autogen…
laanwj Sep 13, 2016
f9694ba
Dashify gen-manpages.sh
codablock Jan 9, 2018
610470c
Remove bitcoin man pages and call gen-manpages.sh for Dash
codablock Jan 9, 2018
fdd0638
Merge #8928: Fix init segfault where InitLoadWallet() calls ATMP befo…
laanwj Oct 19, 2016
8efec7b
Fix wallet-accounts.py tests
codablock Jan 9, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
142 changes: 109 additions & 33 deletions CONTRIBUTING.md

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
ACLOCAL_AMFLAGS = -I build-aux/m4
SUBDIRS = src
if ENABLE_MAN
SUBDIRS += doc/man
endif
.PHONY: deploy FORCE

GZIP_ENV="-9n"
Expand Down Expand Up @@ -213,6 +216,8 @@ DISTCLEANFILES = qa/pull-tester/tests_config.pyc

.INTERMEDIATE: $(COVERAGE_INFO)

DISTCHECK_CONFIGURE_FLAGS = --enable-man

clean-local:
rm -rf coverage_percent.txt test_dash.coverage/ total.coverage/ qa/tmp/ cache/ $(OSX_APP)
rm -rf qa/pull-tester/__pycache__
40 changes: 40 additions & 0 deletions build-aux/m4/l_atomic.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Some versions of gcc/libstdc++ require linking with -latomic if
# using the C++ atomic library.
#
# Sourced from http://bugs.debian.org/797228

m4_define([_CHECK_ATOMIC_testbody], [[
#include <atomic>
#include <cstdint>

int main() {
std::atomic<int64_t> a{};

int64_t v = 5;
int64_t r = a.fetch_add(v);
return static_cast<int>(r);
}
]])

AC_DEFUN([CHECK_ATOMIC], [

AC_LANG_PUSH(C++)

AC_MSG_CHECKING([whether std::atomic can be used without link library])

AC_LINK_IFELSE([AC_LANG_SOURCE([_CHECK_ATOMIC_testbody])],[
AC_MSG_RESULT([yes])
],[
AC_MSG_RESULT([no])
LIBS="$LIBS -latomic"
AC_MSG_CHECKING([whether std::atomic needs -latomic])
AC_LINK_IFELSE([AC_LANG_SOURCE([_CHECK_ATOMIC_testbody])],[
AC_MSG_RESULT([yes])
],[
AC_MSG_RESULT([no])
AC_MSG_FAILURE([cannot figure our how to use std::atomic])
])
])

AC_LANG_POP
])
20 changes: 18 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ case $host in
esac
dnl Require C++11 compiler (no GNU extensions)
AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory], [nodefault])
dnl Check if -latomic is required for <std::atomic>
CHECK_ATOMIC

dnl Unless the user specified OBJCXX, force it to be the same as CXX. This ensures
dnl that we get the same -std flags for both.
Expand All @@ -75,7 +77,8 @@ AC_PATH_TOOL(RANLIB, ranlib)
AC_PATH_TOOL(STRIP, strip)
AC_PATH_TOOL(GCOV, gcov)
AC_PATH_PROG(LCOV, lcov)
AC_PATH_PROGS([PYTHON], [python3 python2.7 python2 python])
dnl Python 3.x is supported from 3.4 on (see https://github.com/bitcoin/bitcoin/issues/7893)
AC_PATH_PROGS([PYTHON], [python3.6 python3.5 python3.4 python3 python2.7 python2 python])
AC_PATH_PROG(GENHTML, genhtml)
AC_PATH_PROG([GIT], [git])
AC_PATH_PROG(CCACHE,ccache)
Expand Down Expand Up @@ -176,6 +179,12 @@ AC_ARG_ENABLE([zmq],

AC_ARG_WITH([protoc-bindir],[AS_HELP_STRING([--with-protoc-bindir=BIN_DIR],[specify protoc bin path])], [protoc_bin_path=$withval], [])

AC_ARG_ENABLE(man,
[AS_HELP_STRING([--disable-man],
[do not install man pages (default is to install)])],,
enable_man=yes)
AM_CONDITIONAL(ENABLE_MAN, test "$enable_man" != no)

# Enable debug
AC_ARG_ENABLE([debug],
[AS_HELP_STRING([--enable-debug],
Expand Down Expand Up @@ -365,8 +374,15 @@ case $host in
TARGET_OS=linux
LEVELDB_TARGET_FLAGS="-DOS_LINUX"
;;
*freebsd*)
LEVELDB_TARGET_FLAGS="-DOS_FREEBSD"
;;
*openbsd*)
LEVELDB_TARGET_FLAGS="-DOS_OPENBSD"
;;
*)
OTHER_OS=`echo ${host_os} | awk '{print toupper($0)}'`
AC_MSG_WARN([Guessing LevelDB OS as OS_${OTHER_OS}, please check whether this is correct, if not add an entry to configure.ac.])
LEVELDB_TARGET_FLAGS="-DOS_${OTHER_OS}"
;;
esac
Expand Down Expand Up @@ -1056,7 +1072,7 @@ AC_SUBST(EVENT_PTHREADS_LIBS)
AC_SUBST(ZMQ_LIBS)
AC_SUBST(PROTOBUF_LIBS)
AC_SUBST(QR_LIBS)
AC_CONFIG_FILES([Makefile src/Makefile share/setup.nsi share/qt/Info.plist src/test/buildenv.py])
AC_CONFIG_FILES([Makefile src/Makefile doc/man/Makefile share/setup.nsi share/qt/Info.plist src/test/buildenv.py])
AC_CONFIG_FILES([qa/pull-tester/run-bitcoind-for-test.sh],[chmod +x qa/pull-tester/run-bitcoind-for-test.sh])
AC_CONFIG_FILES([qa/pull-tester/tests_config.py],[chmod +x qa/pull-tester/tests_config.py])
AC_CONFIG_FILES([contrib/devtools/split-debug.sh],[chmod +x contrib/devtools/split-debug.sh])
Expand Down
7 changes: 5 additions & 2 deletions contrib/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,14 @@ PGP keys used for signing Bitcoin Core [Gitian release](/doc/release-process.md)
### [MacDeploy](/contrib/macdeploy) ###
Scripts and notes for Mac builds.

### [Gitian-build](/contrib/gitian-build.sh) ###
Script for running full gitian builds.

Test and Verify Tools
---------------------

### [TestGen](/contrib/testgen) ###
Utilities to generate test vectors for the data-driven Dash tests.

### [Verify SF Binaries](/contrib/verifysfbinaries) ###
This script attempts to download and verify the signature file SHA256SUMS.asc from SourceForge.
### [Verify Binaries](/contrib/verifybinaries) ###
This script attempts to download and verify the signature file SHA256SUMS.asc from bitcoin.org.
9 changes: 8 additions & 1 deletion contrib/devtools/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,12 @@ would be changed to:

```// Copyright (c) 2009-2015 The Bitcoin Core developers```

gen-manpages.sh
===============

A small script to automatically create manpages in ../../doc/man by running the release binaries with the -help option.
This requires help2man which can be found at: https://www.gnu.org/software/help2man/

git-subtree-check.sh
====================

Expand All @@ -51,8 +57,9 @@ maintained:
* for `src/secp256k1`: https://github.com/bitcoin-core/secp256k1.git (branch master)
* for `src/leveldb`: https://github.com/bitcoin-core/leveldb.git (branch bitcoin-fork)
* for `src/univalue`: https://github.com/bitcoin-core/univalue.git (branch master)
* for `src/crypto/ctaes`: https://github.com/bitcoin-core/ctaes.git (branch master)

Usage: `git-subtree-check.sh DIR COMMIT`
Usage: `git-subtree-check.sh DIR (COMMIT)`

`COMMIT` may be omitted, in which case `HEAD` is used.

Expand Down
77 changes: 49 additions & 28 deletions contrib/devtools/fix-copyright-headers.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env python
'''
#!/usr/bin/env python3
"""
Run this script to update all the copyright headers of files
that were changed this year.

Expand All @@ -10,37 +10,58 @@
it will change it to

// Copyright (c) 2009-2015 The Bitcoin Core developers
'''
import os
"""
import subprocess
import time
import re

year = time.gmtime()[0]
CMD_GIT_DATE = 'git log --format=@%%at -1 %s | date +"%%Y" -u -f -'
CMD_REGEX= "perl -pi -e 's/(20\d\d)(?:-20\d\d)? The Bitcoin/$1-%s The Bitcoin/' %s"
REGEX_CURRENT= re.compile("%s The Bitcoin" % year)
CMD_LIST_FILES= "find %s | grep %s"
CMD_GIT_LIST_FILES = ['git', 'ls-files']
CMD_GIT_DATE = ['git', 'log', '--format=%ad', '--date=short', '-1']
CMD_PERL_REGEX = ['perl', '-pi', '-e']
REGEX_TEMPLATE = 's/(20\\d\\d)(?:-20\\d\\d)? The Bitcoin/$1-%s The Bitcoin/'

FOLDERS = ["./qa", "./src"]
FOLDERS = ["qa/", "src/"]
EXTENSIONS = [".cpp",".h", ".py"]


def get_git_date(file_path):
r = os.popen(CMD_GIT_DATE % file_path)
for l in r:
# Result is one line, so just return
return l.replace("\n","")
return ""

n=1
for folder in FOLDERS:
for extension in EXTENSIONS:
for file_path in os.popen(CMD_LIST_FILES % (folder, extension)):
file_path = os.getcwd() + file_path[1:-1]
if file_path.endswith(extension):
git_date = get_git_date(file_path)
if str(year) == git_date:
# Only update if current year is not found
if REGEX_CURRENT.search(open(file_path, "r").read()) is None:
print n,"Last git edit", git_date, "-", file_path
os.popen(CMD_REGEX % (year,file_path))
d = subprocess.run(CMD_GIT_DATE + [file_path],
stdout=subprocess.PIPE,
check=True,
universal_newlines=True).stdout
# yyyy-mm-dd
return d.split('-')[0]


def skip_file(file_path):
for ext in EXTENSIONS:
if file_path.endswith(ext):
return False
else:
return True

if __name__ == "__main__":
year = str(time.gmtime()[0])
regex_current = re.compile("%s The Bitcoin" % year)
n = 1
for folder in FOLDERS:
for file_path in subprocess.run(
CMD_GIT_LIST_FILES + [folder],
stdout=subprocess.PIPE,
check=True,
universal_newlines=True
).stdout.split("\n"):
if skip_file(file_path):
# print(file_path, "(skip)")
continue
git_date = get_git_date(file_path)
if not year == git_date:
# print(file_path, year, "(skip)")
continue
if regex_current.search(open(file_path, "r").read()) is not None:
# already up to date
# print(file_path, year, "(skip)")
continue
print(n, file_path, "(update to %s)" % year)
subprocess.run(CMD_PERL_REGEX + [REGEX_TEMPLATE % year, file_path], check=True)
n = n + 1
29 changes: 29 additions & 0 deletions contrib/devtools/gen-manpages.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/bin/sh

TOPDIR=${TOPDIR:-$(git rev-parse --show-toplevel)}
SRCDIR=${SRCDIR:-$TOPDIR/src}
MANDIR=${MANDIR:-$TOPDIR/doc/man}

BITCOIND=${BITCOIND:-$SRCDIR/dashd}
BITCOINCLI=${BITCOINCLI:-$SRCDIR/dash-cli}
BITCOINTX=${BITCOINTX:-$SRCDIR/dash-tx}
BITCOINQT=${BITCOINQT:-$SRCDIR/qt/dash-qt}

[ ! -x $BITCOIND ] && echo "$BITCOIND not found or not executable." && exit 1

# The autodetected version git tag can screw up manpage output a little bit
BTCVER=($($BITCOINCLI --version | head -n1 | awk -F'[ -]' '{ print $6, $7 }'))

# Create a footer file with copyright content.
# This gets autodetected fine for bitcoind if --version-string is not set,
# but has different outcomes for bitcoin-qt and bitcoin-cli.
echo "[COPYRIGHT]" > footer.h2m
$BITCOIND --version | sed -n '1!p' >> footer.h2m

for cmd in $BITCOIND $BITCOINCLI $BITCOINTX $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
Loading