#!/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}"