#!/bin/sh -efu

. shell-error

export PATH=/sbin:/usr/sbin:/bin:/usr/bin
umask 022

. "/usr/libexec/girar/girar-sh-functions"

sudo_init

usage()
{
	[ -z "$*" ] || message "$*"
	echo >&2 "usage: $PROG <repo_name> <base_path>"
	exit 1
}

gen_sources()
{
	cat >files/apt/sources.list <<EOF
EOF
	cat >files/apt/self.list <<EOF
rpm file:$repo_dir @arch@ base
rpm file:$repo_dir noarch base
EOF
}

if [ "${1-}" = '--help' ]; then
	usage
fi

[ "$#" -le 2 ] || usage 'Too many arguments.'
[ "$#" -ge 2 ] || usage 'Not enough arguments.'

repo="$1"; shift
base_path="$1"; shift
builder=girar-builder
add_flavour=
flavour=base

repo_dir="$base_path"

[ -e "$repo_dir" ] && fatal "Repository directory '$repo_dir' already exists."

mkdir -p "$repo_dir"
cd "$repo_dir"

mkdir -p files/{i586,x86_64,noarch}/RPMS files/{SRPMS,list,apt}
mkdir -p {i586,x86_64}/{SRPMS.all,SRPMS.$flavour,RPMS.$flavour,base}
mkdir -p noarch/{SRPMS.$flavour,RPMS.$flavour,base}

touch files/list/src.list
touch files/list/bin.list

gen_sources

for arch in i586 x86_64 noarch; do
	genbasedir \
		--architectures="i586 x86_64 noarch" \
		--architecture="$arch" \
		--archive="$repo" \
		--description="Initial $repo" \
		--label="$repo" \
		--origin="Etersoft" \
		--suite="$repo" \
		--version="$repo" \
		--topdir="$repo_dir" \
		--flat --bloat --no-oldhashfile --bz2only --mapi $arch $flavour $add_flavour
done

groupadd -r -f builder
chown $builder:builder -R .
chmod g+ws -R .
