initial source tree import
[tails-test.git] / scripts / build
blob94333ece1fb7ff43d2a4a69defb1fae2799cf62e
1 #!/bin/sh
3 # set -x
5 BASEDIR="`dirname $0`/.."
6 . "${BASEDIR}/config/amnesia"
7 if [ -e "${BASEDIR}/config/amnesia.local" ] ; then
8 . "${BASEDIR}/config/amnesia.local"
9 fi
11 extract_home () {
12 tar \
13 jxf home/home.tar.bz2 \
14 --atime-preserve --same-permissions \
15 --directory="config/chroot_local-includes/"
18 # a clean starting point
19 rm -rf cache/stages_rootfs
21 # home
22 [ "${AMNESIA_REFRESH_HOME}" = "no" ] || ./home-refresh
24 # build all configured image types
25 for BUILD_TYPE in ${AMNESIA_IMAGES} ; do
27 case "$BUILD_TYPE" in
28 iso)
29 BUILD_FILENAME_EXT=iso
30 BUILD_FILENAME=binary
32 tar)
33 BUILD_FILENAME_EXT=tar.gz
34 BUILD_FILENAME=binary-tar
36 usb-hdd)
37 BUILD_FILENAME_EXT=img
38 BUILD_FILENAME=binary
41 echo "Image type ${BUILD_TYPE} is not supported." >&2
42 exit 1
44 esac
45 . config/chroot # get LH_LANGUAGE
46 BUILD_BASENAME="amnesia-${AMNESIA_BASE}-${LH_LANGUAGE}-${AMNESIA_TODAY}"
47 BUILD_DEST_FILENAME="${BUILD_BASENAME}.${BUILD_FILENAME_EXT}"
48 BUILD_LOG="build-${BUILD_BASENAME}.log"
50 echo "Cleaning binary stage..."
51 lh clean noautoconfig --binary
53 echo "Running lh config..."
54 lh config noautoconfig --binary-images "${BUILD_TYPE}"
56 echo "Extracting home.tar.bz2 to chroot ..."
57 extract_home
59 echo "Building $BUILD_TYPE image ${BUILD_BASENAME}..."
60 if lh build noautoconfig ${@} 2>&1 | tee "${BUILD_LOG}" ; then
61 echo "Image was successfully created, moving it to ${BUILD_DEST_FILENAME}"
62 mv -i "${BUILD_FILENAME}.${BUILD_FILENAME_EXT}" "${BUILD_DEST_FILENAME}"
63 else
64 echo "lh build failed." >&2
65 exit 1
68 done