mirror of
https://github.com/xen-project/xen.git
synced 2026-10-30 03:00:05 +01:00
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=<URL or path> 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 <ian.campbell@xensource.com>
This commit is contained in:
1 parent
06bdfbd284
commit
a7cc66ccfc
5 files changed
+84
-22
No files matched your search
@@ -3,6 +3,10 @@ LINUX_VER ?= 2.6.18
|
||||
|
||||
EXTRAVERSION ?= -xen
|
||||
|
||||
# Linux search path, will be searched for tarballs and mercurial
|
||||
# repositories.
|
||||
LINUX_SRC_PATH ?= .:..
|
||||
|
||||
XEN_LINUX_SOURCE ?= sparse
|
||||
|
||||
# Let XEN_TARGET_ARCH override ARCH.
|
||||
|
||||
Executable
+49
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
|
||||
ME=$(basename $0)
|
||||
|
||||
if [ $# -lt 1 ] || [ $# -gt 2 ] ; then
|
||||
echo "usage: $ME <repository-name> [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
|
||||
+31
-18
@@ -1,26 +1,39 @@
|
||||
# Main repository to clone.
|
||||
XEN_LINUX_HGREPO ?= http://xenbits.xensource.com/linux-$(LINUX_VER)-xen.hg
|
||||
|
||||
# Set this to pull additional changesets from a second source.
|
||||
|
||||
# This can be useful if you use a local mirror for XEN_LINUX_HGREPO
|
||||
# (to reduce time spent cloning) but still want to pull the very
|
||||
# latest changesets from xenbits.
|
||||
XEN_LINUX_HGUPDATES ?=
|
||||
|
||||
# Set this to update to a particlar revision.
|
||||
XEN_LINUX_HGREV ?=
|
||||
# Mercurial
|
||||
HG ?= hg
|
||||
|
||||
LINUX_SRCDIR ?= linux-$(LINUX_VER)-xen.hg
|
||||
|
||||
$(LINUX_SRCDIR)/.valid-src:
|
||||
# Repository to clone.
|
||||
XEN_LINUX_HGREPO ?= $$(sh buildconfigs/select-repository $(LINUX_SRCDIR) $(LINUX_SRC_PATH))
|
||||
|
||||
# The source directory is not automatically updated to avoid blowing
|
||||
# away developer's changes. If you want to automatically pull a new
|
||||
# version of the Linux tree then add `XEN_LINUX_UPDATE=y' to your make
|
||||
# command line.
|
||||
ifeq ($(XEN_LINUX_UPDATE),y)
|
||||
__XEN_LINUX_UPDATE = $(LINUX_SRCDIR)/.force-update
|
||||
else
|
||||
__XEN_LINUX_UPDATE =
|
||||
endif
|
||||
|
||||
# Set XEN_LINUX_HGREV to update to a particlar revision.
|
||||
XEN_LINUX_HGREV ?= tip
|
||||
|
||||
$(LINUX_SRCDIR)/.valid-src: $(__XEN_LINUX_UPDATE)
|
||||
set -e ; __repo=$(XEN_LINUX_HGREPO) ; \
|
||||
if [ ! -d $(LINUX_SRCDIR) ] ; then \
|
||||
hg clone $(XEN_LINUX_HGREPO) $(LINUX_SRCDIR) ; \
|
||||
fi
|
||||
if [ -n "$(XEN_LINUX_HGUPDATES)" ] ; then \
|
||||
hg pull -R $(LINUX_SRCDIR) $(XEN_LINUX_HGUPDATES) ; \
|
||||
echo "Cloning $${__repo} to $(LINUX_SRCDIR)." ; \
|
||||
$(HG) clone $${__repo} $(LINUX_SRCDIR) ; \
|
||||
else \
|
||||
echo "Pulling changes from $${__repo} into $(LINUX_SRCDIR)." ; \
|
||||
$(HG) -R $(LINUX_SRCDIR) pull $${__repo} ; \
|
||||
fi
|
||||
if [ -n "$(XEN_LINUX_HGREV)" ] ; then \
|
||||
hg update -R $(LINUX_SRCDIR) $(XEN_LINUX_HGREV) ; \
|
||||
echo "Updating $(LINUX_SRCDIR) to revision $(XEN_LINUX_HGREV)." ; \
|
||||
$(HG) update -R $(LINUX_SRCDIR) $(XEN_LINUX_HGREV) ; \
|
||||
fi
|
||||
touch $@
|
||||
|
||||
.PHONY: $(LINUX_SRCDIR)/.force-update
|
||||
$(LINUX_SRCDIR)/.force-update:
|
||||
@ :
|
||||
@@ -7,8 +7,6 @@ LINUX_SRCDIR ?= linux-$(LINUX_VER)-xen
|
||||
PRISTINE_SRC_PATH ?= .:..
|
||||
vpath pristine-% $(PRISTINE_SRC_PATH)
|
||||
|
||||
# Setup Linux search path
|
||||
LINUX_SRC_PATH ?= .:..
|
||||
vpath linux-%.tar.bz2 $(LINUX_SRC_PATH)
|
||||
vpath patch-%.bz2 $(LINUX_SRC_PATH)
|
||||
|
||||
|
||||
@@ -3,8 +3,6 @@ XEN_LINUX_TARBALL ?= linux-$(LINUX_VER)-xen.tar.bz2
|
||||
|
||||
LINUX_SRCDIR ?= linux-$(LINUX_VER)
|
||||
|
||||
# Setup Linux search path
|
||||
LINUX_SRC_PATH ?= .:..
|
||||
vpath linux-%.tar.bz2 $(LINUX_SRC_PATH)
|
||||
|
||||
# download a pristine Linux kernel tarball if there isn't one in LINUX_SRC_PATH
|
||||
|
||||