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 53 54 55 56 57 58
|
#!/bin/sh
set -eu
base=$(readlink -f "$(dirname "$(readlink -f "$0")")/../..")
. "$base/lib/environment.sh"
. "$base/lib/functions.sh"
# fail right away if lxc is not installed
if ! which lxc-create >/dev/null; then
echo "E: lxc is not installed"
exit 1
fi
# shellcheck disable=SC2154
sources_list=$(mktemp --tmpdir "debci-lxc-customize-${debci_suite}-XXXXXXXXXXX.list")
script=$(mktemp --tmpdir "debci-lxc-customize-${debci_suite}-XXXXXXXXXXX.sh")
trap 'rm -rf "$sources_list" "$script"' INT TERM EXIT
# shellcheck disable=SC2154
if [ "$debci_distro" = debian ]; then
dbgsym=
test -z "${debci_keyring:-}" && dbgsym=--dbgsym
debci-generate-apt-sources \
--source \
$dbgsym \
-- \
"$debci_suite" > "$sources_list"
export AUTOPKGTEST_APT_SOURCES_FILE="$sources_list"
fi
# configure guest proxy
if [ -n "${GUEST_PROXY:-}" ]; then
echo "echo \"Acquire::http::Proxy \\\"$GUEST_PROXY\\\" ;\" > /etc/apt/apt.conf.d/70proxy" >> "$script"
else
cat >> "$script" <<EOF
if apt-cache show auto-apt-proxy >/dev/null 2>&1; then
DEBIAN_FRONTEND=noninteractive \
apt-get install auto-apt-proxy -q -y --no-install-recommends
fi
EOF
fi
cat >> "$script" <<EOF
DEBIAN_FRONTEND=noninteractive \
apt-get install dpkg-dev ca-certificates -q -y --no-install-recommends
DEBIAN_FRONTEND=noninteractive \
apt-get clean
useradd \
--home-dir /home/debci \
--create-home \
debci
EOF
set -- "$debci_distro" "$debci_suite" "${debci_arch:?}" "$script"
if [ -n "${debci_keyring:-}" ]; then
set -- --keyring "$debci_keyring" "$@"
fi
build_image_as_root autopkgtest-build-lxc "$@"
|