summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--release/Makefile4
-rwxr-xr-xrelease/picobsd/build/picobsd4
-rw-r--r--release/release.conf.sample9
-rwxr-xr-xrelease/release.sh28
-rw-r--r--share/man/man7/release.76
5 files changed, 36 insertions, 15 deletions
diff --git a/release/Makefile b/release/Makefile
index c2c46de..7fc52d1 100644
--- a/release/Makefile
+++ b/release/Makefile
@@ -119,13 +119,13 @@ src.txz:
mkdir -p ${DISTDIR}/usr
ln -fs ${WORLDDIR} ${DISTDIR}/usr/src
cd ${DISTDIR} && tar cLvJf ${.OBJDIR}/src.txz --exclude .svn --exclude .zfs \
- --exclude CVS --exclude @ --exclude usr/src/release/dist usr/src
+ --exclude .git --exclude @ --exclude usr/src/release/dist usr/src
ports.txz:
mkdir -p ${DISTDIR}/usr
ln -fs ${PORTSDIR} ${DISTDIR}/usr/ports
cd ${DISTDIR} && tar cLvJf ${.OBJDIR}/ports.txz \
- --exclude CVS --exclude .svn \
+ --exclude .git --exclude .svn \
--exclude usr/ports/distfiles --exclude usr/ports/packages \
--exclude 'usr/ports/INDEX*' --exclude work usr/ports
diff --git a/release/picobsd/build/picobsd b/release/picobsd/build/picobsd
index 1bebc87..0d3ec19 100755
--- a/release/picobsd/build/picobsd
+++ b/release/picobsd/build/picobsd
@@ -474,7 +474,7 @@ populate_floppy_fs() { # OK
for FLOPPY_TREE in ${PICO_TREE}/floppy.tree ${MY_TREE}/floppy.tree \
${MY_TREE}/floppy.tree.${SITE} ; do
if [ -d ${FLOPPY_TREE} ] ; then
- (cd ${FLOPPY_TREE} ; tar -cf - --exclude CVS \
+ (cd ${FLOPPY_TREE} ; tar -cf - \
--exclude .svn ${excl} . ) | \
(cd ${dst} ; tar x${o_tarv}f - )
log "Copied from ${FLOPPY_TREE}"
@@ -714,7 +714,7 @@ populate_mfs_tree() {
for MFS_TREE in ${PICO_TREE}/mfs_tree ${MY_TREE}/mfs_tree ; do
if [ -d ${MFS_TREE} ] ; then
log "Copy ${MFS_TREE} ..."
- (cd ${MFS_TREE} ; tar -cf - --exclude CVS --exclude .svn . ) | \
+ (cd ${MFS_TREE} ; tar -cf - --exclude .svn . ) | \
(cd ${dst} ; tar x${o_tarv}f - )
fi
done
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..9ca711e 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"
@@ -57,11 +64,9 @@ SRC_CONF="/dev/null"
# The number of make(1) jobs, defaults to the number of CPUs available for
# buildworld, and half of number of CPUs available for buildkernel.
-NCPU=$(sysctl -n hw.ncpu)
-if [ ${NCPU} -gt 1 ]; then
- WORLD_FLAGS="-j${NCPU}"
- KERNEL_FLAGS="-j$(expr ${NCPU} / 2)"
-fi
+WORLD_FLAGS="-j$(sysctl -n hw.ncpu)"
+KERNEL_FLAGS="-j$(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2))"
+
MAKE_FLAGS="-s"
# The name of the kernel to build, defaults to GENERIC.
@@ -98,6 +103,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 +165,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