From 0e2b566674ae8278c2873a25d9351325f546fd64 Mon Sep 17 00:00:00 2001 From: Andy Neff Date: Sun, 12 Jul 2015 16:49:48 -0400 Subject: [PATCH] Rough draft of build script --- docker/build.bsh | 6 ----- docker/build_dockers.bsh | 48 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 6 deletions(-) delete mode 100755 docker/build.bsh create mode 100755 docker/build_dockers.bsh diff --git a/docker/build.bsh b/docker/build.bsh deleted file mode 100755 index 57e5d15b..00000000 --- a/docker/build.bsh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -eu - -CURDIR=$(dirname "${BASH_SOURCE[0]}") - diff --git a/docker/build_dockers.bsh b/docker/build_dockers.bsh new file mode 100755 index 00000000..d99ed6aa --- /dev/null +++ b/docker/build_dockers.bsh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +set -eu + +CUR_DIR=$(dirname "${BASH_SOURCE[0]}") +REPO_DIR=$(cd ${CURDIR}/..; pwd) +DOCKER_UID=${DOCKER_UID=`id -u`} #Not REALLY used yet +DOCKER_GID=${DOCKER_GID=`id -u`} #Not REALLY used yet +PACKAGE_DIR=${CUR_DIR}/packages + +SUDO=${SUDO=`if which sudo > /dev/null 2>&1; then echo sudo; fi`} + +#This will take a long time the first time +for IMAGE_DIR in $(ls -d ${CUR_DIR}/*/); do + echo Docker building ${IMAGE_DIR} + docker build -t $(basename ${IMAGE_DIR}) ${IMAGE_DIR} +done + + +mkdir -p "${PACKAGE_DIR}" +#Run docker to build rpm/deb +for IMAGE_DIR in $(ls -d ${CUR_DIR}/*/); do + IMAGE_NAME=$(dirname ${IMAGE_DIR}) + echo Compiling in docker image ${IMAGE_NAME} + docker run -v ${REPO_DIR}:/tmp/git-lfs -name git-lfs_build_container ${IMAGE_NAME} + + OLD_IFS=${IFS} + IFS=_ + IMAGE_INFO=(${IMAGE_NAME}) + IFS=${OLD_IFS} + + IMAGE_REPO_DIR="${PACKAGE_DIR}"/"${IMAGE_INFO[1]}"/"${IMAGE_INFO[2]}" + mkdir -p "${IMAGE_REPO_DIR}" + + #Quick hack until I make the docker do this for real + $SUDO chown -R ${DOCKER_UID}:${DOCKER_GID} ${REPO_DIR} + + if [[ ${IMAGE_NAME} == *"centos"* ]]; then + cp -rv ${REPO_DIR}/rpm/{RPMS,SRPMS} ${IMAGE_REPO_DIR} + elif [[ ${IMAGE_NAME} == *"debian"* ]]; then + docker cp ${IMAGE_NAME} /tmp/git-lfs*.* ${IMAGE_REPO_DIR} + fi + + docker kill git-lfs_build_container + docker rm git-lfs_build_container + + git clean -xdf -e packages +done \ No newline at end of file