#!/bin/sh -e

. autorepo-config
. autorepo-sh-functions

autorepo_lock_workdir_or_exit

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.$AUTOREPO_COMPONENT_NAME.xz |pkglist-query '%{NAME}::%{SOURCERPM}\n' /dev/stdin | egrep -f unmets.binary.txt | sed -e 's,^.*::,'$AUTOREPO_ROOT/$AUTOREPO_SHARED_SRPMS'/,' | sort -u > "$AUTOREPO_HOME/unmets.srpm.txt"
    if ! [ -s "$AUTOREPO_HOME/unmets.srpm.txt" ]; then
	echo "unmets does not belongs here : unmets.srpm.txt is empty"
	exit
    else
	nextrel_policy=${AUTOREPO_NEXTREL_POLICY:-nmuadd}
	nextrel_policy=${AUTOREPO_UNMETS_NEXTREL_POLICY:-$nextrel_policy}
        nmuscript=${AUTOREPO_UNMETS_GENERATOR_SCRIPT:-srpmnmu}

	rm -f "$AUTOREPO_HOME/unmets.binary.txt"
	rm -rf "$AUTOREPO_HOME/OUT/"*
	$nmuscript --out "$AUTOREPO_HOME/OUT/" \
	    --changelog '- rebuild to get rid of unmets' \
	    --nextrel=$nextrel_policy \
	    `cat "$AUTOREPO_HOME/unmets.srpm.txt"`
	rm -f "$AUTOREPO_HOME/unmets.srpm.txt"
	autorepo-mass-build -d
	autorepo-merge-good
	autorepo-rm-out-dups
	autorepo-rebuild-repository
    fi
fi

autorepo_unlock_workdir_safe
