#!/bin/sh

. autorepo-config

tmpdir=
cleanup_trap() {
    rm -f $tmplist
    exit
}
trap cleanup_trap INT TERM EXIT
tmpdir=`mktemp -d`

# TODO: add check for ExcludeArch/ExclusiveArch and merge with autorepo-check-health

for arch in $GB_ARCH; do
    for component in $GB_REPO_COMPONENT_NAMES; do
	pushd "$AUTOREPO_ROOT/$arch/RPMS.$component" >/dev/null
	rpmquery --qf '%{NAME}-%{VERSION}-%{RELEASE}\n' -p *.rpm >> $tmpdir/binaryrpm.$arch.collected
	popd >/dev/null
    done
done
for arch in $GB_ARCH; do
    sort -u $tmpdir/binaryrpm.$arch.collected > $tmpdir/binaryrpm.$arch.required
done
for arch in $GB_ARCH; do
    if [ $arch != 'x86_64' ]; then
	comm -23 $tmpdir/binaryrpm.$arch.required $tmpdir/binaryrpm.x86_64.required > $tmpdir/binaryrpm.$arch.missing
	comm -13 $tmpdir/binaryrpm.$arch.required $tmpdir/binaryrpm.x86_64.required > $tmpdir/binaryrpm.$arch.dangling
    fi
done

for i in $tmpdir/binaryrpm.*.missing $tmpdir/binaryrpm.*.dangling; do
    rm -f $AUTOREPO_HOME/`basename $i`
    if [ -s $i ]; then
	basename $i
	echo ------------------------
	cat $i
	echo ------------------------
	cp -f $i $AUTOREPO_HOME/
    fi
done

rm -rf $tmpdir
