Feature #5691

Consider upgrading to current live-build

Added by Tails 2013-07-18 07:44:36 . Updated 2020-05-15 08:44:07 .

Status:
Confirmed
Priority:
Normal
Assignee:
Category:
Build system
Target version:
Start date:
Due date:
% Done:

20%

Feature Branch:
feature/live-build-3.x
Type of work:
Research
Blueprint:

Starter:
0
Affected tool:
Deliverable for:

Description

We use a slightly modified live-build 2.x to build Tails: https://git.tails.boum.org/live-build.
That package is installed in the Vagrant build box, so that’s invisible to developers, and does not require them to take any special action.

Next thing to do is to decide if we go for upgrading live-build, on the longer term, or something else.

If we go with current live-build:

  1. compare the resulting packages list with Tails images built with live-build 2.x (the tasks support was removed, so we could lack a few standard priority packages)
  2. review all our lb config options, and make sure they are still valid and taking effect
  3. fix the resulting images file naming
  4. patch and/or overlay syslinux config to bring back our preferences that lb 3.x does not support directly anymore (see commit 3458797)
  5. see what breaks, report bugs upstream and possibly fix them.

Benefits from recent live-build improvements:

  • new contributors can find the relevant live-build doc (Feature #12296)
  • inject variables through config/environment.chroot into the chroot environment (note: environment.binary is broken for us, and environemnt.chroot can’t be used for variables whose value contains spaces)
  • use --firmware-chroot true instead of manually listing all firmware packages (not usable for us, see commit 3dee0470)
  • save more disk space at build time (Feature #5940)
  • the configuration tree is bind-mounted on /root/config in the chroot, and available for hooks
  • XXX: any other useful changes since the 3.x era?

Cons of upgrading to current live-build:

  • It requires lots of work.
  • basically all configuration files were renamed, which makes it a pain to migrate our many branches; same for a bunch of command-line switches; this will make the branch painful to review and more importantly, will make it much harder to look up stuff in the Git history of our code base

Subtasks


Related issues

Related to Tails - Feature #5570: Improve failsafe mode Rejected
Related to Tails - Bug #12146: Tails installed using dd is not seen as a bootable device on MacBook Pro Resolved 2017-12-08
Related to Tails - Bug #15477: Consider upgrading to current live-boot In Progress 2018-03-29
Related to Tails - Bug #15349: Migrate away from vmdebootstrap (and possibly from Vagrant) In Progress 2018-02-27
Related to Tails - Feature #12296: Host the Debian Live Manual for live-build 2.x Confirmed 2017-03-04
Copied to Tails - Feature #7217: Build environment compatible with Wheezy Resolved 2014-05-11

History

#1 Updated by intrigeri 2013-11-02 09:02:25

  • Subject changed from live-build 3.x to Build environment compatible with Wheezy
  • Type of work changed from Test to Research
  • Starter set to No

#2 Updated by intrigeri 2013-12-08 15:13:52

  • Assignee set to intrigeri

#3 Updated by intrigeri 2014-04-03 13:09:28

  • Category set to Build system

#4 Updated by intrigeri 2014-04-05 18:00:51

  • Description updated

#5 Updated by intrigeri 2014-04-05 19:20:35

  • Description updated

#6 Updated by intrigeri 2014-04-05 21:43:50

  • Description updated

#7 Updated by intrigeri 2014-04-05 22:23:34

  • Priority changed from Normal to Elevated

Raising priority: if we decide to migrate away from live-build 2.x, better do it as early as possible in the 1.1 release cycle.

#8 Updated by intrigeri 2014-04-05 23:19:35

  • Feature Branch set to feature/live-build-3.x

After many hours of work, I’ve got a live-build 3.x config tree that builds fine until the binary hooks. I expected this process to be painful. It was worse. And I’ve no idea how one could review the current devel..feature/live-build-3.x diff.

Anyway, I’ll try to get something that works out of it, we’ll see.

#9 Updated by intrigeri 2014-04-05 23:19:58

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

#10 Updated by intrigeri 2014-04-05 23:41:45

  • Description updated

#11 Updated by intrigeri 2014-04-05 23:53:59

  • Description updated

feature/live-build-3.x now builds.

#12 Updated by intrigeri 2014-05-11 11:15:45

  • copied to Feature #7217: Build environment compatible with Wheezy added

#13 Updated by intrigeri 2014-05-11 11:16:25

  • Subject changed from Build environment compatible with Wheezy to live-build 3.x
  • Assignee deleted (intrigeri)
  • Priority changed from Elevated to Normal
  • Target version deleted (Tails_1.1)
  • % Done changed from 10 to 20

#14 Updated by intrigeri 2014-05-11 12:16:48

  • Description updated

#15 Updated by BitingBird 2014-07-19 19:12:03

It builds, but doesn’t boot.

#16 Updated by BitingBird 2015-01-02 21:35:50

#17 Updated by intrigeri 2015-01-03 11:00:52

#18 Updated by intrigeri 2015-01-03 11:02:11

#19 Updated by intrigeri 2017-12-08 17:26:22

  • related to Bug #12146: Tails installed using dd is not seen as a bootable device on MacBook Pro added

#20 Updated by intrigeri 2019-03-08 16:07:09

  • Status changed from In Progress to Confirmed

#21 Updated by intrigeri 2019-04-08 13:29:42

  • blocked by deleted (Feature #5940: Save more disk space at build time)

#22 Updated by intrigeri 2020-05-15 08:30:29

  • related to Bug #15477: Consider upgrading to current live-boot added

#23 Updated by intrigeri 2020-05-15 08:34:27

  • Subject changed from live-build 3.x to Consider upgrading to current live-build
  • Description updated

#24 Updated by intrigeri 2020-05-15 08:36:04

  • related to Bug #15349: Migrate away from vmdebootstrap (and possibly from Vagrant) added

#25 Updated by intrigeri 2020-05-15 08:40:34

  • related to Feature #12296: Host the Debian Live Manual for live-build 2.x added

#26 Updated by intrigeri 2020-05-15 08:44:07

  • Description updated