#!/bin/sh -efu

. gb-sh-functions

arch="$1"; shift
[ -s plan/arepo-add-$arch -o -s plan/arepo-rm-$arch ] || exit 0

comp=${GB_AREPO_COMPONENT_NAME:-$GB_REPO_FLAVOUR}

mkdir $GB_AREPO_DIR/$arch
mkdir $GB_AREPO_DIR/$arch/base
# copy directory structure (using symlinks)
if [ -d $GB_REPO_DIR/$arch/RPMS.$comp ]; then
	cp -prs $GB_REPO_DIR/$arch/RPMS.$comp $GB_AREPO_DIR/$arch/
else
	mkdir $GB_AREPO_DIR/$arch/RPMS.$comp
fi

while read -r F; do
	[ ! -e $GB_AREPO_DIR/$arch/RPMS.$comp/$F ] || rm -- $GB_AREPO_DIR/$arch/RPMS.$comp/$F
done < plan/arepo-rm-$arch

while read -r dummy dummy F dummy; do
	ln -s $PWD/arepo/$arch/rpms/$F $GB_AREPO_DIR/$arch/RPMS.$comp/
done < plan/arepo-add-$arch

. gb-sh-rpmhdrcache

export XZ_OPT='--lzma2=nice=128,depth=80,lc=4'

label="${GB_REPO_LABEL:-$GB_REPO_NAME}"
description="${GB_REPO_DESCRIPTION:-ALT Linux $label}"
date_s="$(date +%s)"
genbasedir \
	--cachedir="$HOME"/.cache \
	--architecture="$arch" \
	--architectures="$arch" \
	--archive="${GB_REPO_ARCHIVE:-$description}" \
	--codename="${GB_REPO_CODENAME:-$date_s}" \
	--description="${GB_REPO_DESCRIPTION:-$description}" \
	--label="$label" \
	--origin="${GB_REPO_ORIGIN:-ALT Linux Team}" \
	--suite="${GB_REPO_SUITE:-$label}" \
	--version="${GB_REPO_VERSION:-$date_s}" \
	-s --default-key="$GB_REPO_SIGNER" \
	--topdir="$GB_AREPO_DIR" \
	--flat --no-oldhashfile --bz2only --mapi \
	--xz --no-bz2 --changelog-since=2010-01-01 \
	$arch $comp

stamp_echo >&2 "[$arch] created test repo"
