Fix for file injection is broken on centos computes with Cirros images LP #1587960
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / bin / build-arch
1 #!/bin/sh
2
3 Usage() {
4    cat <<EOF
5 ${0##*/} buildroot-dir arch output [confd]
6
7   build the buildroot dir in buildroot-dir
8   put output in output. confd defaults to topdir/conf
9 EOF
10 }
11
12 error() { echo "$@" 1>&2; }
13 fail() { [ $# -eq 0 ] || error "$@"; exit 1; }
14
15 [ $# -eq 3 -o $# -eq 4 ] ||
16    { Usage 1>&2; exit 1; }
17 [ "$1" = "-h" -o "$1" = "--help" ] && { Usage; exit 0; }
18
19
20 bdir=${1}
21 arch=${2}
22 out=${3}
23 shift 3
24 confd=""
25 [ $# -eq 0 ] && set -- make
26
27 [ -n "$confd" ] || confd=$( cd "${0%/*}/../conf" && pwd) ||
28    fail "failed to find conf dir"
29
30 mkdir -p "$out" || fail "failed to make outdir $out"
31 out=$(cd "${out}" && pwd)
32 [ -e "$confd/.config" ] ||
33     cp "$confd/buildroot-$arch.config" "$confd/.config" ||
34     fail "failed to copy buildroot config"
35 [ -e "$confd/busybox.config" ] ||
36     cp "$confd/busybox.config" "$out/busybox.config" ||
37     fail "failed to copy busybox config"
38
39 cd "$bdir" 
40 make "O=$BR_OUT" "BUSYBOX_CONFIG_FILE=$out/busybox.config" "$@"