summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgjb <gjb@FreeBSD.org>2014-02-25 22:13:48 +0000
committergjb <gjb@FreeBSD.org>2014-02-25 22:13:48 +0000
commite70125acff6552c7e8c1193bb493b90b67ba9d23 (patch)
tree8c0963b4e1a4523977d0d7d25799e0045f0f8132
parent91aa2538d52e9f3b055896db608e5147e5902bf3 (diff)
downloadFreeBSD-src-e70125acff6552c7e8c1193bb493b90b67ba9d23.zip
FreeBSD-src-e70125acff6552c7e8c1193bb493b90b67ba9d23.tar.gz
release.sh:
- Add a VCSCMD variable that defaults to 'svn checkout', and update places 'svn co' is used directly. - After sourcing a configuration file, prefix SRCBRANCH, PORTBRANCH, and DOCBRANCH with the SVNROOT. - Properly capitalize 'FreeBSD.org' in the default SVNROOT. - Update Copyright. release.conf.sample: - Add an example to use git instead of svn, by nullifying SVNROOT, and setting SRCBRANCH, DOCBRANCH, and PORTBRANCH to the URL fo a git repository. release.7: - Document VCSCMD. Submitted by: Rick Miller (based on) Sponsored by: The FreeBSD Foundation
-rw-r--r--release/release.conf.sample9
-rwxr-xr-xrelease/release.sh20
-rw-r--r--share/man/man7/release.76
3 files changed, 29 insertions, 6 deletions
diff --git a/release/release.conf.sample b/release/release.conf.sample
index 882f911..df42ca7 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 79419c4..0a373cc 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 481d4f9..00e6eb9 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
OpenPOWER on IntegriCloud