buildrepo: added -r option to specify dependency repos

the dependency repo tells apk index that dependencies are found
in another repository.
This commit is contained in:
Natanael Copa 2009-01-17 10:00:55 +00:00
parent 1a28d3898b
commit 8eb498e039

View File

@ -7,13 +7,16 @@ repodir=${REPODIR:-$HOME/packages}
usage() {
echo "usage: $program [-a APORTSDIR] [-d REPODIR] [-hp] [-l LOGPREFIX ] REPOSITORY..."
echo "usage: $program [-a APORTSDIR] [-d REPODIR] [-hp] [-l LOGPREFIX ]"
echo " [-r DEPREPO] REPOSITORY..."
echo "options:"
echo " -a Set the aports base dir to APORTSDIR instead of $aportsdir"
echo " -d Set destination repository base dir to REPODIR instead of $repodir"
echo " -h Show this help and exit"
echo " -l Send build to logfile, prefixed by LOGPREFIX"
echo " -p Purge obsolete packages from REPODIR after build"
echo " -r Dependencies are found in DEPREPO"
exit 1
}
@ -47,20 +50,26 @@ build() {
) || return 1
done
cd "$repodir/$repo"
echo ">>> Generating Index..."
md5sum *.apk | gzip -9 > INDEX.md5.gz
if which apk >/dev/null; then
apk index *.apk | gzip -9 > APK_INDEX.gz
local deps
for i in $deprepo; do
deps="--repo $repodir/$i"
done
apk $deps index *.apk | gzip -9 > APK_INDEX.gz
fi
purge "$repo"
}
while getopts "a:d:hl:p" opt; do
while getopts "a:d:hl:pr:" opt; do
case "$opt" in
a) aportsdir=$OPTARG;;
d) repodir=$OPTARG;;
h) usage >&2;;
l) logprefix=$OPTARG;;
p) dopurge=1;;
r) deprepo="$deprepo $OPTARG";;
esac
done
shift $(($OPTIND - 1))