Files
xen/buildconfigs/src.git-clone
T
Keir Fraser 96e4190045 Honour XEN_LINUX_GIT_LOCALBRANCH and XEN_LINUX_GITREV variables
XEN_GIT_ORIGIN to set the name of the remote origin; the default is
still "xen".

XEN_LINUX_GIT_LOCALBRANCH allows the name of the local branch to be
set.  The default is the same as the remote branch.

XEN_LINUX_GITREV allows a specific GIT revision to be checked out,
rather than a branch.  By default it is the remote branch name.

This change should result in no change in behaviour in the normal
case.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
2010-05-12 08:43:47 +01:00

33 lines
965 B
Plaintext

# Mercurial
GIT ?= git
LINUX_SRCDIR ?= linux-$(LINUX_VER).git
# The URL of the remote GIT repository
ifeq ($(XEN_LINUX_GIT_URL),)
.ERROR: XEN_LINUX_GIT_URL not specified
endif
# The branch in the remote repository
ifeq ($(XEN_LINUX_GIT_REMOTEBRANCH),)
.ERROR: XEN_LINUX_GIT_REMOTEBRANCH not specified
endif
XEN_GIT_ORIGIN ?= xen
XEN_LINUX_GIT_LOCALBRANCH ?= $(XEN_LINUX_GIT_REMOTEBRANCH)
# Set XEN_LINUX_GITREV to update to a particlar revision.
XEN_LINUX_GITREV ?= $(XEN_GIT_ORIGIN)/$(XEN_LINUX_GIT_REMOTEBRANCH)
$(LINUX_SRCDIR)/.valid-src: $(__XEN_LINUX_UPDATE)
set -ex; \
if ! [ -d $(LINUX_SRCDIR) ]; then \
rm -rf $(LINUX_SRCDIR) $(LINUX_SRCDIR).tmp; \
mkdir $(LINUX_SRCDIR).tmp; rmdir $(LINUX_SRCDIR).tmp; \
$(GIT) clone -o $(XEN_GIT_ORIGIN) -n $(XEN_LINUX_GIT_URL) $(LINUX_SRCDIR).tmp; \
(cd $(LINUX_SRCDIR).tmp; git checkout -b $(XEN_LINUX_GIT_LOCALBRANCH) $(XEN_LINUX_GITREV) ); \
mv $(LINUX_SRCDIR).tmp $(LINUX_SRCDIR); \
fi
touch $@