-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathbuildscript
executable file
·52 lines (42 loc) · 1.5 KB
/
buildscript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/bin/bash -ex
# -*- mode: Shell-script; sh-basic-offset: 2; indent-tabs-mode: nil -*-
# Run the eib_error stage on errors. Return code 2 is used for image
# build failures to differentiate from locking failures.
stage_error() {
eib_error
exit 2
}
trap stage_error ERR
# Ensure basic settings are available from the environment.
for var in EIB_BASELIB EIB_SRCDIR EIB_CACHEDIR EIB_DATADIR \
EIB_HELPERSDIR EIB_OUTDIR EIB_TMPDIR EIB_CONTENTDIR
do
if [ ! -v $var ]; then
echo "error: required variable $var not set" >&2
exit 1
fi
done
# Change back to the source directory since we've chrooted.
cd "${EIB_SRCDIR}"
# Declare this as a safe git directory inside the build root since this
# is running as root and the repo may be owned by a different user.
git config --system --add safe.directory "${EIB_SRCDIR}"
# Make sure to find our stage scripts and python library
export PATH="${EIB_SRCDIR}/stages:${PATH}"
export PYTHONPATH="${EIB_SRCDIR}/lib${PYTHONPATH:+:$PYTHONPATH}"
# If the localdir has a lib directory, prepend that to the python path
if [ -n "${EIB_LOCALDIR}" ] && [ -d "${EIB_LOCALDIR}/lib" ]; then
PYTHONPATH="${EIB_LOCALDIR}/lib:${PYTHONPATH}"
fi
# Use our helper script for git access over ssh
export GIT_SSH="${EIB_HELPERSDIR}/git-ssh"
# Tell aws tools to use credentials in sysconfdir
export AWS_SHARED_CREDENTIALS_FILE="${EIB_SYSCONFDIR}/aws-credentials"
. "${EIB_BASELIB}"
exec > >(tee "${EIB_TMPDIR}"/build.txt)
exec 2>&1
# Real build stages
eib_ostree
eib_image
eib_manifest
eib_publish