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
This commit is contained in:
Glen Barber 2014-02-25 22:13:48 +00:00
parent 70c9dd3e3d
commit 9bb84a63b7
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=262499
3 changed files with 29 additions and 6 deletions

View File

@ -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"

View File

@ -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

View File

@ -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