#!/bin/bash -e

VERSION="$1" # E.g: '42.3'

if [ "${VERSION}" = "tumbleweed" ]; then
  URL="http://download.opensuse.org/tumbleweed"
  NAME="opensuse32/tumbleweed"
else
  URL="http://download.opensuse.org/distribution/leap/${VERSION}"
  NAME="opensuse32/leap"
fi

IMAGE="${NAME}:latest"
INSTALLROOT="/dev/shm/${IMAGE}"

sudo rm -rf "${INSTALLROOT}"
sudo mkdir -p "${INSTALLROOT}"

sudo zypper --root "${INSTALLROOT}" \
  ar "${URL}/repo/oss/" "oss"
sudo zypper --root "${INSTALLROOT}" \
  ar "${URL}/repo/non-oss/" "non-oss"

if [ "${VERSION}" != "tumbleweed" ]; then
  sudo zypper --root "${INSTALLROOT}" \
    ar "http://download.opensuse.org/update/leap/${VERSION}/oss/" "update-oss"
  sudo zypper --root "${INSTALLROOT}" \
    ar "http://download.opensuse.org/update/leap/${VERSION}/non-oss/" "update-non-oss"
fi
sudo zypper --root "${INSTALLROOT}" \
  --gpg-auto-import-keys ref
sudo setarch i686 zypper --root "${INSTALLROOT}"  \
  install --download-only -y \
  bash \
  docbook-utils \
  filesystem \
  gawk \
  glibc \
  glibc-extra \
  grep \
  gzip \
  libpcre1 \
  libselinux1 \
  openSUSE-release \
  system-user-root \
  util-linux vim \
  xz \
  zlib \
  zypper
sudo rpm -Uvh --root "${INSTALLROOT}" "${INSTALLROOT}/var/cache/zypp/packages/oss/"*"/"*".rpm"

sudo chroot "${INSTALLROOT}" rpmdb --rebuilddb

FILE="${IMAGE//\//_}.tar"
sudo tar -C "${INSTALLROOT}" -c . >"${FILE}"
sudo rm -rf "${INSTALLROOT}"

docker rmi -f "${IMAGE}"
docker import "${FILE}" "${IMAGE}"

pigz "${FILE}"
mv -fv "${FILE}.gz" "${HOME}/tde/docker"
