#!/bin/sh

#AUTOREPO_ROOT
#AUTOREPO_FILES_SRPMS
#SRPMSDIRNAME

. autorepo-config

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_FILES_SRPMS >/dev/null
    reldir=`relative $AUTOREPO_FILES_SRPMS $subdir/$SRPMSDIRNAME/`
    for component in $GB_REPO_COMPONENT_NAMES; do
	rpmsdir="$subdir/RPMS.$component"
	[ -d "$rpmsdir" ] && \
	    rpmquery --queryformat '%{SOURCERPM}\n' -p "$rpmsdir"/*.rpm >"$TMPFILE"
    done
    for srpm in `sort -u $TMPFILE`; do
	ln -s $reldir/$srpm $subdir/$SRPMSDIRNAME/$srpm
    done
    popd >/dev/null
}

relink_srpms "$AUTOREPO_ROOT/noarch"
relink_srpms "$AUTOREPO_ROOT/i586"
relink_srpms "$AUTOREPO_ROOT/x86_64"
