diff options
Diffstat (limited to 'control.sh')
-rwxr-xr-x | control.sh | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/control.sh b/control.sh new file mode 100755 index 000000000..394b9bd43 --- /dev/null +++ b/control.sh @@ -0,0 +1,67 @@ +#!/bin/bash +shopt -s extglob nullglob + +export PKG_NAME=$1 +shift + +export PKG_BASE=$(realpath "$(dirname "$0")") +. "${PKG_BASE}/helper.sh" + +cat <<EOF +Package: ${PKG_NAME} +Essential: $([[ ${PKG_PRIO} == required ]] && echo yes || echo no) +EOF + +if [[ $1 == status ]]; then + cat <<EOF +Status: install ok installed +EOF +fi + +cat <<EOF +Priority: ${PKG_PRIO} +Section: $(cat "${PKG_DATA}/_metadata/section") +EOF + +if [[ $1 == status || $1 == control ]]; then + cat <<EOF +Installed-Size: $(du -s "${PKG_DEST}" | cut -d $'\t' -f 1) +EOF +fi + +cat <<EOF +Maintainer: $(cat "${PKG_DATA}/_metadata/maintainer") +Architecture: darwin-arm +Version: ${PKG_VRSN} +EOF + +if [[ $1 == available ]]; then + cat <<EOF +Size: $(find "${PKG_DEST}" -type f -exec cat {} \; | gzip -c | wc -c | cut -d $'\t' -f 1) +EOF +fi + +unset comma +for dep in "${PKG_DEPS[@]}"; do + if [[ ${comma+@} == @ ]]; then + echo -n "," + else + echo -n "Depends:" + comma= + fi + + echo -n " $(basename "${dep}" .dep)" +done + +if [[ ${comma+@} == @ ]]; then + echo +fi + +cat <<EOF +Description: $(head -n 1 "${PKG_DATA}/_metadata/description") +$(tail -n +2 "${PKG_DATA}/_metadata/description" | fold -sw 72 | sed -e 's/^/ /') +EOF + +if [[ $1 == status || $1 == available ]]; then + echo +fi |