[Pkg-bitcoin-devel] Bug#734597: litecoin: Litecoin still builds with system LevelDB
Dmitry Smirnov
onlyjob at debian.org
Mon Jan 20 03:34:40 UTC 2014
Hi Scott,
Thanks for the relevant links to the discussion that I wasn't aware of.
On Thu, 9 Jan 2014 10:02:37 Scott Howard wrote:
> If you disagree, I'd be interested in hearing why.
Mostly my decision is based on our policy. I'm convinced that
discouraging linking to private libraries is one of the best practices
that we have in Debian. No only it benefit security but also it helps
to maintain coherent up-to-date distribution, encourage communication
and cooperation between maintainers as well as compartmentalise
development without unnecessary duplication.
There are some cases when we have to use bundled library due to local
modifications: for instance we can't use system "libjson-spirit"
because bundled version is different. (I don't know if Bitcoin
developers tried to submit their changes to "libjson-spirit" for
acceptance upstream).
Generally speaking I often find rationale provided by upstreams in
order to justify bundling components to be weak. With the rare
exceptions following our policy is the best practice.
One of the most convincing arguments that I've seen is the following:
http://luke.dashjr.org/tmp/code/20130723-linux-distribution-packaging-and-bitcoin.md.asc
But there are problems:
* We can't ask our users to use upstream-provided binaries.
* Mentioned "unique testing procedures" are not documented in sources
so how can _we_ test?
* It does not make sense to use bundled LevelDB merely because of
"backdor audit". Can't they audit upstream LevelDB release rather
their own copy?
* If using system-wide library makes software fragile it better be
fixed (as well as automatic testing improved to catch possible
causes). Otherwise even using bundled libs won't actually guarantee
integrity or anything.
Basically they are saying somewhat "trust us and beware of any local
modifications".
The above can be taken as the evidence for insufficient post-build
testing which is a weak argument for using bundled software
components.
To support their argument they mention the following incident:
https://github.com/bitcoin/bips/blob/master/bip-0050.mediawiki
But I fail to see how it applies to our situation. From reading
incident report I realise that network safety do not depend that much
on bundled LevelDB or the whole network would be too fragile for
anybody's confidence. Indeed if problem happened due to disagreement
between BerkeleyDB-based and LevelDB-based Bitcoin software I don't
see how this can support this idea that not using bundled LevelDB can
cause implications for the whole network.
Upstream developers emphasise testing. This is one of my reasons to
use system LevelDB which at least runs post-build tests to ensure that
LevelDB is functioning properly. Bitcoin/Litecoin build system doesn't
do that. System LevelDB is also better tested with all its patches and
build flags simply because it is used by more than one package so
there are more eyes on it and potential problem(s) are more likely to
be reported. As maintainer I may not know whether bundled library is
affected by the same issue or if it would be safe to apply patch to
bundled LevelDB without Bitcoin developer's blessing. Finally the only
authority on LevelDB is LevelDB developers, not Bitcoin devs.
After building new Litecoin version I always let it run for some time
before upload. I reckon if there are any disagreement(s) with network
it would probably at least fail to catch-up with blockchain updates.
I'd be interested to know if there are any additional steps to ensure
its proper functioning.
--
All the best,
Dmitry Smirnov.
---
Odious ideas are not entitled to hide from criticism behind the human
shield of their believers' feelings.
-- Richard Stallman
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.alioth.debian.org/pipermail/pkg-bitcoin-devel/attachments/20140120/3d1a618e/attachment.sig>
More information about the Pkg-bitcoin-devel
mailing list