2015-07-12 20:49:48 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2015-07-17 17:07:00 +00:00
|
|
|
# Usage:
|
2015-07-19 22:59:14 +00:00
|
|
|
# ./build_dockers.bsh - Build all the compiling docker images
|
2015-07-17 17:07:00 +00:00
|
|
|
# ./build_dockers.bsh lfs_centos_5 lfs_centos_7 - Build only CentOS 5 & 7 image
|
|
|
|
|
2015-07-12 20:49:48 +00:00
|
|
|
set -eu
|
|
|
|
|
|
|
|
CUR_DIR=$(dirname "${BASH_SOURCE[0]}")
|
|
|
|
|
2015-07-17 17:07:00 +00:00
|
|
|
#If you are not in docker group and you have sudo, default value is sudo
|
|
|
|
: ${SUDO=`if id -nG | grep -qwv docker && which sudo > /dev/null 2>&1; then echo sudo; fi`}
|
2015-07-13 03:50:05 +00:00
|
|
|
|
2015-07-17 17:07:00 +00:00
|
|
|
if [[ $# == 0 ]]; then
|
|
|
|
IMAGE_DIRS=($(ls -d ${CUR_DIR}/git-lfs_*/Dockerfile))
|
|
|
|
else
|
|
|
|
IMAGE_DIRS=("${@}")
|
|
|
|
fi
|
|
|
|
|
2015-07-19 22:59:14 +00:00
|
|
|
#Strip the Dockerfile (When appropriate)
|
|
|
|
for i in "${!IMAGE_DIRS[@]}"; do
|
|
|
|
IMAGE_NAME=$(basename ${IMAGE_DIRS[$i]})
|
|
|
|
if [ "${IMAGE_NAME,,}" == "dockerfile" ]; then
|
|
|
|
IMAGE_DIRS[$i]=$(dirname ${IMAGE_DIRS[$i]})
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
unset i IMAGE_NAME
|
|
|
|
|
2015-07-18 19:16:54 +00:00
|
|
|
if [ ! -e "${CUR_DIR}/signing.key" ]; then
|
|
|
|
touch "${CUR_DIR}/signing.key"
|
|
|
|
fi
|
|
|
|
|
2015-07-17 17:07:00 +00:00
|
|
|
#This will take a long time the first time
|
|
|
|
for IMAGE_DIR in "${IMAGE_DIRS[@]}"; do
|
2015-07-12 20:49:48 +00:00
|
|
|
echo Docker building ${IMAGE_DIR}
|
2015-07-24 04:06:42 +00:00
|
|
|
$SUDO docker build -t git-lfs/$(basename ${IMAGE_DIR}) -f ${IMAGE_DIR}/Dockerfile ${CUR_DIR}
|
2015-07-12 20:49:48 +00:00
|
|
|
done
|
2015-07-18 19:16:54 +00:00
|
|
|
|