Add commandline argument for config file
A config file can be specified when running build, e.g.: ./build.sh myconfig
This commit is contained in:
parent
cc6605695d
commit
7fbfdda31e
3 changed files with 32 additions and 14 deletions
|
@ -95,6 +95,13 @@ A simple example for building Raspbian:
|
|||
IMG_NAME='Raspbian'
|
||||
```
|
||||
|
||||
The config file can also be specified on the command line as an argument the `build.sh` or `build-docker.sh` scripts.
|
||||
|
||||
```
|
||||
./build -c myconfig
|
||||
```
|
||||
|
||||
This is parsed after `config` so can be used to override values set there.
|
||||
|
||||
## How the build process works
|
||||
|
||||
|
|
|
@ -19,24 +19,25 @@ if [ -f config ]; then
|
|||
source config
|
||||
fi
|
||||
|
||||
while getopts "c:" flag
|
||||
do
|
||||
case "$flag" in
|
||||
c)
|
||||
EXTRA_CONFIG="$OPTARG"
|
||||
config_file=( "${config_file[@]}" "--env-file" "$(pwd)/${EXTRA_CONFIG}")
|
||||
source "$EXTRA_CONFIG"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
CONTAINER_NAME=${CONTAINER_NAME:-pigen_work}
|
||||
CONTINUE=${CONTINUE:-0}
|
||||
PRESERVE_CONTAINER=${PRESERVE_CONTAINER:-0}
|
||||
|
||||
if [ "$*" != "" ] || [ -z "${IMG_NAME}" ]; then
|
||||
if [ -z "${IMG_NAME}" ]; then
|
||||
echo "IMG_NAME not set in 'config'" 1>&2
|
||||
echo 1>&2
|
||||
fi
|
||||
cat >&2 <<EOF
|
||||
Usage:
|
||||
build-docker.sh [options]
|
||||
Optional environment arguments: ( =<default> )
|
||||
CONTAINER_NAME=pigen_work set a name for the build container
|
||||
CONTINUE=1 continue from a previously started container
|
||||
PRESERVE_CONTAINER=1 keep build container even on successful build
|
||||
EOF
|
||||
exit 1
|
||||
if [ -z "${IMG_NAME}" ]; then
|
||||
echo "IMG_NAME not set in 'config'" 1>&2
|
||||
echo 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CONTAINER_EXISTS=$($DOCKER ps -a --filter name="$CONTAINER_NAME" -q)
|
||||
|
|
10
build.sh
10
build.sh
|
@ -127,6 +127,16 @@ if [ -f config ]; then
|
|||
source config
|
||||
fi
|
||||
|
||||
while getopts "c:" flag
|
||||
do
|
||||
case "$flag" in
|
||||
c)
|
||||
EXTRA_CONFIG="$OPTARG"
|
||||
source "$EXTRA_CONFIG"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "${IMG_NAME}" ]; then
|
||||
echo "IMG_NAME not set" 1>&2
|
||||
exit 1
|
||||
|
|
Reference in a new issue