#!/usr/bin/env bash


###
#
# Options Section
#
###

set -e
set -u
set -o pipefail


###
#
# Runtime Environment
#
###

if [[ ! -d "${1}" ]]; then
  /usr/bin/echo 'Usage: debpkg (SOURCE)'
  return 1
fi
REALPATH=$(/usr/bin/realpath "${1}")
readarray -t INPUT < <(/usr/bin/find "${REALPATH}" -type 'f' | /usr/bin/sed --expression="\|${REALPATH}/DEBIAN/|d")
if [[ -f "${REALPATH}/DEBIAN/md5sums" ]]; then
  /usr/bin/rm --force "${REALPATH}/DEBIAN/md5sums"
fi
for INPUT in "${INPUT[@]}"; do
  /usr/bin/md5sum "${INPUT}" >> "${REALPATH}/DEBIAN/md5sums"
done
if [[ -f "${REALPATH}/DEBIAN/md5sums" ]]; then
  /usr/bin/sed --in-place "s|${REALPATH}\/||g" "${REALPATH}/DEBIAN/md5sums"
fi
SIZE=$(/usr/bin/du --block-size='1K' --summarize "${REALPATH}" | /usr/bin/sed --expression='s/[[:space:]].*//')
if [[ -z "${SIZE}" ]]; then
  return 1
fi
if [[ -f "${REALPATH}/DEBIAN/control" ]]; then
  /usr/bin/sed --in-place "s/Installed-Size:.*/Installed-Size: ${SIZE}/" "${REALPATH}/DEBIAN/control"
fi
/usr/bin/dpkg-deb --debug --build --root-owner-group "${REALPATH}"
