#!/bin/bash

: ${TOPDIR:=/usr/src/packages}
: ${repos_dir:=${TOPDIR}/SOURCES/repos}

repoadd="/usr/bin/repo-add"

if ! test -x "${repoadd}"; then
  echo "Is it an Arch Linux build? No ${repoadd} found! Exiting"
  exit 0
fi

set -e
set -u

if ! test -d "${repos_dir}"; then
  echo "Directory ${repos_dir} not found!"
  exit 1
fi

# globbing does not work, thus `for r in "*[^:]/*";` is not an option
for repo in $(find "${repos_dir}" -maxdepth 2 -mindepth 2 -type d); do
  echo "Building repo ${repo#${repos_dir}/}"
  r=${repo#${repos_dir}/}
  r_db="${repo}/${r//[:|\/]/_}.db.tar.gz"
  # globbing is not an option, thus `"*.pkg.*"` does not work, we need to
  # loop all pkg files.
  for pkg in $(find "${repo}" -maxdepth 1 -type f); do
    repo-add "${r_db}" "${pkg}"
  done
done

