From 8eb498e039c4767ed5d485d1aa65994645816b74 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Sat, 17 Jan 2009 10:00:55 +0000
Subject: [PATCH] buildrepo: added -r option to specify dependency repos

the dependency repo tells apk index that dependencies are found
in another repository.
---
 buildrepo | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/buildrepo b/buildrepo
index 42e055942f95..95360f360ab5 100755
--- a/buildrepo
+++ b/buildrepo
@@ -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))
-- 
GitLab