aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xREADME.md7
-rwxr-xr-xbuild-docker.sh29
-rwxr-xr-xbuild.sh10
3 files changed, 32 insertions, 14 deletions
diff --git a/README.md b/README.md
index a897488..c0ff51c 100755
--- a/README.md
+++ b/README.md
@@ -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
diff --git a/build-docker.sh b/build-docker.sh
index 16d20f5..e56f7d9 100755
--- a/build-docker.sh
+++ b/build-docker.sh
@@ -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)
diff --git a/build.sh b/build.sh
index 0f36071..955a6e4 100755
--- a/build.sh
+++ b/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