From owner-svn-ports-all@freebsd.org Mon Mar 26 17:33:30 2018 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3945FF5A331; Mon, 26 Mar 2018 17:33:30 +0000 (UTC) (envelope-from vd@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E0D29690FC; Mon, 26 Mar 2018 17:33:29 +0000 (UTC) (envelope-from vd@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DBC06100A8; Mon, 26 Mar 2018 17:33:29 +0000 (UTC) (envelope-from vd@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2QHXTrQ028949; Mon, 26 Mar 2018 17:33:29 GMT (envelope-from vd@FreeBSD.org) Received: (from vd@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2QHXTG5028947; Mon, 26 Mar 2018 17:33:29 GMT (envelope-from vd@FreeBSD.org) Message-Id: <201803261733.w2QHXTG5028947@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: vd set sender to vd@FreeBSD.org using -f From: Vasil Dimov Date: Mon, 26 Mar 2018 17:33:29 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r465619 - head/net-p2p/bitcoin X-SVN-Group: ports-head X-SVN-Commit-Author: vd X-SVN-Commit-Paths: head/net-p2p/bitcoin X-SVN-Commit-Revision: 465619 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Mar 2018 17:33:30 -0000 Author: vd Date: Mon Mar 26 17:33:29 2018 New Revision: 465619 URL: https://svnweb.freebsd.org/changeset/ports/465619 Log: net-p2p/bitcoin: Add an option to use newer BDB Make the new option the default, so that when the port is recompiled it will link against BDB 5.x or 6.x (whichever is the default in the system). This will keep old wallet files readable and will not automatically convert them in an incompatible with BDB 4.8 way. Newly created wallet files will not be readable by Bitcoin Core versions linked with BDB 4.8. Next thing to consider is to remove the option to link against BDB 4.8 as this will remove the net-p2p/bitcoin -> databases/db48 dependency and will make it possible to ditch the latter, which is scheduled for removal from the ports collection on Apr 30 2018. PR: 226527 Approved by: kbowling (maintainer) Added: head/net-p2p/bitcoin/pkg-help (contents, props changed) Modified: head/net-p2p/bitcoin/Makefile Modified: head/net-p2p/bitcoin/Makefile ============================================================================== --- head/net-p2p/bitcoin/Makefile Mon Mar 26 17:13:09 2018 (r465618) +++ head/net-p2p/bitcoin/Makefile Mon Mar 26 17:33:29 2018 (r465619) @@ -4,7 +4,7 @@ PORTNAME= bitcoin PORTVERSION= 0.16.0 DISTVERSIONPREFIX= v -PORTREVISION?= 0 +PORTREVISION?= 1 CATEGORIES= net-p2p finance MAINTAINER= kbowling@FreeBSD.org @@ -37,9 +37,14 @@ TESTS_PLIST_FILES= bin/test_bitcoin-qt \ .endif OPTIONS_DEFINE?= DBUS DEBUG HARDENING QRCODES TESTS UPNP WALLET ZMQ -OPTIONS_DEFAULT?= DBUS HARDENING QRCODES UPNP WALLET +OPTIONS_SINGLE= BDBVER +OPTIONS_SINGLE_BDBVER= BDB48 BDBMODERN +OPTIONS_DEFAULT?= BDBMODERN DBUS HARDENING QRCODES UPNP WALLET OPTIONS_SUB= yes +BDBVER_DESC= Berkeley DB version to use for wallet +BDB48_DESC= Use BDB 4.8 (compatible with 5.x and 6.x) +BDBMODERN_DESC= Use BDB 5.x or 6.x (not compatible with 4.8) HARDENING_DESC= Attempt to harden binaries (PIE for ASLR, NX Stack) QRCODES_DESC= Display QR Codes TESTS_DESC= Build test binary and unit tests @@ -71,7 +76,6 @@ QRCODES_LIB_DEPENDS= libqrencode.so:graphics/libqrenco WALLET_CONFIGURE_ENABLE= wallet WALLET_CXXFLAGS= -I${BDB_INCLUDE_DIR} WALLET_LIBS= -L${BDB_LIB_DIR} -WALLET_USES= bdb:48 ZMQ_CONFIGURE_ENABLE= zmq ZMQ_BUILD_DEPENDS= libzmq4>0:net/libzmq4 @@ -93,6 +97,13 @@ PLIST_FILES?= bin/bitcoin-qt man/man1/bitcoin-qt.1.gz share/applications/bitcoin-qt.desktop share/pixmaps/bitcoin128.png .include + +.if empty(PORT_OPTIONS:MBDB48) +WALLET_CONFIGURE_ON= --with-incompatible-bdb +WALLET_USES= bdb:5+ +.else +WALLET_USES= bdb:48 +.endif .if ${OSVERSION} < 1100000 CONFIGURE_ARGS+=--disable-asm Added: head/net-p2p/bitcoin/pkg-help ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net-p2p/bitcoin/pkg-help Mon Mar 26 17:33:29 2018 (r465619) @@ -0,0 +1,18 @@ +The wallet is stored in a Berkeley database file (BDB) (usually +~/.bitcoin/wallets/wallet.dat). + +Bitcoin Core can use either BDB 4.8, 5.x or 6.x to create and access the +wallet file. + +Wallets created using BDB 4.8 are also accessible by BDB 5.x and 6.x. + +Wallets created using BDB 5.x or 6.x are not accessible by BDB 4.8. + +Opening and using a wallet created by 4.8 with a higher major version (5.x +or 6.x) does not change its format, so it will still be accessible to 4.8 +afterwards. But encrypting an unencrypted wallet recreates it, so encrypting +a 4.8 wallet with Bitcoin Core linked against BDB 5.x or 6.x will render it +unreadable for Bitcoin Core linked against BDB 4.8. + +If you do not plan on copying the wallet file to another machine that uses +BDB 4.8 then it is recommended to use the modern versions of BDB 5.x or 6.x.