48 lines
1.4 KiB
Bash
Executable File
48 lines
1.4 KiB
Bash
Executable File
#!/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 |