#!/bin/sh -e

. autorepo-config
. parentlock-sh-functions
# remove if use your own trap
parentlock_set_unlock_workdir_trap_on_int_term_exit

parentlock_lock_workdir_or_exit

rm -rf $AUTOREPO_MERGE_ROOT/*
mkdir -p $AUTOREPO_MERGE_ROOT/files/SRPMS
for arch in $GB_ARCH $GB_NOARCH; do
    mkdir -p $AUTOREPO_MERGE_ROOT/$arch/RPMS.$AUTOREPO_COMPONENT_NAME
    mkdir -p $AUTOREPO_MERGE_ROOT/$arch/SRPMS.$AUTOREPO_COMPONENT_NAME
done

for repo in $AUTOREPO_MERGE_COMPONENTS; do
    cp -rlf $repo/$AUTOREPO_BRANCH/files/SRPMS $AUTOREPO_MERGE_ROOT/files/
    component=`basename $repo`
    for arch in $GB_ARCH $GB_NOARCH; do
	if [ -d $repo/$AUTOREPO_BRANCH/$arch/RPMS.$component ] && \
	[ `ls $repo/$AUTOREPO_BRANCH/$arch/RPMS.$component | wc -l` -ge 1 ]; then
	    pushd $repo/$AUTOREPO_BRANCH/$arch/RPMS.$component/ >/dev/null
	    # Слишком длинный список аргументов!!!
	    ls | xargs cp -rlf --target-directory=$AUTOREPO_MERGE_ROOT/$arch/RPMS.$AUTOREPO_COMPONENT_NAME
	    popd >/dev/null
	fi
    done
done

AUTOREPO_ROOT=$AUTOREPO_MERGE_ROOT
export AUTOREPO_ROOT
autorepo-rebuild-repository
AUTOREPO_ROOT=$AUTOREPO_EXPORT_ROOT
export AUTOREPO_ROOT

rm -rf $AUTOREPO_EXPORT_ROOT.old
mv $AUTOREPO_EXPORT_ROOT $AUTOREPO_EXPORT_ROOT.old
mv $AUTOREPO_MERGE_ROOT $AUTOREPO_EXPORT_ROOT
rm -rf $AUTOREPO_EXPORT_ROOT.old

parentlock_unlock_workdir_safe
