config 3.29 KB
Newer Older
amnesia's avatar
amnesia committed
1
#! /bin/sh
2
# automatically run by "lb config"
amnesia's avatar
amnesia committed
3

4 5
set -x

6 7
# we require building from git
if ! git rev-parse --is-inside-work-tree; then
Tails developers's avatar
Typos.  
Tails developers committed
8
    echo "${PWD} is not a Git tree. Exiting."
9 10 11
    exit 1
fi

12 13 14
. config/amnesia
if [ -e config/amnesia.local ] ; then
   . config/amnesia.local
amnesia's avatar
amnesia committed
15 16
fi

intrigeri's avatar
intrigeri committed
17 18
export LB_BOOTSTRAP_INCLUDE='eatmydata'

19
# init variables
20
RUN_LB_CONFIG="lb config noauto"
amnesia's avatar
amnesia committed
21

22
# init config/ with defaults for the target distribution
23
$RUN_LB_CONFIG --distribution jessie ${@}
amnesia's avatar
amnesia committed
24 25

# set Amnesia's general options
26
$RUN_LB_CONFIG \
27
   --verbose \
28
   --apt-recommends false \
Tails developers's avatar
Tails developers committed
29
   --backports false \
30
   --binary-images iso \
31
   --binary-indices false \
32
   --checksums none \
amnesia's avatar
amnesia committed
33
   --bootappend-live "${AMNESIA_APPEND}" \
Cyril Brulebois's avatar
Cyril Brulebois committed
34
   --bootstrap debootstrap \
35
   --bootstrap-config tails-wheezy \
36
   --archive-areas "main contrib non-free" \
37
   --includes none \
38
   --iso-application="The Amnesic Incognito Live System" \
39
   --iso-publisher="https://tails.boum.org/" \
amnesia's avatar
amnesia committed
40
   --iso-volume="TAILS ${AMNESIA_FULL_VERSION}" \
amnesia's avatar
amnesia committed
41
   --memtest none \
42 43 44
   --mirror-binary "http://ftp.us.debian.org/debian/" \
   --mirror-bootstrap "http://ftp.us.debian.org/debian/" \
   --mirror-chroot "http://ftp.us.debian.org/debian/" \
45
   --packages-lists="standard" \
46
   --tasks="standard" \
47
   --linux-packages="linux-image-3.16.0-4" \
48
   --syslinux-menu vesamenu \
T(A)ILS developers's avatar
T(A)ILS developers committed
49
   --syslinux-splash data/splash.png \
amnesia's avatar
amnesia committed
50
   --syslinux-timeout 4 \
51
   --initramfs=live-boot \
amnesia's avatar
amnesia committed
52 53
   ${@}

54
# build i386 images on amd64 as well, include a bunch of kernels
amnesia's avatar
amnesia committed
55 56
hw_arch="`dpkg --print-architecture`"
if [ "$hw_arch" = i386 -o "$hw_arch" = amd64 ]; then
57
   $RUN_LB_CONFIG \
amnesia's avatar
amnesia committed
58
      --architecture i386 \
59
      --linux-flavours "586 amd64" \
amnesia's avatar
amnesia committed
60
      ${@}
61 62
# build powerpc images on powerpc64 as well, include only powerpc kernel
elif [ "$hw_arch" = powerpc -o "$hw_arch" = powerpc64 ]; then
63
   $RUN_LB_CONFIG \
64 65 66
      --architecture powerpc \
      --linux-flavours powerpc \
      ${@}
amnesia's avatar
amnesia committed
67 68
fi

69 70 71 72 73 74 75 76
install -d config/chroot_local-includes/etc/amnesia/

# environment
TAILS_WIKI_SUPPORTED_LANGUAGES="$(ikiwiki-supported-languages ikiwiki.setup)"
[ -n "$TAILS_WIKI_SUPPORTED_LANGUAGES" ] || exit 16
echo "TAILS_WIKI_SUPPORTED_LANGUAGES='${TAILS_WIKI_SUPPORTED_LANGUAGES}'" \
   >> config/chroot_local-includes/etc/amnesia/environment

amnesia's avatar
amnesia committed
77
# version
78
echo "${AMNESIA_FULL_VERSION}" > config/chroot_local-includes/etc/amnesia/version
amnesia's avatar
amnesia committed
79
if git rev-list HEAD 2>&1 >/dev/null; then
80 81
   git rev-list HEAD | head -n 1 >> config/chroot_local-includes/etc/amnesia/version
fi
82 83
echo "live-build: `dpkg-query -W -f='${Version}\n' live-build`" \
   >> config/chroot_local-includes/etc/amnesia/version
84 85 86 87 88
# os-release
cat >> config/chroot_local-includes/etc/os-release <<EOF
TAILS_PRODUCT_NAME="Tails"
TAILS_VERSION_ID="$AMNESIA_VERSION"
EOF
89 90

# changelog
91
cp debian/changelog config/chroot_local-includes/usr/share/doc/amnesia/Changelog
92

93 94 95 96 97 98
# create readahead-list from squashfs.sort
if [ -e config/binary_rootfs/squashfs.sort ]; then
    mkdir -p config/chroot_local-includes/usr/share/amnesia
    sort -k2 -n -r config/binary_rootfs/squashfs.sort |
        cut -d' ' -f1 > config/chroot_local-includes/usr/share/amnesia/readahead-list
fi
99 100 101

# custom APT sources
tails-custom-apt-sources > config/chroot_sources/tails.chroot
Cyril Brulebois's avatar
Cyril Brulebois committed
102 103 104

# custom debootstrap script, setting some APT magic to log downloads:
sed "s,%%topdir%%,$(pwd)," data/debootstrap/tails-wheezy > /usr/share/debootstrap/scripts/tails-wheezy