Skip to content

Commit

Permalink
Merge branch 'staging'
Browse files Browse the repository at this point in the history
  • Loading branch information
jamescowens committed Sep 20, 2020
2 parents 19e30fa + e3db2a8 commit 48575f4
Show file tree
Hide file tree
Showing 113 changed files with 2,754 additions and 2,386 deletions.
7 changes: 6 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ script:
- export CONTINUE=1
- if [ $SECONDS -gt 1200 ]; then export CONTINUE=0; fi # Likely the depends build took very long
- if [ $CONTINUE = "1" ]; then set -o errexit; source ./ci/test/06_script_a.sh; else set +o errexit; echo "$CACHE_ERR_MSG"; false; fi
- 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
- if [ $SECONDS -gt 2700 ]; then export CONTINUE=0; fi # Likely the build took very long
- if [ $CONTINUE = "1" ]; then set -o errexit; source ./ci/test/06_script_b.sh; else set +o errexit; echo "$CACHE_ERR_MSG"; false; fi
after_script:
- echo $TRAVIS_COMMIT_RANGE
Expand Down Expand Up @@ -93,6 +93,11 @@ jobs:
env: >-
FILE_ENV="./ci/test/00_setup_env_native.sh"
- stage: test
name: 'x86_64 Linux [GOAL: install] [GUI] [xenial] [no depends]'
env: >-
FILE_ENV="./ci/test/00_setup_env_native_old.sh"
- stage: test
name: 'macOS 10.12 [no tests]'
env: >-
Expand Down
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,34 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).

## [5.0.1.0] 2020-09-20, leisure
### Added
- wallet, rpc: Implement backup file management functionality #1735 (@jamescowens)
- build: Add support for building with musl and Alpine Linux #1866 (@cyrossignol)
- rpc: Display local IP addresses in "getnetworkinfo" output #1884 (@cyrossignol)

### Changed
- refactor: Implement std::atomic_bool OutOfSyncByAge #1877 (@jamescowens)
- net: Optimize locator construction for "getblocks" messages #1880 (@cyrossignol)
- refactor: Combine GetOrphanRoot() and WantedByOrphan() functions #1883 (@cyrossignol)
- refactor: Convert beacon and backup timers to scheduled jobs #1885 (@cyrossignol, @jamescowens)
- refactor: Rename "neural network project-wide #1886 (@cyrossignol)

### Fixed
- collection of post Fern hotfixes (@jamescowens):
- Change QDateTime::toSecsSinceEpoch() to QDateTime::toMSecsSinceEpoch()
- Change QDateTime::fromSecsSinceEpoch() to QDateTime::fromMSecsSinceEpoch()
- Ensure boost placeholders are compatible
- Fix subtle bug in GetEstimatedStakingFrequency
- test, ci: xenial support #1867 (@div72)
- lib: Fix compatibility with Boost 1.74 #1869 (@theMarix)
- test: Fix tests for _GLIBCXX_ASSERTIONS #1870 (@cyrossignol)
- util: fix Windows API for default data directory with wide characters #1871 (@cyrossignol)
- gui: Fix OP_RETURN filter to avoid hiding transactions with messages #1873 (@cyrossignol)
- net: Fix stalled blockchain progression #1876 (@cyrossignol)
- superblock: Fix regression for superblock builder optimization #1881 (@cyrossignol)
- util: Fix scheduler crash after waking from sleep #1888 (@cyrossignol)

## [5.0.0.0] 2020-09-03, mandatory, "Fern"
### Added
- Backport newer uint256 types from Bitcoin #1570 (@cyrossignol)
Expand Down
18 changes: 18 additions & 0 deletions ci/test/00_setup_env_native_old.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
#
# Copyright (c) 2019-2020 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.UTF-8

export CONTAINER_NAME=ci_native_old
export DOCKER_NAME_TAG=ubuntu:16.04
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"
export RUN_UNIT_TESTS=true
# export RUN_FUNCTIONAL_TESTS=false
# export RUN_SECURITY_TESTS="true"
export GOAL="install"
export GRIDCOIN_CONFIG="--enable-reduce-exports --with-incompatible-bdb --with-gui=qt5"
export NEED_XVFB="true"
export NO_DEPENDS=1
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
AC_PREREQ([2.60])
define(_CLIENT_VERSION_MAJOR, 5)
define(_CLIENT_VERSION_MINOR, 0)
define(_CLIENT_VERSION_REVISION, 0)
define(_CLIENT_VERSION_REVISION, 1)
define(_CLIENT_VERSION_BUILD, 0)
define(_CLIENT_VERSION_IS_RELEASE, true)
define(_COPYRIGHT_YEAR, 2020)
Expand Down
9 changes: 8 additions & 1 deletion depends/config.guess
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,14 @@ Linux|GNU|GNU/*)
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
;;

# If ldd exists, use it to detect musl libc.
if command -v ldd >/dev/null && \
ldd --version 2>&1 | grep -q ^musl
then
LIBC=musl
fi
;;
esac

# Note: order is significant - the case branches are not exclusive.
Expand Down
22 changes: 13 additions & 9 deletions depends/packages/fontconfig.mk
Original file line number Diff line number Diff line change
@@ -1,29 +1,33 @@
package=fontconfig
GCCFLAGS?=
$(package)_version=2.12.1
$(package)_download_path=http://www.freedesktop.org/software/fontconfig/release/
$(package)_download_path=https://www.freedesktop.org/software/fontconfig/release/
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
$(package)_sha256_hash=b449a3e10c47e1d1c7a6ec6e2016cca73d3bd68fbbd4f0ae5cc6b573f7d6c7f3
$(package)_dependencies=freetype expat
$(package)_patches=0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch

define $(package)_set_vars
$(package)_config_opts=--disable-docs --disable-static
$(package)_cxxflags_aarch64_linux = $(GCCFLAGS)
$(package)_cflags_aarch64_linux = $(GCCFLAGS)
$(package)_cxxflags_arm_linux = $(GCCFLAGS)
$(package)_cflags_arm_linux = $(GCCFLAGS)
$(package)_config_opts=--disable-docs --disable-static --disable-libxml2 --disable-iconv
$(package)_config_opts += --disable-dependency-tracking --enable-option-checking
endef

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

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

define $(package)_stage_cmds
$(MAKE) DESTDIR=$($(package)_staging_dir) install
endef

define $(package)_postprocess_cmds
rm lib/*.la
endef

This file was deleted.

6 changes: 1 addition & 5 deletions doc/assets-attribution.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
Assets Attribution
===================

Code: src/strlcpy.h
Author: Todd C. Miller <[email protected]>
License: ISC

Icon: src/qt/res/icons/clock*.png,
src/qt/res/src/*.svg
Designer: Wladimir van der Laan
Expand Down Expand Up @@ -36,7 +32,7 @@ License: LGPL
Icon: scripts/img/reload.xcf (modified),src/qt/res/movies/update_spinner.mng
Icon Pack: Kids
Designer: Everaldo (Everaldo Coelho)
License: GNU/GPL
License: GNU/GPL
Site: http://findicons.com/icon/17102/reload?id=17102

Gridcoin Logo: CryptoCoinTalk Community
25 changes: 24 additions & 1 deletion doc/build-unix.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ Dependency Build Instructions: Ubuntu & Debian
----------------------------------------------
Build requirements:

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

Options when installing required Boost library files:

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


Dependency Build Instructions: Alpine Linux
----------------------------------------------

Build requirements:

apk add autoconf automake boost-dev build-base curl-dev db-dev libtool libzip-dev miniupnpc-dev openssl-dev pkgconfig

**Note:** Alpine Linux only includes Berkeley DB version 5.3 in the package repositories, so we must
run _configure_ with the following option:

./configure --with-incompatible-bdb

To build the wallet with Berkeley DB version 4.8, we need to compile the library from source. See the
[README](../depends/README.md) in the depends directory for one option.

Dependencies for the GUI: Alpine Linux
-----------------------------------------

To build the Qt GUI on Alpine Linux, we need these dependencies:

apk add libqrencode-dev protobuf-dev qt5-qtbase-dev qt5-qtcharts-dev qt5-qtsvg-dev qt5-qttools-dev


Setup and Build Example: Arch Linux
-----------------------------------
This example lists the steps necessary to setup and build a command line only of the latest changes on Arch Linux:
Expand Down
12 changes: 6 additions & 6 deletions doc/coding.txt
Original file line number Diff line number Diff line change
Expand Up @@ -80,24 +80,24 @@ ThreadAppInit2: Initializes Gridcoin. (grc-appinit2)
ThreadOpenAddedConnections: Opens network connections to added nodes. (grc-opencon)

ThreadOpenConnections : Initiates new connections to peers. (grc-opencon)

ThreadMessageHandler : Higher-level message handling (sending and receiving). (grc-msghand)

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

ThreadStakeMiner : Generates Gridcoins. (grc-stake-miner)

ThreadScraper : Pulls statistics from project servers.
Mutually exclusive with NeuralNetwork
Mutually exclusive with ScraperSubscriber

NeuralNetwork : Generates superblocks.
ScraperSubscriber : Generates superblocks.
Mutually exclusive with ThreadScraper

ThreadRPCServer : Remote procedure call handler, listens on port 8332
for connections and services them.

ThreadTopUpKeyPool : Replenishes the keystore's keypool. (grc-key-top)

ThreadCleanWalletPassphrase : Re-locks an encrypted wallet after user (grc-lock-wa)
has unlocked it for a period of time.

Expand Down
3 changes: 0 additions & 3 deletions gridcoinresearch.pro
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,6 @@ HEADERS += src/qt/bitcoingui.h \
src/scrypt.h \
src/pbkdf2.h \
src/serialize.h \
src/strlcpy.h \
src/main.h \
src/miner.h \
src/net.h \
Expand Down Expand Up @@ -273,7 +272,6 @@ HEADERS += src/qt/bitcoingui.h \
src/backup.h \
src/appcache.h \
src/grcrestarter.h \
src/neuralnet.h \
src/qt/clicklabel.h


Expand Down Expand Up @@ -368,7 +366,6 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \
src/backup.cpp \
src/appcache.cpp \
src/grcrestarter.cpp \
src/neuralnet.cpp \
src/qt/clicklabel.cpp

##
Expand Down
Loading

0 comments on commit 48575f4

Please sign in to comment.