#!/bin/sh -e

. autorepo-config
. autorepo-sh-functions

autorepo_lock_workdir_or_exit

autorepo-repo-unmets

if stat -t "$AUTOREPO_HOME/unmets.diff."* >/dev/null 2>&1
then
    cat "$AUTOREPO_HOME/unmets.diff."* | egrep '^\+Package .* version .* has an unmet dep:' | awk '{print "^" $2 "::"}' | sed -e 's,\.32bit::$,::,' | sort -u > "$AUTOREPO_HOME/unmets.binary.txt"
    xzcat "$AUTOREPO_ROOT/"*/base/pkglist.autoimports.xz |pkglist-query '%{NAME}::%{SOURCERPM}\n' /dev/stdin | egrep -f unmets.binary.txt | sed -e 's,^.*::,'$AUTOREPO_FILES_SRPMS'/,' | sort -u > "$AUTOREPO_HOME/unmets.srpm.txt"
    if ! [ -s "$AUTOREPO_HOME/unmets.srpm.txt" ]; then
	echo "Oops! internal error: unmets.srpm.txt is empty"
	exit 1
    else
    rm -f "$AUTOREPO_HOME/unmets.binary.txt"
    rm -rf "$AUTOREPO_HOME/OUT/"*
    srpmnmu --out "$AUTOREPO_HOME/OUT/" \
	--changelog '- rebuild to get rid of unmets' \
	--nextrel=${AUTOREPO_UNMETS_NEXTREL_POLICY:-nmuadd} \
	`cat "$AUTOREPO_HOME/unmets.srpm.txt"`
    rm -f "$AUTOREPO_HOME/unmets.srpm.txt"
    autorepo-mass-build -c
    fi
fi

autorepo_unlock_workdir_safe
