diff --git a/release/release.conf.sample b/release/release.conf.sample index 882f911b31fd..df42ca756bfa 100644 --- a/release/release.conf.sample +++ b/release/release.conf.sample @@ -7,7 +7,7 @@ CHROOTDIR="/scratch" ## Set the svn host. -SVNROOT="svn://svn.FreeBSD.org" +SVNROOT="svn://svn.FreeBSD.org/" ## Set the src/, ports/, and doc/ branches or tags. SRCBRANCH="base/head@rHEAD" @@ -17,6 +17,13 @@ PORTBRANCH="ports/head@rHEAD" ## Run svn co --force for src checkout. #SRC_FORCE_CHECKOUT=yes +## Sample configuration for using git instead of svn. +#VCSCMD="/usr/local/bin/git clone --branch master" +#SVNROOT="" +#SRCBRANCH="https://github.com/freebsd/freebsd" +#DOCBRANCH="https://github.com/freebsd/freebsd-doc" +#PORTBRANCH="https://github.com/freebsd/freebsd-ports" + ## Set to override the default target architecture. #TARGET="amd64" #TARGET_ARCH="amd64" diff --git a/release/release.sh b/release/release.sh index 79419c4feb5e..0a373cc0559a 100755 --- a/release/release.sh +++ b/release/release.sh @@ -1,9 +1,13 @@ #!/bin/sh #- +# Copyright (c) 2013, 2014 The FreeBSD Foundation # Copyright (c) 2013 Glen Barber # Copyright (c) 2011 Nathan Whitehorn # All rights reserved. # +# Portions of this software were developed by Glen Barber +# under sponsorship from the FreeBSD Foundation. +# # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: @@ -38,9 +42,12 @@ export PATH # The directory within which the release will be built. CHROOTDIR="/scratch" +# The default version control system command to obtain the sources. +VCSCMD="svn checkout" + # The default svn checkout server, and svn branches for src/, doc/, # and ports/. -SVNROOT="svn://svn.freebsd.org" +SVNROOT="svn://svn.FreeBSD.org/" SRCBRANCH="base/head@rHEAD" DOCBRANCH="doc/head@rHEAD" PORTBRANCH="ports/head@rHEAD" @@ -98,6 +105,11 @@ while getopts c: opt; do done shift $(($OPTIND - 1)) +# Prefix the branches with the SVNROOT for the full checkout URL. +SRCBRANCH="${SVNROOT}${SRCBRANCH}" +DOCBRANCH="${SVNROOT}${DOCBRANCH}" +PORTBRANCH="${SVNROOT}${PORTBRANCH}" + # If PORTS is set and NODOC is unset, force NODOC=yes because the ports tree # is required to build the documentation set. if [ "x${NOPORTS}" != "x" ] && [ "x${NODOC}" = "x" ]; then @@ -155,12 +167,12 @@ set -e # Everything must succeed mkdir -p ${CHROOTDIR}/usr -svn co ${FORCE_SRC_KEY} ${SVNROOT}/${SRCBRANCH} ${CHROOTDIR}/usr/src +${VCSCMD} ${FORCE_SRC_KEY} ${SRCBRANCH} ${CHROOTDIR}/usr/src if [ "x${NODOC}" = "x" ]; then - svn co ${SVNROOT}/${DOCBRANCH} ${CHROOTDIR}/usr/doc + ${VCSCMD} ${DOCBRANCH} ${CHROOTDIR}/usr/doc fi if [ "x${NOPORTS}" = "x" ]; then - svn co ${SVNROOT}/${PORTBRANCH} ${CHROOTDIR}/usr/ports + ${VCSCMD} ${PORTBRANCH} ${CHROOTDIR}/usr/ports fi cd ${CHROOTDIR}/usr/src diff --git a/share/man/man7/release.7 b/share/man/man7/release.7 index 481d4f9a2af4..00e6eb9f4e1b 100644 --- a/share/man/man7/release.7 +++ b/share/man/man7/release.7 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 2, 2013 +.Dd February 25, 2014 .Dt RELEASE 7 .Os .Sh NAME @@ -245,6 +245,10 @@ Setting this also sets Set to a non-empty value to include the .Cm dvdrom target. +.It Va VCSCMD +The command run to obtain the source trees. +Defaults to +.Qq Cm svn checkout . .El .Sh MAKEFILE TARGETS The release makefile