#!/bin/sh -efu
# SPDX-License-Identifier: GPL-3.0-or-later
# Copyright (C) 2007-2023  Alexey Gladkov <gladkov.alexey@gmail.com>

# shellcheck source=tools/mki-sh-functions
. "${0%/*}"/mki-sh-functions

verbose "has started executing."

# shellcheck disable=SC2249
case "$PROG" in
	*-image-*) dir="$subdir" ;;
esac

[ -d "$chroot" ] ||
	fatal "$dir: not look like a work directory of hasher."

hasher_args="$verbose $quiet ${HSH_EXCLUDE_DOCS:+--excludedocs} ${HSH_NUMBER:+--number="$HSH_NUMBER"} ${HSH_INSTALL_PROC:+--mountpoints=/proc}"

mki_list_pkgs "$@" |
	xargs -r env -i PATH="$PATH" hsh-install $hasher_args -- "$dir"

# shellcheck disable=SC2249
[ -z "${PROG##*-image-*}" ] ||
       exit 0

hsh-run --rooter -- "$dir" which apt-mark >/dev/null 2>&1 ||
       exit 0

tempdir=
exit_handler() {
       local rc=$?
       trap - EXIT
       [ -z "$tempdir" ] || rm -rf -- "$tempdir"
       exit $rc
}

trap exit_handler HUP INT QUIT TERM EXIT
tempdir="$(mktemp -d "$dir/$PROG.XXXXXX")"

export LC_ALL=C LANG=C LANGUAGE=C

mki-expand-pkgs regexp "$@" |
       xargs -r hsh-run --rooter -- "$dir" rpm -q --whatprovides --qf='%{NAME}\n' |
       sort -uo "$tempdir/install_pkgs"

hsh-run --rooter -- "$dir" rpm -q --all --qf='%{NAME}\n' |
       sort -u |
       comm -23 - "$tempdir/install_pkgs" |
       xargs -r hsh-run --rooter -- "$dir" apt-mark auto
