From 63bc8c9a17557c7c6dc4e50ea25c957e6ec2da81 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Sat, 1 Oct 2016 23:02:32 +1300 Subject: [PATCH] Downgrade bdb to 5.3.28 bdb 6.X was released under the AGPL, which is incompatible with MIT-licensed software (the result must be licensed under AGPL). bdb 5.X uses the same license as bdb 4.8, and thus retains the same compatibility as in upstream Bitcoin. Thanks to Luke-Jr for raising this issue. --- build-aux/m4/bitcoin_find_bdb48.m4 | 30 +++++++++++++++--------------- configure.ac | 8 ++++---- depends/packages/bdb.mk | 6 +++--- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/build-aux/m4/bitcoin_find_bdb48.m4 b/build-aux/m4/bitcoin_find_bdb48.m4 index bd5c2af45..20a595270 100644 --- a/build-aux/m4/bitcoin_find_bdb48.m4 +++ b/build-aux/m4/bitcoin_find_bdb48.m4 @@ -1,11 +1,11 @@ -AC_DEFUN([BITCOIN_FIND_BDB62],[ +AC_DEFUN([BITCOIN_FIND_BDB53],[ AC_MSG_CHECKING([for Berkeley DB C++ headers]) BDB_CPPFLAGS= BDB_LIBS= bdbpath=X - bdb62path=X + bdb53path=X bdbdirlist= - for _vn in 6.2 62 6 ''; do + for _vn in 5.3 53 5 ''; do for _pfx in b lib ''; do bdbdirlist="$bdbdirlist ${_pfx}db${_vn}" done @@ -15,8 +15,8 @@ AC_DEFUN([BITCOIN_FIND_BDB62],[ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <${searchpath}db_cxx.h> ]],[[ - #if !((DB_VERSION_MAJOR == 6 && DB_VERSION_MINOR >= 2) || DB_VERSION_MAJOR > 6) - #error "failed to find bdb 6.2+" + #if !((DB_VERSION_MAJOR == 5 && DB_VERSION_MINOR >= 3) || DB_VERSION_MAJOR > 5) + #error "failed to find bdb 5.3+" #endif ]])],[ if test "x$bdbpath" = "xX"; then @@ -28,32 +28,32 @@ AC_DEFUN([BITCOIN_FIND_BDB62],[ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <${searchpath}db_cxx.h> ]],[[ - #if !(DB_VERSION_MAJOR == 6 && DB_VERSION_MINOR == 2) - #error "failed to find bdb 6.2" + #if !(DB_VERSION_MAJOR == 5 && DB_VERSION_MINOR == 3) + #error "failed to find bdb 5.3" #endif ]])],[ - bdb62path="${searchpath}" + bdb53path="${searchpath}" break ],[]) done if test "x$bdbpath" = "xX"; then AC_MSG_RESULT([no]) AC_MSG_ERROR([libdb_cxx headers missing, Bitcoin Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)]) - elif test "x$bdb62path" = "xX"; then + elif test "x$bdb53path" = "xX"; then BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdbpath}],db_cxx) - AC_ARG_WITH([incompatible-bdb],[AS_HELP_STRING([--with-incompatible-bdb], [allow using a bdb version other than 6.2])],[ - AC_MSG_WARN([Found Berkeley DB other than 6.2; wallets opened by this build will not be portable!]) + AC_ARG_WITH([incompatible-bdb],[AS_HELP_STRING([--with-incompatible-bdb], [allow using a bdb version other than 5.3])],[ + AC_MSG_WARN([Found Berkeley DB other than 5.3; wallets opened by this build will not be portable!]) ],[ - AC_MSG_ERROR([Found Berkeley DB other than 6.2, required for portable wallets (--with-incompatible-bdb to ignore or --disable-wallet to disable wallet functionality)]) + AC_MSG_ERROR([Found Berkeley DB other than 5.3, required for portable wallets (--with-incompatible-bdb to ignore or --disable-wallet to disable wallet functionality)]) ]) else - BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdb62path}],db_cxx) - bdbpath="${bdb62path}" + BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdb53path}],db_cxx) + bdbpath="${bdb53path}" fi AC_SUBST(BDB_CPPFLAGS) # TODO: Ideally this could find the library version and make sure it matches the headers being used - for searchlib in db_cxx-6.2 db_cxx; do + for searchlib in db_cxx-5.3 db_cxx; do AC_CHECK_LIB([$searchlib],[main],[ BDB_LIBS="-l${searchlib}" break diff --git a/configure.ac b/configure.ac index 4a2aa8a61..40a985576 100644 --- a/configure.ac +++ b/configure.ac @@ -263,9 +263,9 @@ case $host in dnl add default macports paths CPPFLAGS="$CPPFLAGS -isystem /opt/local/include" LIBS="$LIBS -L/opt/local/lib" - if test -d /opt/local/include/db62; then - CPPFLAGS="$CPPFLAGS -I/opt/local/include/db62" - LIBS="$LIBS -L/opt/local/lib/db62" + if test -d /opt/local/include/db53; then + CPPFLAGS="$CPPFLAGS -I/opt/local/include/db53" + LIBS="$LIBS -L/opt/local/lib/db53" fi fi @@ -512,7 +512,7 @@ AC_SUBST(LIBMEMENV) if test x$enable_wallet != xno; then dnl Check for libdb_cxx only if wallet enabled - BITCOIN_FIND_BDB62 + BITCOIN_FIND_BDB53 fi dnl Check for libminiupnpc (optional) diff --git a/depends/packages/bdb.mk b/depends/packages/bdb.mk index df5df6bde..d0565c880 100644 --- a/depends/packages/bdb.mk +++ b/depends/packages/bdb.mk @@ -1,8 +1,8 @@ package=bdb -$(package)_version=6.2.23 +$(package)_version=5.3.28 $(package)_download_path=http://download.oracle.com/berkeley-db $(package)_file_name=db-$($(package)_version).tar.gz -$(package)_sha256_hash=47612c8991aa9ac2f6be721267c8d3cdccf5ac83105df8e50809daea24e95dc7 +$(package)_sha256_hash=e0a992d740709892e81f9d93f06daf305cf73fb81b545afe72478043172c3628 $(package)_build_subdir=build_unix define $(package)_set_vars @@ -16,7 +16,7 @@ define $(package)_config_cmds endef define $(package)_build_cmds - $(MAKE) libdb_cxx-6.2.a libdb-6.2.a + $(MAKE) libdb_cxx-5.3.a libdb-5.3.a endef define $(package)_stage_cmds