19:00:39 <wumpus> #startmeeting
19:00:39 <lightningbot> Meeting started Thu Jan  2 19:00:39 2020 UTC.  The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot.
19:00:39 <lightningbot> Useful Commands: #action #agreed #help #info #idea #link #topic.
19:01:01 <hebasto> hi
19:01:04 <sipsorcery> hi
19:01:08 <jonatack> hi
19:01:15 <achow101> HI
19:01:24 <wumpus> #bitcoin-core-dev Meeting: wumpus sipa gmaxwell jonasschnelli morcos luke-jr sdaftuar jtimon cfields petertodd kanzure bluematt instagibbs phantomcircuit codeshark michagogo marcofalke paveljanik NicolasDorier jl2012 achow101 meshcollider jnewbery maaku fanquake promag provoostenator aj Chris_Stewart_5 dongcarl gwillen jamesob ken281221 ryanofsky gleb moneyball kvaciral ariard digi_james amiti fjahr
19:01:26 <wumpus> jeremyrubin lightlike emilengler jonatack
19:01:33 <amiti> hi
19:01:36 <MarcoFalke> hi
19:01:39 <kanzure> hi
19:01:41 <moneyball> happy new year everyone
19:02:16 <promag> hi
19:02:20 <MarcoFalke> travis macOS is fixed thanks to hebasto. I just reset all travis runs. Let me know if I missed one
19:02:22 <wumpus> yes, happy new year everyone
19:02:38 <wumpus> thanks hebasto
19:02:49 <hebasto> nm
19:03:35 <sipa> hi
19:03:38 <wumpus> one proposed topic this week by MarcoFalke : Vanilla debian Bitcoin Core package, #17343
19:03:40 <gribble> https://github.com/bitcoin/bitcoin/issues/17343 | Meta: Packaging Bitcoin Core as vanilla system package · Issue #17343 · bitcoin/bitcoin · GitHub
19:03:59 <wumpus> anything else to discuss?
19:04:15 <luke-jr> HNY
19:04:47 <wumpus> #topic High priroity for review
19:04:48 <bitcoin-git> [13bitcoin] 15MarcoFalke closed pull request #17669: tests: have coins simulation test also use CCoinsViewDB (06master...062019-12-coins-tests) 02https://github.com/bitcoin/bitcoin/pull/17669
19:04:49 <sipa> From Wikipedia, the free encyclopedia. HNY may refer to: Happy New Year (2014 film) Hengyang Nanyue Airport, IATA code HNY.
19:05:04 <gleb> Hi
19:05:08 <bitcoin-git> [13bitcoin] 15MarcoFalke reopened pull request #17669: tests: have coins simulation test also use CCoinsViewDB (06master...062019-12-coins-tests) 02https://github.com/bitcoin/bitcoin/pull/17669
19:05:13 <wumpus> 10 blockers (!), 7 chasing concept ACK https://github.com/bitcoin/bitcoin/projects/8
19:05:15 <luke-jr> sipa: it has to be a film? O.o
19:05:20 <wumpus> better get to reviewing :)
19:05:56 <sipa> new year's resolution: review more PRs (and also, 1080p)
19:06:36 <wumpus> would be nice to get #10785 in soon, it's about time, it's from 2017
19:06:39 <gribble> https://github.com/bitcoin/bitcoin/issues/10785 | Serialization improvements by sipa · Pull Request #10785 · bitcoin/bitcoin · GitHub
19:06:58 <wumpus> I definitely wouldn't have the patience to keep rebasing a PR for that long
19:07:00 <MarcoFalke> sipa, review in 1080 pixel instead of  360 pixel?
19:07:11 <sipa> wumpus: making a minimal initial PR with just 2 commits
19:07:31 <jonatack> i think kallewoof wanted to move #16411 from chasing concept acks over to high-priority
19:07:33 <gribble> https://github.com/bitcoin/bitcoin/issues/16411 | BIP-325: Signet support by kallewoof · Pull Request #16411 · bitcoin/bitcoin · GitHub
19:07:36 <wumpus> sipa: oh, it grew over time
19:07:48 <wumpus> jonatack: ok
19:08:08 <sipa> wumpus: not really, and the recent protobuf purging simplified it a bit, actually
19:08:19 <sipa> but still, it seems there is little appetite to review the whole thing at once
19:08:55 <sipa> in any case, concept ack on moving #16411 from chasing concept ack to blocker
19:08:58 <gribble> https://github.com/bitcoin/bitcoin/issues/16411 | BIP-325: Signet support by kallewoof · Pull Request #16411 · bitcoin/bitcoin · GitHub
19:09:02 <wumpus> well tons of people reviewed it
19:09:23 <wumpus> looking at number of comments at least
19:09:42 <sipa> many ryanofsky reviews mostly, iirc :)
19:10:03 <wumpus> ah couldn't really see due to github comment hiding gymnastics
19:10:34 <luke-jr> XD
19:10:57 <wumpus> #topic Vanilla debian Bitcoin Core package (MarcoFalke)
19:10:58 <sipa> must be heavy on their poor Ruby infrastructure
19:12:08 <sipa> MarcoFalke: ^
19:12:08 <MarcoFalke> So packaging is still an unsolved problem for Linux distros. We stopped maintaining the Ubuntu PPA due to numerous problems and provided flatpak and snapcraft packages.
19:12:27 <wumpus> oh, the ppa is no longer maintained?
19:12:28 <MarcoFalke> Though, that uncovered other issues
19:12:28 <luke-jr> MarcoFalke: Matt stopped maintaining the PPA. I didn't.
19:12:39 <luke-jr> wumpus: the bitcoin/bitcoin one Matt used to have is unmaintained now
19:13:00 <MarcoFalke> luke-jr: There are still issues with the ppa, even if maintained.
19:13:26 <wumpus> yes, if it was just a matter of maintenance we could try to find someone else to do it
19:13:26 <achow101> what are the issues?
19:13:36 <luke-jr> IMO flatpak/snapcraft aren't comparable, but go on
19:13:49 <luke-jr> (FWIW, my PPA is at https://launchpad.net/~luke-jr/+archive/ubuntu/bitcoincore )
19:14:38 <wumpus> yes, what are ths issues?
19:14:39 <MarcoFalke> achow101: On the top of my head: * not reproducible builds, no way to verify what happened on the build servers. * People installing the ubuntu ppa on non-ubuntu distros (https://wiki.debian.org/DontBreakDebian )
19:14:42 <wumpus> except non-determinism
19:14:53 <wumpus> yes I mean non-reproducible
19:15:05 <jamesob> hi
19:15:07 <bitcoin-git> [13bitcoin] 15sipa opened pull request #17850: Serialization improvements (minimal initial commits) (06master...06202001_noncastserial) 02https://github.com/bitcoin/bitcoin/pull/17850
19:15:09 <luke-jr> ok, so no real issues? :P
19:15:22 <luke-jr> (non-determinism isn't an issue IMO since it's built by the distro co)
19:15:27 <wumpus> is there a ppa-like system for debian?
19:15:39 <luke-jr> wumpus: you can manually add repos, but nothing as easy as PPA AFAIK :/
19:15:49 <MarcoFalke> * The ppa is also updated only after the OS has been released, so upgrading the Ubuntu might lead to issues
19:15:51 <luke-jr> QuickBuild.io provides PPAs for Debian, but in my experience they don't work :/
19:16:05 <luke-jr> MarcoFalke: I don'
19:16:09 <luke-jr> MarcoFalke: I don't understand what you mean there
19:16:16 <MarcoFalke> * The ppa only supports one version of Bitcoin Core, so  (not) updating Bitcoin Core might lead to issues
19:16:51 <wumpus> I'm interested in that problem, yes, auto-update kind of sucks for bitcoin
19:17:11 <wumpus> it should be a user decision to upgrade
19:17:11 <luke-jr> auto-update is the entire point of PPAs, though
19:17:13 <MarcoFalke> luke-jr: The ppa was only compiled for (let's say Ubuntu 18.04 after it has been released. I.e. Apr 18) So it is harder to install it for the Ubuntu Beta?
19:17:22 <wumpus> could we do better?
19:17:34 <luke-jr> MarcoFalke: not if we update the PPA timely
19:17:39 <wumpus> (apart from having a new package for every new release0
19:17:40 <jamesob> Wouldn't it be better just to provide a shell script that people can curl that builds from source than trying to cater to bad distro build infra?
19:18:00 <luke-jr> jamesob: eww, no
19:18:15 <achow101> MarcoFalke: is your suggestion that we also build debs and upload them to bitcoincore.org?
19:18:16 <wumpus> I mean ,we already have binary builds for linux
19:18:22 <wumpus> they should work on most distros
19:18:28 <wumpus> definitely debian and fedora
19:18:35 <luke-jr> I've been keeping an archive of PPA-generated .debs locally FWIW
19:18:52 <jamesob> Yeah, so what's wrong with saying "ppa build infra isn't up to our standards, so go to these other places"
19:18:54 <luke-jr> wumpus: they only work on Ubuntu in my experience; at least not on Gentoo
19:18:57 <wumpus> the only exception really is non-glibc
19:19:01 <MarcoFalke> luke-jr: Are you volunteering to update the PPA timely for the full matrix of distros/version of Bitcoin Core?
19:19:08 <luke-jr> jamesob: I see no problem w/ the build infra
19:19:28 <jamesob> didn't someone say the buids aren't reproducible?
19:19:31 <luke-jr> MarcoFalke: I can only update the PPA for Launchpad-supported distros, but yes, I have been and intend to continue updating it
19:19:37 <luke-jr> jamesob: neither is the rest of the OS
19:19:57 <luke-jr> jamesob: PPAs are Canonical built for Canonical distros
19:20:17 <wumpus> so anyway: what is the proposal here?
19:20:28 <MarcoFalke> And also, PPAs are not friendly for new users (novice linux users). E.g. I avoid them because it is easy to break the whole system with them.
19:20:39 <MarcoFalke> wumpus: My proposal is to have vanilla packages
19:20:46 <wumpus> how would you do that?
19:20:47 <MarcoFalke> in the vanilla package manager of the distro
19:21:00 <luke-jr> MarcoFalke: we explicitly advise distros NOT to do that..
19:21:04 <wumpus> that's up to the distros, right?
19:21:09 <luke-jr> also, that has the same problems as the PPA?
19:21:12 <MarcoFalke> luke-jr: Why?
19:21:38 <luke-jr> MarcoFalke: 1) their LevelDB packages don't meet consensus-safety standards, and they will not use embedded copies
19:22:01 <luke-jr> MarcoFalke: 2) they won't deploy even minor fixes to stable versions
19:22:04 <fanquake> Hi
19:22:25 * luke-jr looks up our advisement to see if there's anything else
19:22:49 <MarcoFalke> 1) We release versions of Bitcoin Core with different versions of leveldb. So the versioning shouldnt' be an issue. If the packaging is an issue, it can be changed, maybe
19:23:18 <wumpus> bleh, not using the embedded leveldb would really be inadvisable
19:23:27 <luke-jr> for reference, here was our 2013 advisement: http://luke.dashjr.org/tmp/code/20130723-linux-distribution-packaging-and-bitcoin.md.asc
19:23:53 <MarcoFalke> 2) Releasing new versions can be done with "backports", like it is done with clang-8 on Bionic Ubuntu and security fixes are alwasy deployed
19:24:07 <luke-jr> MarcoFalke: backports are no less trouble than PPAs
19:24:18 <luke-jr> PPAs are better because users already have them
19:24:25 <luke-jr> (for the initial install)
19:24:49 <luke-jr> also, the existence of bad PPAs doesn't mean *our* PPAs need to be bad; and not using a PPA ourselves doesn't make the bad ones go away
19:25:34 <MarcoFalke> PPAs are bad pratice in general
19:25:55 <luke-jr> they aren't
19:26:32 <wumpus> I don't think PPAs are bad practice in general, not on ubuntu at least, installing them to other distros like debian is obviously bad
19:26:43 <MarcoFalke> And the bitcoin Core PPA is being used against best practices, so providing one is like encouraging those bad practices
19:27:15 <sipa> MarcoFalke: what do you mean by that (just curious, i know very little about them)
19:27:16 <luke-jr> yes, PPAs target a specific distro/release and shouldn't be used on others
19:27:16 <wumpus> in any case, I think we need to be really careful to reconsider the advisement
19:28:06 <wumpus> we don't want zillions of nodes running years-old software by accident, not because they want to but just because there's no upgrade path
19:28:20 <MarcoFalke> sipa: PPAs are usually compiled for a specific OS version and might break things if installed on a different OS version. E.g. install an Bionic ppa on Ubuntu 19.10 or even Debian
19:28:22 <sipa> agreed
19:28:25 <luke-jr> distro packages are likely to end up with *new* users installing obsolete versions
19:29:16 <sipa> luke-jr: perhaps - but is that really the alternative? given things like snap/flatpak?
19:29:21 <wumpus> MarcoFalke: at least the ppa-add script avoids that, it will only add the ppa for the release that a user has
19:29:42 <MarcoFalke> Ok, so if the preference is to stick with PPAs, we should maintain them
19:29:47 <luke-jr> sipa: that's the topic ;)
19:30:14 <sipa> luke-jr: i think a reasonable conclusion could be that for our use case both distro packages and PPAs are bad
19:30:24 <luke-jr> sipa: PPAs aren't bad though.. :/
19:30:37 <luke-jr> yes, they're targetted, but that's kinda the point
19:30:38 <sipa> luke-jr: i said for our use case
19:30:40 <wumpus> I'm not convinced PPAs are really bad
19:30:52 <sipa> if they result in people running old unupgradable versions
19:31:00 <luke-jr> sipa: they don't
19:31:03 <wumpus> though I prefer people to use the deterministic binaries from bitcoincore.org
19:31:07 <luke-jr> PPAs can be updated for every release
19:31:20 <wumpus> but distro packages wouldn't improve that
19:31:27 <luke-jr> every Core release*
19:31:49 <MarcoFalke> Well, some people use curl $latest_release, so they end up with no upgrade path through $package_manager update
19:31:57 <luke-jr> sipa: for example, my PPA currently has 0.19.0.1 for every supported Ubuntu version; when 0.19.1 is out, it will get that for all versions too
19:31:58 <wumpus> no, PPAs (at least used to) be updated with every release of core
19:32:10 <sipa> ok
19:32:19 <MarcoFalke> So I don't really like the bitcoincore.org/bin/* either
19:32:32 <wumpus> the bitcoin/bitcoin ones are unmaintained at the moment but that's not a fault in PPA
19:32:52 <wumpus> well, nothing is ideal
19:32:56 <luke-jr> I suppose I could update bitcoin/bitcoin if Matt wants to give me access - I just figured it made more sense to retire it
19:33:03 <MarcoFalke> wumpus: True :)
19:33:17 <luke-jr> perhaps it should be updated with a .txt package saying to switch to another source
19:33:32 <wumpus> packaging bitcoin is a difficult issue
19:33:41 <MarcoFalke> luke-jr: It should be maintained in https://github.com/bitcoin-core/packaging
19:33:58 <luke-jr> (although it might be rude to effectively delete from users' PCs on an update)
19:34:06 <MarcoFalke> There is a debian subfolder, but no one has touched it in years: https://github.com/bitcoin-core/packaging/tree/master/debian
19:34:06 <achow101> I'm pretty sure lots of instructions point to the bitcoin/bitcoin ppa
19:34:07 <luke-jr> MarcoFalke: that's the source code, not the PPA
19:34:18 <achow101> and it would screw with people's existing installs from it
19:34:20 <luke-jr> MarcoFalke: I *think* I'm using it as-is still\
19:34:38 <wumpus> I think it would be better if someone took over maintenance of the current one instead of retire it
19:34:50 <luke-jr> maybe deleting the bitcoin/bitcoin PPA will work best - it won't uninstall anything, and will give the user an error when they update repos
19:35:09 <MarcoFalke> At least two people should have access (bus factor) or at least a way to reset the credentials
19:35:11 <wumpus> that's also not very friendly
19:35:23 <wumpus> yes
19:35:27 <MarcoFalke> And we should have documentation how to maintain it
19:35:36 <luke-jr> well, Matt isn't here, so we need to defer that discussion I think
19:35:56 <luke-jr> MarcoFalke: I have a gitian yml that updates it for me; I suppose I should add that to the packaging repo
19:36:05 <luke-jr> (it doesn't generate any files, just uploads)
19:36:41 <wumpus> yes, would be good to have the instructions public
19:37:48 <wumpus> any other topics?
19:38:37 <wumpus> #endmeeting