]> git.ipfire.org Git - ipfire-3.x.git/blame - tools/make-batch
Add msgfmt dependency check for toolchain build.
[ipfire-3.x.git] / tools / make-batch
CommitLineData
cfccf561
MT
1#!/bin/bash
2###############################################################################
3# #
4# IPFire.org - A linux based firewall #
5# Copyright (C) 2008 Michael Tremer & Christian Schmidt #
6# #
7# This program is free software: you can redistribute it and/or modify #
8# it under the terms of the GNU General Public License as published by #
9# the Free Software Foundation, either version 3 of the License, or #
10# (at your option) any later version. #
11# #
12# This program is distributed in the hope that it will be useful, #
13# but WITHOUT ANY WARRANTY; without even the implied warranty of #
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
15# GNU General Public License for more details. #
16# #
17# You should have received a copy of the GNU General Public License #
18# along with this program. If not, see <http://www.gnu.org/licenses/>. #
19# #
20###############################################################################
21
11f0ec61 22BATCHLOG=$BASEDIR/log_${TARGET}/_build.00-batch.log
cfccf561
MT
23
24###############################################################################
25# Starts the batch process in the background #
26###############################################################################
27batch_start() {
2d975b99 28 [ "$1" = "--clean" ] && TARGET=$TARGET $0 clean
29ec0f15 29
da1befdd 30 screen -dmS ipfire $0 batch _run
cfccf561
MT
31}
32
33###############################################################################
34# Run this to check what is going on in the moment #
35###############################################################################
36batch_attach() {
cfccf561
MT
37 screen -x ipfire
38 if [ "$?" -eq "0" ]; then
39 beautify message DONE
40 else
41 beautify message FAIL
42 fi
cfccf561
MT
43}
44
45###############################################################################
46# This is the main batch function that runs one thing after an other #
47###############################################################################
12b17e35 48batch_run() {
da1befdd 49 gettoolchain
532ed0c5 50 local DURATION=$(date "+%s")
783e2049 51 $0 build &> $BATCHLOG
532ed0c5 52 DURATION=$(( $(date "+%s") - ${DURATION} ))
783e2049
MT
53 sleep 30
54 if [ -e "$FAILED" ]; then
a40c94dd 55 batch_mail "Build failed :("
b9742efc 56 else
532ed0c5 57 DURATION=${DURATION} puttarget
9dc5411f 58 fi
cfccf561
MT
59}
60
61###############################################################################
62# A function to send an email to the developers #
63###############################################################################
64batch_mail() {
a40c94dd 65 MAIL_SUBJECT="[${HOSTNAME}] - ${1}"
da1befdd 66
16b89980
MT
67 for i in MAIL_SERVER MAIL_TO MAIL_FROM MAIL_USER MAIL_PASS MAIL_SUBJECT; do
68 [ -n "${!i}" ] && export ${i}="${!i}"
69 done
da1befdd 70
cfccf561 71 ## Send the email
feca79da 72 tools/alog2html < $BATCHLOG 2>&1 | tools/sendEmail
cfccf561 73}