#!/bin/bash % if [[ $REBUILD == "init" ]]; then echo "## Busting Cache, Forcing Rebuild $(date)" fi % quiet () { if [[ $VERBOSE ]]; then $@; fi } quiet echo -e "\n ************************************************* \n" quiet echo "****** Initializing Image with build source ******" cd init pwd; quiet ls -la export BUILDING=true export BUILD_DIR=$PWD export SHELL=/bin/bash export BIN_DIR=/opt/bin mkdir -p $BIN_DIR echo "export BIN_DIR=${BIN_DIR}" >> /tmp/profile echo 'export PATH=$BIN_DIR:$PATH' >> /tmp/profile echo " ##### creating entrypoint script ###" cat << EOE >$BIN_DIR/entrypoint .INCLUDE ./init/entrypoint.tpl EOE chmod +x $BIN_DIR/entrypoint quiet echo '------ default entrypoint -----' quiet ls -la $BIN_DIR/entrypoint quiet cat $BIN_DIR/entrypoint quiet echo "------------" echo " ##### creating default start script ###" cat << "EOS" >$BIN_DIR/start .INCLUDE ./init/start.sh EOS chmod -R +x $BIN_DIR/start quiet echo "--- DEFAULT START SCRIPT in $BIN_DIR/start ---" quiet cat $BIN_DIR/start quiet echo "-----------------------------------" echo " ##### creating map host id script ###" cat << "EOM" >$BIN_DIR/map-host-id .INCLUDE ./init/map-host-id.sh EOM chmod +x $BIN_DIR/map-host-id [[ -f image.info ]] && cp image.info /opt .INCLUDE ./init/dirs.sh if [[ -f build.env ]]; then echo "-- sourcing /build/build.env --" quiet ls -la quiet cat build.env quiet echo "----------------------" source build.env fi if [[ -f ./init.sh ]]; then echo "############## Running Script init.sh of build source #################" quiet echo "----- build environment ------" quiet env quiet echo "----- env ------" quiet echo "-------------------- init.sh ------------------------------" quiet cat ./init.sh quiet echo "-------------------------------------------------------------" # init.sh must have shebang and be executable if ! $SHELL ./init.sh; then return 1; fi echo "############## Finished running init.sh build script #########################" fi .INCLUDE ./init/profile.sh echo "****** creating user and group 'host' with ids 1000 *****" groupadd -g 1000 host useradd -r -g host -u 1000 host # map host id now based on build environment if [[ $VOLUME_DIRS ]]; then echo "*** creating and configuring volume directories ***" echo $VOLUME_DIRS mkdir -p $VOLUME_DIRS $BIN_DIR/map-host-id chmod -R g+rw $VOLUME_DIRS fi echo -e "\n ************* End Initialzation ************************"