diff mbox series

[1/1] package/bitcoin: add the wallet support option

Message ID 20240312183836.411083-1-ju.o@free.fr
State Accepted
Headers show
Series [1/1] package/bitcoin: add the wallet support option | expand

Commit Message

Julien Olivain March 12, 2024, 6:38 p.m. UTC
The bitcoin Buildroot package has always disabled the wallet support.

This commit adds a config option to enable this support. This allows the
bitcoin-cli command to create wallets, generate addresses and send an
amount to a given address.

Signed-off-by: Julien Olivain <ju.o@free.fr>
---
Note: the wallet option can also be used to write a runtime test for the
bitcoin package (doing a test transaction with the regression test
network).
---
 package/bitcoin/Config.in  | 10 ++++++++++
 package/bitcoin/bitcoin.mk | 15 ++++++++++++++-
 2 files changed, 24 insertions(+), 1 deletion(-)

Comments

Arnout Vandecappelle March 24, 2024, 4:57 p.m. UTC | #1
On 12/03/2024 19:38, Julien Olivain wrote:
> The bitcoin Buildroot package has always disabled the wallet support.
> 
> This commit adds a config option to enable this support. This allows the
> bitcoin-cli command to create wallets, generate addresses and send an
> amount to a given address.
> 
> Signed-off-by: Julien Olivain <ju.o@free.fr>

  Applied to master, thanks.

  Regards,
  Arnout

> ---
> Note: the wallet option can also be used to write a runtime test for the
> bitcoin package (doing a test transaction with the regression test
> network).
> ---
>   package/bitcoin/Config.in  | 10 ++++++++++
>   package/bitcoin/bitcoin.mk | 15 ++++++++++++++-
>   2 files changed, 24 insertions(+), 1 deletion(-)
> 
> diff --git a/package/bitcoin/Config.in b/package/bitcoin/Config.in
> index c4a2447fc95..060cae24f5f 100644
> --- a/package/bitcoin/Config.in
> +++ b/package/bitcoin/Config.in
> @@ -36,6 +36,16 @@ config BR2_PACKAGE_BITCOIN
>   
>   	  https://bitcoincore.org
>   
> +if BR2_PACKAGE_BITCOIN
> +
> +config BR2_PACKAGE_BITCOIN_WALLET
> +	bool "wallet support"
> +	select BR2_PACKAGE_SQLITE
> +	help
> +	  Enable bitcoin wallet support.
> +
> +endif
> +
>   comment "bitcoin needs a toolchain w/ C++, threads, wchar, gcc >= 9"
>   	depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
>   	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
> diff --git a/package/bitcoin/bitcoin.mk b/package/bitcoin/bitcoin.mk
> index 493c569336a..2f8a1777a26 100644
> --- a/package/bitcoin/bitcoin.mk
> +++ b/package/bitcoin/bitcoin.mk
> @@ -13,14 +13,27 @@ BITCOIN_CPE_ID_VENDOR = bitcoin
>   BITCOIN_CPE_ID_PRODUCT = bitcoin_core
>   BITCOIN_DEPENDENCIES = host-pkgconf boost libevent
>   BITCOIN_MAKE_ENV = BITCOIN_GENBUILD_NO_GIT=1
> +# Berkeley Database (bdb) support is always disabled. It is only
> +# needed for legacy wallet format. New wallets are using SQLite.
>   BITCOIN_CONF_OPTS = \
>   	--disable-bench \
> -	--disable-wallet \
>   	--disable-tests \
>   	--with-boost-libdir=$(STAGING_DIR)/usr/lib/ \
>   	--disable-hardening \
> +	--without-bdb \
>   	--without-gui
>   
> +ifeq ($(BR2_PACKAGE_BITCOIN_WALLET),y)
> +BITCOIN_DEPENDENCIES += sqlite
> +BITCOIN_CONF_OPTS += \
> +	--enable-wallet \
> +	--with-sqlite
> +else
> +BITCOIN_CONF_OPTS += \
> +	--disable-wallet \
> +	--without-sqlite
> +endif
> +
>   ifeq ($(BR2_PACKAGE_LIBMINIUPNPC),y)
>   BITCOIN_DEPENDENCIES += libminiupnpc
>   BITCOIN_CONF_OPTS += --with-miniupnpc
Peter Korsgaard March 25, 2024, 6:14 p.m. UTC | #2
>>>>> "Arnout" == Arnout Vandecappelle via buildroot <buildroot@buildroot.org> writes:

 > On 12/03/2024 19:38, Julien Olivain wrote:
 >> The bitcoin Buildroot package has always disabled the wallet support.
 >> This commit adds a config option to enable this support. This allows
 >> the
 >> bitcoin-cli command to create wallets, generate addresses and send an
 >> amount to a given address.
 >> Signed-off-by: Julien Olivain <ju.o@free.fr>

 >  Applied to master, thanks.

Committed to 2024.02.x, thanks.
diff mbox series

Patch

diff --git a/package/bitcoin/Config.in b/package/bitcoin/Config.in
index c4a2447fc95..060cae24f5f 100644
--- a/package/bitcoin/Config.in
+++ b/package/bitcoin/Config.in
@@ -36,6 +36,16 @@  config BR2_PACKAGE_BITCOIN
 
 	  https://bitcoincore.org
 
+if BR2_PACKAGE_BITCOIN
+
+config BR2_PACKAGE_BITCOIN_WALLET
+	bool "wallet support"
+	select BR2_PACKAGE_SQLITE
+	help
+	  Enable bitcoin wallet support.
+
+endif
+
 comment "bitcoin needs a toolchain w/ C++, threads, wchar, gcc >= 9"
 	depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
 	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
diff --git a/package/bitcoin/bitcoin.mk b/package/bitcoin/bitcoin.mk
index 493c569336a..2f8a1777a26 100644
--- a/package/bitcoin/bitcoin.mk
+++ b/package/bitcoin/bitcoin.mk
@@ -13,14 +13,27 @@  BITCOIN_CPE_ID_VENDOR = bitcoin
 BITCOIN_CPE_ID_PRODUCT = bitcoin_core
 BITCOIN_DEPENDENCIES = host-pkgconf boost libevent
 BITCOIN_MAKE_ENV = BITCOIN_GENBUILD_NO_GIT=1
+# Berkeley Database (bdb) support is always disabled. It is only
+# needed for legacy wallet format. New wallets are using SQLite.
 BITCOIN_CONF_OPTS = \
 	--disable-bench \
-	--disable-wallet \
 	--disable-tests \
 	--with-boost-libdir=$(STAGING_DIR)/usr/lib/ \
 	--disable-hardening \
+	--without-bdb \
 	--without-gui
 
+ifeq ($(BR2_PACKAGE_BITCOIN_WALLET),y)
+BITCOIN_DEPENDENCIES += sqlite
+BITCOIN_CONF_OPTS += \
+	--enable-wallet \
+	--with-sqlite
+else
+BITCOIN_CONF_OPTS += \
+	--disable-wallet \
+	--without-sqlite
+endif
+
 ifeq ($(BR2_PACKAGE_LIBMINIUPNPC),y)
 BITCOIN_DEPENDENCIES += libminiupnpc
 BITCOIN_CONF_OPTS += --with-miniupnpc