From a7cc66ccfc184794b1848102d097b89394263ecb Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Thu, 31 May 2007 14:51:09 +0100 Subject: Updates for XEN_LINUX_SOURCE=hg-clone. By default search for mercurial repositories in $(LINUX_SRC_PATH) followed by a location derived from the current Xen repository's default parent. e.g. A clone of http://xenbits.xensource.com/xen-unstable.hg will derive http://xenbits.xensource.com/linux-2.6.18-xen.hg. A specific repository can be specified by giving XEN_LINUX_HGREPO= on the make command line. Add capability to put XEN_LINUX_UPDATE=y on the make command line to update the Linux repository. Disabled by default since we don't want to touch a developers repository without permission. Dropped XEN_LINUX_HGUPDATES since it was unecessary and confusing. Signed-off-by: Ian Campbell --- buildconfigs/select-repository | 49 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 buildconfigs/select-repository (limited to 'buildconfigs/select-repository') diff --git a/buildconfigs/select-repository b/buildconfigs/select-repository new file mode 100755 index 0000000000..db46049adb --- /dev/null +++ b/buildconfigs/select-repository @@ -0,0 +1,49 @@ +#!/bin/bash + +ME=$(basename $0) + +if [ $# -lt 1 ] || [ $# -gt 2 ] ; then + echo "usage: $ME [search-path]" 1>&2 + exit 1; +fi + +REPO=$1 +LINUX_SRC_PATH=$2 + +if [ X"${LINUX_SRC_PATH}" != X ] ; then + echo "$ME: Searching \`${LINUX_SRC_PATH}' for $REPO" 1>&2 + IFS_saved="$IFS" + IFS=: + for i in $LINUX_SRC_PATH ; do + # Ignore current directory since we will almost certainly find + # the target directory there which breaks updating (there's no + # point updating from yourself!). + if [ X"." = X"${i}" ] ; then + echo "$ME: Ignoring \`.'" 1>&2 + continue + fi + + if [ -d "$i/$REPO/.hg" ] ; then + echo "$ME: Found $i/$REPO" 1>&2 + echo "$i/$REPO" + exit 0 + fi + done + IFS="$IFS_saved" +fi + +XEN=$(hg -R ${XEN_ROOT} path default) +if [ $? -ne 0 ] || [ X"$XEN" = "X" ] ; then + echo "$ME: Unable to determine Xen repository parent." 1>&2 + exit 1; +fi + +BASE=$(dirname ${XEN}) +if [ $? -ne 0 ] || [ X"$XEN" = "X" ] ; then + echo "$ME: Unable to determine Xen repository parent." 1>&2 + exit 1; +fi + +echo "$ME: Found ${BASE}/${REPO}" 1>&2 +echo ${BASE}/${REPO} +exit 0 -- cgit v1.2.3