Scaffold the new structure for building base boxes

This commit is contained in:
Fabio Rehm 2014-03-07 23:34:09 -03:00
parent 1d28e3d213
commit f070e9ec5b
7 changed files with 81 additions and 0 deletions

15
boxes/Makefile Normal file
View file

@ -0,0 +1,15 @@
UBUNTU_BOXES= precise quantal raring saucy trusty
TODAY=$(shell date -u +"%Y-%m-%d")
default:
all: $(UBUNTU_BOXES)
$(UBUNTU_BOXES): CONTAINER = "vagrant-lxc-base-${@}-amd64-${TODAY}"
$(UBUNTU_BOXES): PACKAGE = "output/$(CONTAINER).box"
$(UBUNTU_BOXES):
@sudo -E ./mk-ubuntu.sh $(@) amd64 $(CONTAINER) $(PACKAGE)
clean:
@echo "Implement clean"
@exit 1

5
boxes/common/download.sh Executable file
View file

@ -0,0 +1,5 @@
#!/bin/bash
set -e
echo " Will check if the '${CONTAINER}' exists and error if doesnt"
echo " Will create '${CONTAINER}'"

7
boxes/common/package.sh Executable file
View file

@ -0,0 +1,7 @@
#!/bin/bash
set -e
container_name=$1
package=$2
echo " Will package '${container_name}' as '${package}'"

View file

@ -0,0 +1,6 @@
#!/bin/bash
set -e
container_name=$1
echo " Will prepare the vagrant user on '${container_name}'"

6
boxes/debian/clean.sh Executable file
View file

@ -0,0 +1,6 @@
#!/bin/bash
set -e
container_name=$1
echo " Will cleanup '${container_name}'"

6
boxes/debian/install-extras.sh Executable file
View file

@ -0,0 +1,6 @@
#!/bin/bash
set -e
container_name=$1
echo " Will install extras for '${container_name}'"

36
boxes/mk-ubuntu.sh Executable file
View file

@ -0,0 +1,36 @@
#!/bin/bash
set -e
if [ "$(id -u)" != "0" ]; then
echo "You should run this script as root (sudo)."
exit 1
fi
export NO_COLOR='\033[0m'
export OK_COLOR='\033[32;01m'
export ERROR_COLOR='\033[31;01m'
export WARN_COLOR='\033[33;01m'
export DISTRIBUTION="ubuntu"
export RELEASE=$1
export ARCH=$2
export CONTAINER=$3
export PACKAGE=$4
if [ -f ${PACKAGE} ]; then
echo -e "${WARN_COLOR}==> The box '${PACKAGE}' already exists, skipping...${NO_COLOR}"
echo
exit
fi
echo -e "${OK_COLOR}==> Building '${RELEASE} (${ARCH})' to '${PACKAGE}'...${NO_COLOR}"
./common/download.sh ubuntu ${RELEASE} ${ARCH} ${CONTAINER}
./common/prepare-vagrant-user.sh ${CONTAINER}
./debian/install-extras.sh ${CONTAINER}
./debian/clean.sh ${CONTAINER}
./common/package.sh ${CONTAINER} ${PACKAGE}
touch $PACKAGE
echo -e "${OK_COLOR}==> Finished building '${RELEASE} (${ARCH})' to '${PACKAGE}'...${NO_COLOR}"
echo