#!/bin/bash

set -e -u

CPUS=`grep -c ^processor /proc/cpuinfo`

tar xzvf docker/docker-20.10.8.tgz

# We grab the latest versions that are in the directory
AUFS_TOOLS_VERSION=`ls -r docker/aufs-tools_*.deb | sed 's/docker\/aufs-tools_\(.*\).deb/\1/' | head -1`
AUTOCONF_VERSION=`ls -r docker/autoconf-*.tar.gz | sed 's/docker\/autoconf-\(.*\)\.tar\.gz/\1/' | head -1`
BRIDGE_UTILS_VERSION=`ls -r docker/bridge-utils-*.tar.gz | sed 's/docker\/bridge-utils-\(.*\)\.tar\.gz/\1/' | head -1`

# Extract Autoconf package
echo "Extracting Autoconf ${AUTOCONF_VERSION}..."
tar xzvf ${BOSH_COMPILE_TARGET}/docker/autoconf-${AUTOCONF_VERSION}.tar.gz
if [[ $? != 0 ]] ; then
  echo "Failed extracting Autoconf ${AUTOCONF_VERSION}"
  exit 1
fi

# Extract bridge-utils package
echo "Extracting bridge-utils ${BRIDGE_UTILS_VERSION}..."
tar xzvf ${BOSH_COMPILE_TARGET}/docker/bridge-utils-${BRIDGE_UTILS_VERSION}.tar.gz
if [[ $? != 0 ]] ; then
  echo "Failed extracting bridge-utils ${BRIDGE_UTILS_VERSION}"
  exit 1
fi

# Copy aufs-tools package
echo "Copying aufs-tools ${AUFS_TOOLS_VERSION}..."
cp -a ${BOSH_COMPILE_TARGET}/docker/aufs-tools_${AUFS_TOOLS_VERSION}.deb ${BOSH_INSTALL_TARGET}/

# Build Autoconf package
echo "Building Autoconf ${AUTOCONF_VERSION}..."
cd ${BOSH_COMPILE_TARGET}/autoconf-${AUTOCONF_VERSION}
./configure
make -j${CPUS}
make install

# Build bridge-utils package
echo "Building bridge-utils ${BRIDGE_UTILS_VERSION}..."
cd ${BOSH_COMPILE_TARGET}/bridge-utils-${BRIDGE_UTILS_VERSION}
autoconf
./configure --prefix=${BOSH_INSTALL_TARGET}
make -j${CPUS}
make install

# Copy Docker binaries
mkdir -p ${BOSH_INSTALL_TARGET}/bin
cp -a ${BOSH_COMPILE_TARGET}/docker/* ${BOSH_INSTALL_TARGET}/bin/
chmod +x ${BOSH_INSTALL_TARGET}/bin/*

cp -a ${BOSH_COMPILE_TARGET}/ctl_utils.sh ${BOSH_INSTALL_TARGET}/
