Skip to content

live-build 3.x

live-build 2.x is a pain to install on Wheezy and later, so we have to find a solution to that (be it migrating to live-build 3.x, or to something else). For Tails 1.1, we have kept live-build 2.x, and we provide a custom package thereof, with a version greater than Wheezy’s 3.x (https://tails.boum.org/contribute/build/#manual).

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

If we go with live-build 3.x:

  1. compare the resulting packages list with an ISO 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 ISO file naming
  4. verify that one can still build offline (unsure, given how lb 3.x cleans http_proxy, combined with the broken environment.binary support)
  5. patch and/or overlay syslinux config to bring back our preferences that lb 3.x does not support directly anymore (see commit 3458797)
  6. see what breaks, report bugs upstream and possibly fix them.

Benefits from live-build 3.x improvements:

  • 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 (#5940 (closed))
  • the configuration tree is bind-mounted on /root/config in the chroot, and available for hooks

Cons of switching to live-build 3.x:

  • basically all configuration files were renamed, which makes it a pain to migrate our many branches; same for a bunch of command-line switches;
  • interestingly, live-build 4.x (alpha) has renamed some more files already, and we cannot safely assume this won’t go any further.
  • Even if we move to live-build 3.x, we still realistically can neither contribute upstream our changes based on this branch, nor backport improvements we might implement in the upstream 4.x branch to the 3.x used in production: in the meantime, quite a bit was rewritten in Python, and source files renamed along the way.

Feature Branch: feature/live-build-3.x

Related issues

Original created by @tails on 5691 (Redmine)

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information