|
|
|
@ -6,7 +6,9 @@ repos="" |
|
|
|
|
keys="" |
|
|
|
|
envs="" |
|
|
|
|
dirs="-v $(pwd):/workdir" |
|
|
|
|
packages="" |
|
|
|
|
targets="all check distcheck" |
|
|
|
|
commands=() |
|
|
|
|
if test -e ./build-in-docker.conf; then |
|
|
|
|
# you can preconfigure the variables in file build-in-docker.conf |
|
|
|
|
# if you do so, add the file to EXTRA_DIST in makefile.am |
|
|
|
@ -18,13 +20,15 @@ while test $# -gt 0; do |
|
|
|
|
echo "$0 [OPTIONS]" |
|
|
|
|
echo |
|
|
|
|
echo "OPTIONS:" |
|
|
|
|
echo " -h, --help show this help" |
|
|
|
|
echo " -i --image <image> use given docker image instead of ${img}" |
|
|
|
|
echo " -t --targets targets specify build targets, default: ${targets}" |
|
|
|
|
echo " -r --repo <url> add given apt repository" |
|
|
|
|
echo " -k --key <url> add public key from url" |
|
|
|
|
echo " -e --env <var>=<val> set environment variable in docker" |
|
|
|
|
echo " -d --dir <dir> access given directory read only" |
|
|
|
|
echo " -h, --help show this help" |
|
|
|
|
echo " -i, --image <image> use given docker image instead of ${img}" |
|
|
|
|
echo " -t, --targets targets specify build targets, default: ${targets}" |
|
|
|
|
echo " -r, --repo <url> add given apt repository" |
|
|
|
|
echo " -k, --key <url> add public key from url" |
|
|
|
|
echo " -e, --env <var>=<val> set environment variable in docker" |
|
|
|
|
echo " -d, --dir <dir> access given directory read only" |
|
|
|
|
echo " -p, --package <pkg> install extra debian packages" |
|
|
|
|
echo " -x, --exe <command> execute commands as root in docker" |
|
|
|
|
echo |
|
|
|
|
echo "EXAMPLE:" |
|
|
|
|
echo |
|
|
|
@ -34,7 +38,8 @@ while test $# -gt 0; do |
|
|
|
|
echo " -d /opt/local/android \\" |
|
|
|
|
echo " -r universe \\" |
|
|
|
|
echo " -r https://dev.marc.waeckerlin.org/repository \\" |
|
|
|
|
echo " -k https://dev.marc.waeckerlin.org/repository/PublicKey" |
|
|
|
|
echo " -k https://dev.marc.waeckerlin.org/repository/PublicKey \\" |
|
|
|
|
echo " -p mrw-c++" |
|
|
|
|
echo |
|
|
|
|
exit 0 |
|
|
|
|
;; |
|
|
|
@ -56,6 +61,12 @@ while test $# -gt 0; do |
|
|
|
|
(-d|--dirs) shift; |
|
|
|
|
dirs+=" -v $1:$1:ro" |
|
|
|
|
;; |
|
|
|
|
(-p|--package) shift; |
|
|
|
|
packages+=" $1" |
|
|
|
|
;; |
|
|
|
|
(-x|--exe) shift; |
|
|
|
|
commands+=("$1") |
|
|
|
|
;; |
|
|
|
|
(*) |
|
|
|
|
echo "**** ERROR: unknown option '$1', try --help" 1>&2 |
|
|
|
|
exit 1 |
|
|
|
@ -85,6 +96,12 @@ if test -n "${keys}"; then |
|
|
|
|
done |
|
|
|
|
fi |
|
|
|
|
docker exec ${DOCKER_ID} apt-get update |
|
|
|
|
if test -n "${packages}"; then |
|
|
|
|
docker exec -i ${DOCKER_ID} apt-get install -y ${packages} |
|
|
|
|
fi |
|
|
|
|
for command in "${commands[@]}"; do |
|
|
|
|
docker exec -i ${DOCKER_ID} ${command} |
|
|
|
|
done |
|
|
|
|
docker exec ${DOCKER_ID} ./resolve-debbuilddeps.sh |
|
|
|
|
docker exec -u $(id -u) ${DOCKER_ID} svn upgrade || true |
|
|
|
|
docker exec -u $(id -u) ${DOCKER_ID} ./bootstrap.sh -t "${targets}" |
|
|
|
|