[tor-dev] Let's build Tails 3.2~alpha2 instead! [Was: Help us build Tails 3.2~alpha1 build reproducibly]

anonym anonym at riseup.net
Fri Sep 8 17:08:00 UTC 2017

Hi (yet) again,

It turns out there's a serious problem with Tails 3.2~alpha1 so it actually depends on *when* you build it -- the longer you wait, the more it will diverge from the "canonical" 3.2 that was built yesterday (in short: I forgot to freeze which APT repo snapshot to use when building, so Debian package upgrades will be installed during the build as they become available). We are terribly sorry about this if it wasted your time! :/

Please try to build 3.2~alpha2 instead! Below you find the adjusted instructions (the fixes of the two other "erratas" I sent earlier today are applied already):

# How?

For your convenience all instructions needed to attempt to reproduce
Tails 3.2~alpha2 are included hereafter. However all commands are
adapted for Debian Stretch (and Buster/Sid), so your results may vary if
you run another Linux distribution. Our full build instructions [4]
might help if you are having problems.

## Setup the build environment

Building Tails requires the KVM virtual machine hypervisor to be
available, a minimum of 1 GiB of free RAM and a maximum of 20 GB of
free storage.

### Install dependencies

    sudo apt-get install \
        git \
        rake \
        libvirt-daemon-system \
        dnsmasq-base \
        ebtables \
        qemu-system-x86 \
        qemu-utils \
        vagrant \
        vagrant-libvirt \
        vmdebootstrap && \
    sudo systemctl restart libvirtd

### If building as a non-root user

(Skip this section if you intend to build Tails as the root user!)

Make sure that the user that is supposed to initiate the build is part
of the relevant groups:

    for group in kvm libvirt libvirt-qemu; do sudo adduser $user $group; done

Then run `newgrp` (or just reboot) to apply the new group memberships
to the session.

## Build Tails 3.2~alpha2

    git clone https://git-tails.immerda.ch/tails
    cd tails
    git checkout 3.2-alpha2
    git submodule update --init
    rake build

# Send us feedback!

No matter how your build attempt turned out we are interested in you
sending us feedback. For that we'll first need some information of the
system you used -- please run these commands in the exact same
terminal session that you ran `rake build` in (e.g. run them right
after `rake build`)!

    sudo apt install apt-show-versions || :
      for f in /etc/issue /proc/cpuinfo
        echo "--- File: ${f} ---"
        cat "${f}"
      for c in free locale env 'uname -a' '/usr/sbin/libvirtd --version' \
                'qemu-system-x86_64 --version' 'vagrant --version'
        echo "--- Command: ${c} ---"
        eval "${c}"
      if which apt-show-versions >/dev/null
        echo '--- APT package versions ---'
        apt-show-versions qemu:amd64 linux-image-amd64:amd64 vagrant \
    ) | bzip2 > system-info.txt.bz2

Please have a look at the generated file with

    bzless system-info.txt.bz2

to make sure it doesn't contain any sensitive information you do not
want to leak in case you send this file to us or make it public!

Next, please follow the instructions below that match your situation!

## If the build failed.

Please open a ticket on our bug tracker [5] with "Category" set to
"Build system" and `system-info.txt.bz2` attached (note that this makes
this file public).

## If the build succeeded ...

Please compute the SHA-512 checksum of the resulting ISO image:

    sha512sum tails-amd64-3.2~alpha2.iso

and compare it to:

    9b4e9e7ee7b2ab6a3fb959d4e4a2db346ae322f9db5409be4d5460156fa1101c23d834a1886c0ce6bef2ed6fe378a7e76f03394c7f651cc4c9a44ba608dda0bc  tails-amd64-3.2~alpha2.iso

Bonus points if you verify the signed (with: [8]) message containing
the checksum below (note that manually inserted line-wraps marked with
"`\`"). If you run Tails, the verification is very easy! :) [9]

Hash: SHA512

    $ sha512sum tails-amd64-3.2~alpha2.iso
    9b4e9e7ee7b2ab6a3fb959d4e4a2db346ae322f9db5409be4d546015 \
    6fa1101c23d834a1886c0ce6bef2ed6fe378a7e76f03394c7f651cc4 \
    c9a44ba608dda0bc  tails-amd64-3.2~alpha2.iso



### ... and the checksums match (i.e. reproduction succeeded).

Congrats for successfully reproducing Tails 3.2~alpha2! Please send an email
to tails-dev at boum.org (public) or tails at boum.org (private) with the
subject "Reproduction of Tails 3.2~alpha2 successful" and attach
`system-info.txt.bz2` to it.

### ... and the checksums differ (i.e. reproduction failed).

Now you are in a great position to help Tails improve its
reproducibility! Please install
`diffoscope` [7] version 83 or higher. If you
run Debian Stretch, that is:

    echo 'deb http://ftp.debian.org/debian stretch-backports main' \
      | sudo tee /etc/apt/sources.list.d/stretch-backports.list && \
    sudo apt update && \
    sudo apt -o APT::Install-Recommends="true" \
             install diffoscope/stretch-backports

Then download the official Tails 3.2~alpha2 ISO image [6] and compare it
to yours:

    diffoscope \
        --text diffoscope.txt \
        --html diffoscope.html \
        --max-report-size 262144000 \
        --max-diff-block-lines 10000 \
        --max-diff-input-lines 10000000 \
            path/to/official/tails-amd64-3.2~alpha2.iso \
            path/to/your/tails-amd64-3.2~alpha2.iso && \
    bzip2 diffoscope.*

Please send an email to tails-dev at boum.org (public) or tails at boum.org
(private) with the subject "Reproduction of Tails 3.2~alpha2 failed" and
attach `system-info.txt.bz2` to it. We also want you attach one (the
smallest!) of `diffoscope.txt.bz2` and `diffoscope.html.bz2` to the email,
but if they are "big" (say >100 KiB) then please don't bomb our mail
inboxes! Instead upload the file to some web-based file-sharing
service (we recommend RiseUp [10]) and include the link(s) in the email.

Thank you very much for your interest and help!

The Tails project

[1] https://mailman.boum.org/pipermail/tails-dev/2017-August/011591.html
[2] https://labs.riseup.net/code/issues/13624
[3] https://tails.boum.org/support/#talk
[4] https://tails.boum.org/contribute/build
[5] https://labs.riseup.net/code/projects/tails/issues/new
[6] http://dl.amnesia.boum.org/tails/alpha/tails-amd64-3.2~alpha2/
[7] https://diffoscope.org/
[8] https://tails.boum.org/tails-signing.key
[9] https://tails.boum.org/doc/encryption_and_privacy/gpgapplet/decrypt_verify/
[10] https://share.riseup.net/

More information about the tor-dev mailing list