From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 05 12:40:55 2022 Received: (at 34170) by debbugs.gnu.org; 5 Jan 2022 17:40:56 +0000 Received: from localhost ([127.0.0.1]:41680 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5AHP-0006mX-IO for submit@debbugs.gnu.org; Wed, 05 Jan 2022 12:40:55 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:53927) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5AHO-0006m7-Ir for 34170@debbugs.gnu.org; Wed, 05 Jan 2022 12:40:55 -0500 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 1F5D25C0153; Wed, 5 Jan 2022 12:40:49 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Wed, 05 Jan 2022 12:40:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=carldong.me; h= from:message-id:content-type:mime-version:subject:date :in-reply-to:cc:to:references; s=fm2; bh=JRleEb/mGdchHT3MIE0cNXP I+f17nvaT0mACCWklTz4=; b=OblnjhT1X6FK8Md745fXP7jrPTwcNaGvrsdyN7e srxJ4VSbJiUqPDvffSKY9qZPyzMcTmbcq4NZzGLLALY6WSz2tchCvqPsE62s+AOY 8sgyHmhYI0DVhXpm+Rr6guA6lVJ+bmmQ0BhaFRbXo9LwiLavXOALoMR9rWyfxcAN QP/smcQUuzIYaTyRF4sfwLwnjvEDmdtI3gpOBANqoWsNMB/j4TtCprg930SbrETc Ohi5Eb3C+x/MlomGBYuSrrVh7mKZfuYmq8AhEbB2HSvjDuSYMXIRCQIX3xI0LsCv B0FfO7+KWTmiw/I1WcAvLfsb7pJ65BmNnUxvIpwBGPv+/CA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=JRleEb /mGdchHT3MIE0cNXPI+f17nvaT0mACCWklTz4=; b=LGq2HQZko6shRVcdpB/iBk aq2rPrC/LuS57O50gfg2RkC+5WakWLr0P3KRRk+XLWPkuBObZ10wzLExR5cYfnZI ACXYqpJMJVGzmW7xheV4UlnAQcAuaFIBAZTH634ZynDLY3o+y130PPVmR+j+Dv9G z7k8K2/AyfaTHv3KyPiWLoxACU7UTLZ/AUra/RkteisZ1jRuOk53fgfkObM3kDwf X8CP+V9WxjNFUm2vb0KbiO0VNt4WowlUn4Cbw3Rlzhh30m6d6HvOLeZUDR14djE7 3F88jgVM45+hcMS7G8d3GDei6uxiYqhiYrxV580dYxZfk1rtyz6OTcW6q/vCP6Xg == X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrudefjedgudekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffktgggufffjgfvfhfosegrtdhmrehhtdejnecuhfhrohhmpeevrghrlhcu ffhonhhguceotghonhhtrggtthestggrrhhlughonhhgrdhmvgeqnecuggftrfgrthhtvg hrnhepffejgfetffejfefgheeuvdffhfehffeffedtffeffedvieeiveektedtgfelffei necuffhomhgrihhnpehgihhthhhusgdrtghomhdpsghithhmvgigrdgtohhmnecuvehluh hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheptghonhhtrggtthes tggrrhhlughonhhgrdhmvg X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 5 Jan 2022 12:40:48 -0500 (EST) From: Carl Dong Message-Id: <26B84833-6F9F-4C5D-8448-715C67C16768@carldong.me> Content-Type: multipart/alternative; boundary="Apple-Mail=_EC7E2094-152E-45AD-AABD-1B9A07852BBA" Mime-Version: 1.0 (Mac OS X Mail 15.0 \(3693.40.0.1.81\)) Subject: Re: bug#34170: bitcoin-core bundles leveldb Date: Wed, 5 Jan 2022 12:40:48 -0500 In-Reply-To: <86lezu8qj4.fsf@gmail.com> To: zimoun References: <20190122133124.7ca032d7@scratchpost.org> <865ys6m168.fsf@gmail.com> <86lezu8qj4.fsf@gmail.com> X-Mailer: Apple Mail (2.3693.40.0.1.81) X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34170 Cc: 34170@debbugs.gnu.org, Danny Milosavljevic , Maxime Devos X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --Apple-Mail=_EC7E2094-152E-45AD-AABD-1B9A07852BBA Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Simon, Maxime, Danny, Thanks for CCing me on this message! The rationale for bundling leveldb = in Bitcoin Core goes a bit beyond convenience, it is several things: 1. The original reason for sub-treeing is that Bitcoin Core used to = maintain its own version of leveldb with its own fixes here: = https://github.com/bitcoin-core/leveldb-subtree = , since then most of = these fixes have been upstreamed as of: = https://github.com/bitcoin/bitcoin/pull/17398 = 2. We also used to support using an external leveldb, however, it seems = that it was fragile to rely on external projects to maintain ABI = compatibility, see the quoted IRC bug report here: = https://github.com/bitcoin/bitcoin/pull/23282 = . Reasonable minds may = disagree on this point, especially coming from Guix where patching is = convenient. In addition to the above, Bitcoin Core experienced a hard fork in 2013 = due to database incompatibilities, which has predisposed maintainers = towards a more stringent approach with pinning dependencies and their = configure/build-time flags. See: = https://blog.bitmex.com/bitcoins-consensus-forks/#was-the-2013-incident-a-= hardfork = Let me know if I can provide more context! Cheers, Carl Dong > On Jan 5, 2022, at 4:45 AM, zimoun wrote: >=20 > Hi Maxime, >=20 > On Wed, 05 Jan 2022 at 10:39, Maxime Devos = wrote: >=20 >>> The package bitcore-core still provides =E2=80=99leveldb=E2=80=99: >>>=20 >>> [...] >>>=20 >>> and I am not sure to get what is the issue. Some explanations? >>=20 >> The issue is that bitcoin-core bundles leveldb (which you have shown >> is still the case), even though leveldb is packaged in Guix. >=20 > Thanks, I missed that =E2=80=99leveldb=E2=80=99 is packaged in Guix. = Indeed, it should > preferably be used. >=20 > So reopen. :-) >=20 >=20 > Cheers, > simon --Apple-Mail=_EC7E2094-152E-45AD-AABD-1B9A07852BBA Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Simon, Maxime, Danny,

Thanks for CCing me on this message! The rationale for = bundling leveldb in Bitcoin Core goes a bit beyond convenience, it is = several things:

1. The original reason for sub-treeing is that Bitcoin Core = used to maintain its own version of leveldb with its own fixes = here: https://github.com/bitcoin-core/leveldb-subtree, since = then most of these fixes have been upstreamed as of: https://github.com/bitcoin/bitcoin/pull/17398
2. We also used to support using an external leveldb, = however, it seems that it was fragile to rely on external projects to = maintain ABI compatibility, see the quoted IRC bug report here: https://github.com/bitcoin/bitcoin/pull/23282. Reasonable = minds may disagree on this point, especially coming from Guix where = patching is convenient.

In addition to the above, Bitcoin Core experienced a hard = fork in 2013 due to database incompatibilities, which has predisposed = maintainers towards a more stringent approach with pinning dependencies = and their configure/build-time flags. See: https://blog.bitmex.com/bitcoins-consensus-forks/#was-the-2013-= incident-a-hardfork

Let me know if I can provide more context!

Cheers,
Carl Dong

On Jan 5, 2022, at 4:45 AM, = zimoun <zimon.toutoune@gmail.com> wrote:

Hi = Maxime,

On Wed, 05 Jan 2022 at 10:39, = Maxime Devos <maximedevos@telenet.be> wrote:

The package bitcore-core still provides =E2=80=99leveldb=E2=80=99= :

[...]

and I = am not sure to get what is the issue.  Some explanations?

The issue is that bitcoin-core = bundles leveldb (which you have shown
is still the case), = even though leveldb is packaged in Guix.

Thanks, I missed that =E2=80=99leveldb=E2=80=99 is packaged = in Guix.  Indeed, it should
preferably be used.

So reopen. :-)


Cheers,
simon

= --Apple-Mail=_EC7E2094-152E-45AD-AABD-1B9A07852BBA--