Skip to content

Commit 48575f4

Browse files
committed
Merge branch 'staging'
2 parents 19e30fa + e3db2a8 commit 48575f4

File tree

113 files changed

+2754
-2386
lines changed

Some content is hidden

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

113 files changed

+2754
-2386
lines changed

.travis.yml

+6-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ script:
4343
- export CONTINUE=1
4444
- if [ $SECONDS -gt 1200 ]; then export CONTINUE=0; fi # Likely the depends build took very long
4545
- if [ $CONTINUE = "1" ]; then set -o errexit; source ./ci/test/06_script_a.sh; else set +o errexit; echo "$CACHE_ERR_MSG"; false; fi
46-
- if [ $SECONDS -gt 2000 ]; then export CONTINUE=0; fi # Likely the build took very long; The tests take about 1000s, so we should abort if we have less than 50*60-1000=2000s left
46+
- if [ $SECONDS -gt 2700 ]; then export CONTINUE=0; fi # Likely the build took very long
4747
- if [ $CONTINUE = "1" ]; then set -o errexit; source ./ci/test/06_script_b.sh; else set +o errexit; echo "$CACHE_ERR_MSG"; false; fi
4848
after_script:
4949
- echo $TRAVIS_COMMIT_RANGE
@@ -93,6 +93,11 @@ jobs:
9393
env: >-
9494
FILE_ENV="./ci/test/00_setup_env_native.sh"
9595
96+
- stage: test
97+
name: 'x86_64 Linux [GOAL: install] [GUI] [xenial] [no depends]'
98+
env: >-
99+
FILE_ENV="./ci/test/00_setup_env_native_old.sh"
100+
96101
- stage: test
97102
name: 'macOS 10.12 [no tests]'
98103
env: >-

CHANGELOG.md

+28
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,34 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](http://keepachangelog.com/)
55
and this project adheres to [Semantic Versioning](http://semver.org/).
66

7+
## [5.0.1.0] 2020-09-20, leisure
8+
### Added
9+
- wallet, rpc: Implement backup file management functionality #1735 (@jamescowens)
10+
- build: Add support for building with musl and Alpine Linux #1866 (@cyrossignol)
11+
- rpc: Display local IP addresses in "getnetworkinfo" output #1884 (@cyrossignol)
12+
13+
### Changed
14+
- refactor: Implement std::atomic_bool OutOfSyncByAge #1877 (@jamescowens)
15+
- net: Optimize locator construction for "getblocks" messages #1880 (@cyrossignol)
16+
- refactor: Combine GetOrphanRoot() and WantedByOrphan() functions #1883 (@cyrossignol)
17+
- refactor: Convert beacon and backup timers to scheduled jobs #1885 (@cyrossignol, @jamescowens)
18+
- refactor: Rename "neural network project-wide #1886 (@cyrossignol)
19+
20+
### Fixed
21+
- collection of post Fern hotfixes (@jamescowens):
22+
- Change QDateTime::toSecsSinceEpoch() to QDateTime::toMSecsSinceEpoch()
23+
- Change QDateTime::fromSecsSinceEpoch() to QDateTime::fromMSecsSinceEpoch()
24+
- Ensure boost placeholders are compatible
25+
- Fix subtle bug in GetEstimatedStakingFrequency
26+
- test, ci: xenial support #1867 (@div72)
27+
- lib: Fix compatibility with Boost 1.74 #1869 (@theMarix)
28+
- test: Fix tests for _GLIBCXX_ASSERTIONS #1870 (@cyrossignol)
29+
- util: fix Windows API for default data directory with wide characters #1871 (@cyrossignol)
30+
- gui: Fix OP_RETURN filter to avoid hiding transactions with messages #1873 (@cyrossignol)
31+
- net: Fix stalled blockchain progression #1876 (@cyrossignol)
32+
- superblock: Fix regression for superblock builder optimization #1881 (@cyrossignol)
33+
- util: Fix scheduler crash after waking from sleep #1888 (@cyrossignol)
34+
735
## [5.0.0.0] 2020-09-03, mandatory, "Fern"
836
### Added
937
- Backport newer uint256 types from Bitcoin #1570 (@cyrossignol)

ci/test/00_setup_env_native_old.sh

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/usr/bin/env bash
2+
#
3+
# Copyright (c) 2019-2020 The Bitcoin Core developers
4+
# Distributed under the MIT software license, see the accompanying
5+
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
6+
7+
export LC_ALL=C.UTF-8
8+
9+
export CONTAINER_NAME=ci_native_old
10+
export DOCKER_NAME_TAG=ubuntu:16.04
11+
export PACKAGES="libqt5gui5 libqt5core5a qtbase5-dev libqt5dbus5 qttools5-dev qttools5-dev-tools libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-iostreams-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libqrencode-dev libzip-dev zlib1g zlib1g-dev libcurl4-openssl-dev"
12+
export RUN_UNIT_TESTS=true
13+
# export RUN_FUNCTIONAL_TESTS=false
14+
# export RUN_SECURITY_TESTS="true"
15+
export GOAL="install"
16+
export GRIDCOIN_CONFIG="--enable-reduce-exports --with-incompatible-bdb --with-gui=qt5"
17+
export NEED_XVFB="true"
18+
export NO_DEPENDS=1

configure.ac

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
22
AC_PREREQ([2.60])
33
define(_CLIENT_VERSION_MAJOR, 5)
44
define(_CLIENT_VERSION_MINOR, 0)
5-
define(_CLIENT_VERSION_REVISION, 0)
5+
define(_CLIENT_VERSION_REVISION, 1)
66
define(_CLIENT_VERSION_BUILD, 0)
77
define(_CLIENT_VERSION_IS_RELEASE, true)
88
define(_COPYRIGHT_YEAR, 2020)

depends/config.guess

+8-1
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,14 @@ Linux|GNU|GNU/*)
150150
#endif
151151
EOF
152152
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
153-
;;
153+
154+
# If ldd exists, use it to detect musl libc.
155+
if command -v ldd >/dev/null && \
156+
ldd --version 2>&1 | grep -q ^musl
157+
then
158+
LIBC=musl
159+
fi
160+
;;
154161
esac
155162

156163
# Note: order is significant - the case branches are not exclusive.

depends/packages/fontconfig.mk

+13-9
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,33 @@
11
package=fontconfig
2-
GCCFLAGS?=
32
$(package)_version=2.12.1
4-
$(package)_download_path=http://www.freedesktop.org/software/fontconfig/release/
3+
$(package)_download_path=https://www.freedesktop.org/software/fontconfig/release/
54
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
65
$(package)_sha256_hash=b449a3e10c47e1d1c7a6ec6e2016cca73d3bd68fbbd4f0ae5cc6b573f7d6c7f3
76
$(package)_dependencies=freetype expat
8-
$(package)_patches=0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch
97

108
define $(package)_set_vars
11-
$(package)_config_opts=--disable-docs --disable-static
12-
$(package)_cxxflags_aarch64_linux = $(GCCFLAGS)
13-
$(package)_cflags_aarch64_linux = $(GCCFLAGS)
14-
$(package)_cxxflags_arm_linux = $(GCCFLAGS)
15-
$(package)_cflags_arm_linux = $(GCCFLAGS)
9+
$(package)_config_opts=--disable-docs --disable-static --disable-libxml2 --disable-iconv
10+
$(package)_config_opts += --disable-dependency-tracking --enable-option-checking
1611
endef
1712

1813
define $(package)_config_cmds
19-
patch -p1 < $($(package)_patch_dir)/0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch &&\
2014
$($(package)_autoconf)
2115
endef
2216

17+
# 2.12.1 uses CHAR_WIDTH which is reserved and clashes with some glibc versions, but newer versions of fontconfig
18+
# have broken makefiles which needlessly attempt to re-generate headers with gperf.
19+
# Instead, change all uses of CHAR_WIDTH, and disable the rule that forces header re-generation.
20+
# This can be removed once the upstream build is fixed.
2321
define $(package)_build_cmds
22+
sed -i 's/CHAR_WIDTH/CHARWIDTH/g' fontconfig/fontconfig.h src/fcobjshash.gperf src/fcobjs.h src/fcobjshash.h && \
23+
sed -i 's/fcobjshash.h: fcobjshash.gperf/fcobjshash.h:/' src/Makefile && \
2424
$(MAKE)
2525
endef
2626

2727
define $(package)_stage_cmds
2828
$(MAKE) DESTDIR=$($(package)_staging_dir) install
2929
endef
30+
31+
define $(package)_postprocess_cmds
32+
rm lib/*.la
33+
endef

depends/patches/fontconfig/0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch

-73
This file was deleted.

doc/assets-attribution.md

+1-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
Assets Attribution
22
===================
33

4-
Code: src/strlcpy.h
5-
Author: Todd C. Miller <[email protected]>
6-
License: ISC
7-
84
Icon: src/qt/res/icons/clock*.png,
95
src/qt/res/src/*.svg
106
Designer: Wladimir van der Laan
@@ -36,7 +32,7 @@ License: LGPL
3632
Icon: scripts/img/reload.xcf (modified),src/qt/res/movies/update_spinner.mng
3733
Icon Pack: Kids
3834
Designer: Everaldo (Everaldo Coelho)
39-
License: GNU/GPL
35+
License: GNU/GPL
4036
Site: http://findicons.com/icon/17102/reload?id=17102
4137

4238
Gridcoin Logo: CryptoCoinTalk Community

doc/build-unix.md

+24-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ Dependency Build Instructions: Ubuntu & Debian
8181
----------------------------------------------
8282
Build requirements:
8383

84-
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
84+
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
8585

8686
Options when installing required Boost library files:
8787

@@ -198,6 +198,29 @@ Once these are installed, they will be found by configure and a gridcoinresearch
198198
built by default.
199199

200200

201+
Dependency Build Instructions: Alpine Linux
202+
----------------------------------------------
203+
204+
Build requirements:
205+
206+
apk add autoconf automake boost-dev build-base curl-dev db-dev libtool libzip-dev miniupnpc-dev openssl-dev pkgconfig
207+
208+
**Note:** Alpine Linux only includes Berkeley DB version 5.3 in the package repositories, so we must
209+
run _configure_ with the following option:
210+
211+
./configure --with-incompatible-bdb
212+
213+
To build the wallet with Berkeley DB version 4.8, we need to compile the library from source. See the
214+
[README](../depends/README.md) in the depends directory for one option.
215+
216+
Dependencies for the GUI: Alpine Linux
217+
-----------------------------------------
218+
219+
To build the Qt GUI on Alpine Linux, we need these dependencies:
220+
221+
apk add libqrencode-dev protobuf-dev qt5-qtbase-dev qt5-qtcharts-dev qt5-qtsvg-dev qt5-qttools-dev
222+
223+
201224
Setup and Build Example: Arch Linux
202225
-----------------------------------
203226
This example lists the steps necessary to setup and build a command line only of the latest changes on Arch Linux:

doc/coding.txt

+6-6
Original file line numberDiff line numberDiff line change
@@ -80,24 +80,24 @@ ThreadAppInit2: Initializes Gridcoin. (grc-appinit2)
8080
ThreadOpenAddedConnections: Opens network connections to added nodes. (grc-opencon)
8181

8282
ThreadOpenConnections : Initiates new connections to peers. (grc-opencon)
83-
83+
8484
ThreadMessageHandler : Higher-level message handling (sending and receiving). (grc-msghand)
8585

8686
ThreadDumpAddress : Saves peers to peers.dat (grc-adrdump)
8787

8888
ThreadStakeMiner : Generates Gridcoins. (grc-stake-miner)
89-
89+
9090
ThreadScraper : Pulls statistics from project servers.
91-
Mutually exclusive with NeuralNetwork
91+
Mutually exclusive with ScraperSubscriber
9292

93-
NeuralNetwork : Generates superblocks.
93+
ScraperSubscriber : Generates superblocks.
9494
Mutually exclusive with ThreadScraper
9595

9696
ThreadRPCServer : Remote procedure call handler, listens on port 8332
9797
for connections and services them.
98-
98+
9999
ThreadTopUpKeyPool : Replenishes the keystore's keypool. (grc-key-top)
100-
100+
101101
ThreadCleanWalletPassphrase : Re-locks an encrypted wallet after user (grc-lock-wa)
102102
has unlocked it for a period of time.
103103

gridcoinresearch.pro

-3
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,6 @@ HEADERS += src/qt/bitcoingui.h \
212212
src/scrypt.h \
213213
src/pbkdf2.h \
214214
src/serialize.h \
215-
src/strlcpy.h \
216215
src/main.h \
217216
src/miner.h \
218217
src/net.h \
@@ -273,7 +272,6 @@ HEADERS += src/qt/bitcoingui.h \
273272
src/backup.h \
274273
src/appcache.h \
275274
src/grcrestarter.h \
276-
src/neuralnet.h \
277275
src/qt/clicklabel.h
278276

279277

@@ -368,7 +366,6 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \
368366
src/backup.cpp \
369367
src/appcache.cpp \
370368
src/grcrestarter.cpp \
371-
src/neuralnet.cpp \
372369
src/qt/clicklabel.cpp
373370

374371
##

0 commit comments

Comments
 (0)