Project

General

Profile

Feature #13656

Upgrade bitcoind on bitcoin.lizard

Added by groente 2 months ago. Updated 21 days ago.

Status:
In Progress
Priority:
Elevated
Assignee:
Category:
Infrastructure
Target version:
Start date:
08/19/2017
Due date:
% Done:

10%

QA Check:
Feature Branch:
Type of work:
Sysadmin
Blueprint:
Easy:
Affected tool:

Description

Bitcoind from sid requires libstdc++6 > 7.0, which is not available in stretch. It would make sense to completely upgrade to buster, given how essential this library is.


Related issues

Blocks Tails - Feature #13242: Core work 2017Q4: Sysadmin (Maintain our already existing services) Confirmed 06/29/2017

History

#1 Updated by intrigeri 2 months ago

I guess the next step is to check what's cheaper between:

  1. running Debian testing on this system, which implies 1. making all our Puppet stuff support Buster (it's on my plate for 2018-2019 but we're not quite there yet; ); 2. dealing with the fact that testing has no security support, i.e. monitor & cherry-pick important security updates continuously;
  2. maintaining a (custom, unofficial) backport of bitcoind, which implies to monitor new uploads to sid (e.g. we could subscribe to some RSS feed on tracker.d.o or similar) and rebuild + upload when needed.

I suspect the latter is much more realistic.

#2 Updated by intrigeri about 2 months ago

  • Status changed from New to Confirmed

#3 Updated by intrigeri about 2 months ago

  • Subject changed from Upgrade bitcoin to buster to Upgrade bitcoind on bitcoin.lizard
  • QA Check deleted (Info Needed)

In 2017 bitcoind was upload twice (so far) to sid. In 2016 it was uploaded 4 times. So the custom, unofficial backport indeed seems much cheaper than the "Upgrade to Buster" option => retitling accordingly.

Next step is to verify that the package builds fine in a clean Stretch chroot, and then create a dedicated APT suite, upload there, and configure bitcoin.lizard to pull the package from there.

(Bonus points if we move most of the corresponding code from the private manifests to a tails::bitcoin class, in passing: except a few local class parameters that should be passed via Hiera, and a couple resources that are really tied to lizard's setup, I don't see anything that's worth keeping hidden in that node definition.)

#4 Updated by intrigeri about 2 months ago

  • Status changed from Confirmed to In Progress
  • Assignee changed from bertagaz to groente
  • % Done changed from 0 to 10

intrigeri wrote:

Next step is to verify that the package builds fine in a clean Stretch chroot,

0.14.2~dfsg-1~exp2 does. Technically this is on groente's plate (he was on duty when the breakage started). groente currently lacks upload rights to our custom APT repo, but with sysadmin credentials he could bypass this limitation.

groente, how at ease are you with building Debian packages cleanly for a given distro (using pbuilder, sbuild, you name it)? If that's not something you're used to doing, please reassign to your mentor during the week 33 shift i.e. bertagaz: you'll have to learn these skills at some point, but let's not block on it right now :)

#5 Updated by groente about 1 month ago

  • Blocks Feature #13233: Core work 2017Q3: Sysadmin (Maintain our already existing services) added

#6 Updated by intrigeri about 1 month ago

The last upload to sid saved the day! bitcoind is now up-to-date. However, this is only by pure luck thanks to that temporary workaround:

bitcoin (0.15.0~~rc2~dfsg-1~exp2) experimental; urgency=medium

  * Temporarily use gcc-6 and g++-6 to avoid FTBFS on mips64el (see
    bug#871514).
    Build-depend on gcc-6 g++-6.

 -- Jonas Smedegaard <dr@jones.dk>  Thu, 24 Aug 2017 10:37:05 +0200

So the problem will come back, and probably soon since the bug this change workarounds has been fixed in sid a week or so ago (it affected packages of mine) => feel free to reschedule the fix to "whenever it's needed", but 1. let's keep this ticket open; 2. it's never too early to learn how to build backports in a proper way :)

#7 Updated by anonym 21 days ago

  • Target version changed from Tails_3.2 to Tails_3.3

#8 Updated by intrigeri 18 days ago

  • Blocks Feature #13242: Core work 2017Q4: Sysadmin (Maintain our already existing services) added

#9 Updated by intrigeri 18 days ago

  • Blocks deleted (Feature #13233: Core work 2017Q3: Sysadmin (Maintain our already existing services))

Also available in: Atom PDF