Gentoo currently has a number of packages required to run a bitcoin node
in its tree, including:
* net-libs/libbitcoinconsensus
* net-p2p/bitcoin-qt
* net-p2p/bitcoind
In version 0.21.1, bitcoin included a consensus algorithm changed call
taproot. There is no configuration opt-in with this change; bitcoin <
0.21.1 does not include taproot, bitcoin >= 0.21.1 does include taproot.
A PR [1] was created the bitcoin packaging proxy maintainer (Like
Dash-Jr, CC'ed) for the bitcoin 0.21.1 version bump. In that PR, Luke
insists that users must explicitly opt-in to the bitcoin 0.21.1 upgrade
because of the taproot consensus algorithm change. I encourage
interested parties to read the conversation in that PR to get the full
context.
* This is a minor version bump (assuming semver, this is the "patch"
level version change in bitcoin), indicating that upstream does not
consider this to be a major/breaking change.
* Upstream does not have a mechanism for notifying users or requiring
them to opt-in to this change
* Upstream does not have a mechanism to opt out of this change. The
users only option is to develop their own fork of the bitcoin software
or never upgrade the package if they want to avoid taproot.
* Taproot was locked by miners, so the network will be upgrading [2]
Therefore, I have a few questions for the fellow Gentoo developers:
1) Should we require users to explicitly opt-in to this upgrade beyond
the usual?
2) If so, how do we do that? I have been unable to find any
documentation or examples of existing packages that require explicit
upgrade opt-in. A REQUIRED_USE or a LICENSE [3] were suggested as well
as PROPERTIES="interactive" [4], but such approaches seem like
unintended/unconventional abuses of those settings as well as annoying
to the user.
My suggested approach was to notifying the user of the change in the
pkg_pretend phase [5] so they're aware before they actually upgrade;
however, the proxy maintainer disagreed and force a revert. [6]
Thank you for your consideration and assistance with this issue,
~Craig
[1] https://github.com/gentoo/gentoo/pull/21490
[2] https://taproot.watch/
[3] https://github.com/gentoo/gentoo/pull/21490#discussion_r663201705
[4] https://github.com/gentoo/gentoo/pull/21490#issuecomment-877542346
[5]
https://github.com/gentoo/gentoo/commit/e62b85aae5a2dd70ff120ebc284bf6d461e34b88#diff-e5afbd0e114be010e271302d0807aba076083d0e623ddd611f7e80b4b02a1c82R91
[6] https://github.com/gentoo/gentoo/pull/21490#issuecomment-877531697
in its tree, including:
* net-libs/libbitcoinconsensus
* net-p2p/bitcoin-qt
* net-p2p/bitcoind
In version 0.21.1, bitcoin included a consensus algorithm changed call
taproot. There is no configuration opt-in with this change; bitcoin <
0.21.1 does not include taproot, bitcoin >= 0.21.1 does include taproot.
A PR [1] was created the bitcoin packaging proxy maintainer (Like
Dash-Jr, CC'ed) for the bitcoin 0.21.1 version bump. In that PR, Luke
insists that users must explicitly opt-in to the bitcoin 0.21.1 upgrade
because of the taproot consensus algorithm change. I encourage
interested parties to read the conversation in that PR to get the full
context.
* This is a minor version bump (assuming semver, this is the "patch"
level version change in bitcoin), indicating that upstream does not
consider this to be a major/breaking change.
* Upstream does not have a mechanism for notifying users or requiring
them to opt-in to this change
* Upstream does not have a mechanism to opt out of this change. The
users only option is to develop their own fork of the bitcoin software
or never upgrade the package if they want to avoid taproot.
* Taproot was locked by miners, so the network will be upgrading [2]
Therefore, I have a few questions for the fellow Gentoo developers:
1) Should we require users to explicitly opt-in to this upgrade beyond
the usual?
2) If so, how do we do that? I have been unable to find any
documentation or examples of existing packages that require explicit
upgrade opt-in. A REQUIRED_USE or a LICENSE [3] were suggested as well
as PROPERTIES="interactive" [4], but such approaches seem like
unintended/unconventional abuses of those settings as well as annoying
to the user.
My suggested approach was to notifying the user of the change in the
pkg_pretend phase [5] so they're aware before they actually upgrade;
however, the proxy maintainer disagreed and force a revert. [6]
Thank you for your consideration and assistance with this issue,
~Craig
[1] https://github.com/gentoo/gentoo/pull/21490
[2] https://taproot.watch/
[3] https://github.com/gentoo/gentoo/pull/21490#discussion_r663201705
[4] https://github.com/gentoo/gentoo/pull/21490#issuecomment-877542346
[5]
https://github.com/gentoo/gentoo/commit/e62b85aae5a2dd70ff120ebc284bf6d461e34b88#diff-e5afbd0e114be010e271302d0807aba076083d0e623ddd611f7e80b4b02a1c82R91
[6] https://github.com/gentoo/gentoo/pull/21490#issuecomment-877531697