#!/bin/sh

#AUTOREPO_ROOT

. autorepo-config

# TODO: rename and make configurable?
SRPMSDIRNAME=SRPMS.$AUTOREPO_COMPONENT_NAME

exit_handler()
{
	local rc=$1
	rm -f -- "$TMPFILE"
	exit $rc
}

trap 'exit 143' HUP PIPE INT TERM
TMPFILE="$(mktemp -t "$PROG.XXXXXXXXXX")"
trap 'exit_handler $?' EXIT

relink_srpms()
{
    local subdir
    subdir=$1
    mkdir -p $subdir/$SRPMSDIRNAME
    find $subdir/$SRPMSDIRNAME -type l -delete
    pushd $AUTOREPO_ROOT/$AUTOREPO_SHARED_SRPMS >/dev/null
    reldir=`relative $AUTOREPO_ROOT/$AUTOREPO_SHARED_SRPMS $subdir/$SRPMSDIRNAME/`
    echo > "$TMPFILE"
    for component in $GB_REPO_COMPONENT_NAMES; do
	rpmsdir="$subdir/RPMS.$component"
	if [ -d "$rpmsdir" ]; then
	    find "$rpmsdir" -name '*.rpm' | xargs rpmquery --queryformat '%{SOURCERPM}\n' -p  >> "$TMPFILE"
	fi
    done
    for srpm in `sort -u $TMPFILE`; do
	ln -s $reldir/$srpm $subdir/$SRPMSDIRNAME/$srpm
    done
    popd >/dev/null
}

for arch in $GB_NOARCH $GB_ARCH; do
    relink_srpms "$AUTOREPO_ROOT/$arch"
done
