Skip to content

Commit 102998e

Browse files
committed
Merge #15584: build: disable BIP70 support by default
e09913f doc: specify protobuf as optional in build docs (fanquake) 376f492 build: disable BIP70 support by default (fanquake) Pull request description: Disable BIP70 support in the GUI by default for `0.19.0` (for eventual removal in `0.20.0`?). Users who want to compile with BIP70 support enabled can pass `--enable-bip70` to `./configure`. I've inverted the current `--disable-bip70` test to instead pass `--enable-bip70`. Tested configurations on `macOS` (`protobuf` installed with `brew`). Protobuf available and `./configure`: ``` Options used to compile and link: with wallet = yes with gui / qt = yes with bip70 = no ``` Protobuf available and `./configure --enable-bip70`: ``` Options used to compile and link: with wallet = yes with gui / qt = yes with bip70 = yes ``` Protobuf not available (i.e `brew unlink protobuf`) and `./configure`: ``` Options used to compile and link: with wallet = yes with gui / qt = yes with bip70 = no ``` Protobuf not available and `./configure --enable-bip70`: ``` checking whether to build test_bitcoin-qt... yes checking whether to build BIP70 support... configure: error: protobuf missing ``` TODO: - [x] Remove `protobuf` from other Travis builds - [ ] Documentation updates (mention that `protobuf` is now optional)? - [ ] Could split release notes into GUI and build ACKs for top commit: laanwj: ACK e09913f elichai: ACK e09913f Read the autotools changes. awesome that this removes the protobuf requirement. practicalswift: ACK e09913f -- diff looks correct Tree-SHA512: 7bf87ae8555e24db2da2e89cc4d4e90d09be27499ad386ad65879d05df8f96d9a1384379891ac8963d17728c90e55961560813df97e849e631e2de8c08e210c8
2 parents a199f75 + e09913f commit 102998e

10 files changed

+24
-12
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ jobs:
9999
FILE_ENV="./ci/test/00_setup_env_win64.sh"
100100
101101
- stage: test
102-
name: '32-bit + dash [GOAL: install] [GUI: no BIP70]'
102+
name: '32-bit + dash [GOAL: install] [GUI: BIP70 enabled]'
103103
env: >-
104104
FILE_ENV="./ci/test/00_setup_env_i686.sh"
105105

ci/test/00_setup_env_amd64_asan.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
export LC_ALL=C.UTF-8
88

99
export HOST=x86_64-unknown-linux-gnu
10-
export PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
10+
export PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev"
1111
export NO_DEPENDS=1
1212
export GOAL="install"
1313
export BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=address,integer,undefined CC=clang CXX=clang++"

ci/test/00_setup_env_amd64_qt5.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
export LC_ALL=C.UTF-8
88

99
export HOST=x86_64-unknown-linux-gnu
10-
export PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools protobuf-compiler libdbus-1-dev libharfbuzz-dev libprotobuf-dev"
10+
export PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libdbus-1-dev libharfbuzz-dev"
1111
export DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1 ALLOW_HOST_PACKAGES=1"
1212
export TEST_RUNNER_EXTRA="--coverage --extended --exclude feature_dbcrash" # Run extended tests so that coverage does not fail, but exclude the very slow dbcrash
1313
export GOAL="install"

ci/test/00_setup_env_amd64_trusty.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export LC_ALL=C.UTF-8
88

99
export HOST=x86_64-unknown-linux-gnu
1010
export DOCKER_NAME_TAG=ubuntu:14.04
11-
export PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libicu-dev libpng-dev libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.1++-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
11+
export PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libicu-dev libpng-dev libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.1++-dev libzmq3-dev libqrencode-dev"
1212
export NO_DEPENDS=1
1313
export RUN_FUNCTIONAL_TESTS=false
1414
export GOAL="install"

ci/test/00_setup_env_amd64_tsan.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export LC_ALL=C.UTF-8
88

99
export HOST=x86_64-unknown-linux-gnu
1010
export DOCKER_NAME_TAG=ubuntu:16.04
11-
export PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
11+
export PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev"
1212
export NO_DEPENDS=1
1313
export GOAL="install"
1414
export BITCOIN_CONFIG="--enable-zmq --disable-wallet --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=thread --disable-hardening --disable-asm CC=clang CXX=clang++"

ci/test/00_setup_env_i686.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ export LC_ALL=C.UTF-8
99
export HOST=i686-pc-linux-gnu
1010
export PACKAGES="g++-multilib python3-zmq"
1111
export GOAL="install"
12-
export BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --disable-bip70 --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++"
12+
export BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-bip70 --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++"
1313
export CONFIG_SHELL="/bin/dash"

configure.ac

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -223,10 +223,10 @@ AC_ARG_ENABLE([zmq],
223223
[use_zmq=$enableval],
224224
[use_zmq=yes])
225225
AC_ARG_ENABLE([bip70],
226-
[AS_HELP_STRING([--disable-bip70],
227-
[disable BIP70 (payment protocol) support in GUI (enabled by default)])],
226+
[AS_HELP_STRING([--enable-bip70],
227+
[enable BIP70 (payment protocol) support in the GUI (default is to disable)])],
228228
[enable_bip70=$enableval],
229-
[enable_bip70=auto])
229+
[enable_bip70=no])
230230

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

doc/build-osx.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Then install [Homebrew](https://brew.sh).
1919

2020
## Dependencies
2121
```shell
22-
brew install automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf python qt libevent qrencode
22+
brew install automake berkeley-db4 libtool boost miniupnpc openssl pkg-config python qt libevent qrencode
2323
```
2424

2525
See [dependencies.md](dependencies.md) for a complete overview.

doc/build-unix.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,16 @@ To build without GUI pass `--without-gui`.
112112

113113
To build with Qt 5 you need the following:
114114

115-
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
115+
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools
116116

117117
libqrencode (optional) can be installed with:
118118

119119
sudo apt-get install libqrencode-dev
120120

121+
protobuf (optional) can be installed with:
122+
123+
sudo apt-get install libprotobuf-dev protobuf-compiler
124+
121125
Once these are installed, they will be found by configure and a bitcoin-qt executable will be
122126
built by default.
123127

@@ -140,12 +144,16 @@ ZMQ dependencies (provides ZMQ API):
140144

141145
To build with Qt 5 you need the following:
142146

143-
sudo dnf install qt5-qttools-devel qt5-qtbase-devel protobuf-devel
147+
sudo dnf install qt5-qttools-devel qt5-qtbase-devel
144148

145149
libqrencode (optional) can be installed with:
146150

147151
sudo dnf install qrencode-devel
148152

153+
protobuf (optional) can be installed with:
154+
155+
sudo dnf install protobuf-devel
156+
149157
Notes
150158
-----
151159
The release is built with GCC and then "strip bitcoind" to strip the debug

doc/release-notes-15584.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
GUI Changes
2+
-----------
3+
- In 0.18.0 a `./configure` flag was introduced to allow disabling BIP70 support in the GUI (support was enabled by default). In 0.19.0 this flag is now __disabled__ by default.
4+
- If you want compile Bitcoin Core with BIP70 support in the GUI, you can pass `--enable-bip70` to `./configure`.

0 commit comments

Comments
 (0)