38
by Ben Howard
Test changes for bzr based Azure builder |
1 |
#!/bin/bash
|
2 |
short_opts="h" |
|
809.1.1
by Robert C Jennings
maas_config: Missing change for getops from git migration |
3 |
long_opts="distro:,stream:,maas-git-repo:,out:,template:,serial:,local:,base-name:,out_d:" |
38
by Ben Howard
Test changes for bzr based Azure builder |
4 |
getopt_out=$(getopt --name "${0##*/}" \ |
5 |
--options "${short_opts}" --long "${long_opts}" -- "$@") && |
|
6 |
eval set -- "${getopt_out}" || { echo "BAD INVOCATION!"; usage; exit 1; } |
|
7 |
||
8 |
usage() { |
|
9 |
cat <<EOM
|
|
10 |
${0##/} - Populated values in build temple.
|
|
11 |
||
12 |
Required:
|
|
13 |
--distro Distro code name, i.e. precise
|
|
14 |
--template Template file
|
|
40
by Ben Howard
Introducing MAAS images |
15 |
--stream Stream, i.e. daily, release
|
16 |
--base-name The name of the file to work on
|
|
38
by Ben Howard
Test changes for bzr based Azure builder |
17 |
--serial The build serial
|
18 |
--out The output file
|
|
141
by Ben Howard
Finalization for MAAS Image building |
19 |
--out_d Where to stuff the output files
|
38
by Ben Howard
Test changes for bzr based Azure builder |
20 |
|
21 |
Optional:
|
|
808.1.2
by Robert C Jennings
maas-images: remove bzr lp:maas-images entirely |
22 |
--maas-git-repo git repo for maas image code
|
38
by Ben Howard
Test changes for bzr based Azure builder |
23 |
EOM
|
24 |
}
|
|
25 |
||
26 |
||
27 |
fail() { echo "${@}" 2>&1; exit 1;} |
|
28 |
||
40
by Ben Howard
Introducing MAAS images |
29 |
serial="${serial:-$(date +%Y%m%d)}" |
808.1.2
by Robert C Jennings
maas-images: remove bzr lp:maas-images entirely |
30 |
maas_git_repo="${maas_git_repo:-lp:~maas-images-maintainers/maas-images}" |
40
by Ben Howard
Introducing MAAS images |
31 |
template_f="${PWD}/img-maas.tmpl" |
38
by Ben Howard
Test changes for bzr based Azure builder |
32 |
|
33 |
while [ $# -ne 0 ]; do |
|
34 |
cur=${1}; next=${2}; |
|
35 |
case "$cur" in |
|
36 |
--distro) distro=$2; shift;; |
|
40
by Ben Howard
Introducing MAAS images |
37 |
--stream) stream=$2; shift;; |
38 |
--local) local_d=$2; shift;; |
|
808.1.2
by Robert C Jennings
maas-images: remove bzr lp:maas-images entirely |
39 |
--maas-git-repo) maas_git_repo=$2; shift;; |
40
by Ben Howard
Introducing MAAS images |
40 |
--base-name) base_name=$2; shift;; |
41 |
--template) template_f=$2; shift;; |
|
38
by Ben Howard
Test changes for bzr based Azure builder |
42 |
--out) out_f=$2; shift;; |
141
by Ben Howard
Finalization for MAAS Image building |
43 |
--out_d) out_d=$2; shift;; |
38
by Ben Howard
Test changes for bzr based Azure builder |
44 |
--) shift; break;; |
45 |
esac
|
|
46 |
shift;
|
|
47 |
done
|
|
48 |
||
49 |
fail_usage() { fail "Must define $@"; } |
|
50 |
||
51 |
[ -z "${distro}" ] && fail_usage "--distro" |
|
40
by Ben Howard
Introducing MAAS images |
52 |
[ -z "${stream}" ] && fail_usage "--stream" |
53 |
[ -z "${local_d}" ] && fail_usage "--local" |
|
38
by Ben Howard
Test changes for bzr based Azure builder |
54 |
[ -z "${out_f}" ] && fail_usage "--out" |
141
by Ben Howard
Finalization for MAAS Image building |
55 |
[ -z "${out_d}" ] && fail_usage "--out_d" |
40
by Ben Howard
Introducing MAAS images |
56 |
[ -z "${base_name}" ] && fail_usage "--base-name" |
38
by Ben Howard
Test changes for bzr based Azure builder |
57 |
|
248
by Scott Moser
saucy does not have armhf images, make maas images build |
58 |
case "$distro" in |
358
by Ben Howard
Mark |
59 |
trusty) arches="${ARCH_TYPE:-i386 amd64 armhf}"; |
314
by Ben Howard
Use libnss-myhostname for Vagrant images, rather than mucking with /etc/hosts. |
60 |
[[ "$(uname -m)" =~ ppc64 ]] && arches="ppc64el";; |
358
by Ben Howard
Mark |
61 |
*) arches="${ARCH_TYPE:-i386 amd64 armhf}";; |
248
by Scott Moser
saucy does not have armhf images, make maas images build |
62 |
esac
|
199
by Ben Howard
Restrict raring to Intel Architectures for MAAS |
63 |
|
38
by Ben Howard
Test changes for bzr based Azure builder |
64 |
sed -e "s,%d,${distro},g" \ |
40
by Ben Howard
Introducing MAAS images |
65 |
-e "s,%S,${stream},g" \ |
808.1.2
by Robert C Jennings
maas-images: remove bzr lp:maas-images entirely |
66 |
-e "s,%M,${maas_git_repo},g" \ |
40
by Ben Howard
Introducing MAAS images |
67 |
-e "s,%D,${local_d},g" \ |
68 |
-e "s,%B,${base_name},g" \ |
|
141
by Ben Howard
Finalization for MAAS Image building |
69 |
-e "s,%s,${serial},g" \ |
70 |
-e "s,%O,${out_d},g" \ |
|
199
by Ben Howard
Restrict raring to Intel Architectures for MAAS |
71 |
-e "s,%A,${arches},g" \ |
38
by Ben Howard
Test changes for bzr based Azure builder |
72 |
${template_f} > ${out_f} || |
73 |
fail "Unable to write template file"
|
|
74 |
||
75 |
exit 0 |