Gentoo Archives: gentoo-dev

From: William Hubbs <williamh@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Require opt-in for bitcoin upgrade?
Date: Sat, 10 Jul 2021 18:50:24
Message-Id: YOnr5aJXv5OIg4/d@linux1.home
In Reply to: [gentoo-dev] Require opt-in for bitcoin upgrade? by Craig Andrews
1 On Sat, Jul 10, 2021 at 11:42:28AM -0400, Craig Andrews wrote:
2 > Gentoo currently has a number of packages required to run a bitcoin node
3 > in its tree, including:
4 > * net-libs/libbitcoinconsensus
5 > * net-p2p/bitcoin-qt
6 > * net-p2p/bitcoind
7 >
8 > In version 0.21.1, bitcoin included a consensus algorithm changed call
9 > taproot. There is no configuration opt-in with this change; bitcoin <
10 > 0.21.1 does not include taproot, bitcoin >= 0.21.1 does include taproot.
11 >
12 > A PR [1] was created the bitcoin packaging proxy maintainer (Like
13 > Dash-Jr, CC'ed) for the bitcoin 0.21.1 version bump. In that PR, Luke
14 > insists that users must explicitly opt-in to the bitcoin 0.21.1 upgrade
15 > because of the taproot consensus algorithm change. I encourage
16 > interested parties to read the conversation in that PR to get the full
17 > context.
18 >
19 > * This is a minor version bump (assuming semver, this is the "patch"
20 > level version change in bitcoin), indicating that upstream does not
21 > consider this to be a major/breaking change.
22 > * Upstream does not have a mechanism for notifying users or requiring
23 > them to opt-in to this change
24 > * Upstream does not have a mechanism to opt out of this change. The
25 > users only option is to develop their own fork of the bitcoin software
26 > or never upgrade the package if they want to avoid taproot.
27 > * Taproot was locked by miners, so the network will be upgrading [2]
28
29 I suggest the following:
30
31 1) a newsitem explaining this issue.
32 2) at the same time, package.mask the newer version temporarily and keep
33 the older version in the tree.
34 3) Once the network is upgraded, unmask the newer version and drop the
35 older version. If people want the older version at that point and write
36 a fork, you'll have to rename itt.
37
38 >
39 > Therefore, I have a few questions for the fellow Gentoo developers:
40 > 1) Should we require users to explicitly opt-in to this upgrade beyond
41 > the usual?
42 > 2) If so, how do we do that? I have been unable to find any
43 > documentation or examples of existing packages that require explicit
44 > upgrade opt-in. A REQUIRED_USE or a LICENSE [3] were suggested as well
45 > as PROPERTIES="interactive" [4], but such approaches seem like
46 > unintended/unconventional abuses of those settings as well as annoying
47 > to the user.
48
49 If you do, I think you can do it the way I suggested without adding
50 extra things to the ebuild.
51
52 >
53 > My suggested approach was to notifying the user of the change in the
54 > pkg_pretend phase [5] so they're aware before they actually upgrade;
55 > however, the proxy maintainer disagreed and force a revert. [6]
56
57 As far as I know proxy maintainers can't force anything; they defer to
58 developers because we are the ones who are more familiar with the way
59 the tree works.
60
61 That being said, I still think the cleaner solution is to use
62 a temporary package.mask along with a newsitem.
63
64 Thanks,
65
66 William

Attachments

File name MIME type
signature.asc application/pgp-signature