diff options
author | gjb <gjb@FreeBSD.org> | 2014-03-05 00:45:28 +0000 |
---|---|---|
committer | gjb <gjb@FreeBSD.org> | 2014-03-05 00:45:28 +0000 |
commit | 29fd702b0384f72ad342796fbdde5f96857ede18 (patch) | |
tree | d0b22534d18390c48fa42c3e71e5e1d776d31a6b | |
parent | 33dce93124a0e70e57403fcbe3ee5591e17eef46 (diff) | |
download | FreeBSD-src-29fd702b0384f72ad342796fbdde5f96857ede18.zip FreeBSD-src-29fd702b0384f72ad342796fbdde5f96857ede18.tar.gz |
MFC r262499, r262505, r262507, r262509:
r262499:
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.
r262505:
In release/Makefile, remove exclusion of CVS directories in the
src/ and ports/ distributions.
While I am thinking about it, exclude .git directories for src/
and ports/, as somewhat of a followup to r262499.
r262507:
Chase r262505, and remove CVS exclusion from picobsd builds.
r262509:
Rework how WORLD_FLAGS and KERNEL_FLAGS are set, to remove an
unnecessary expr(1) call.
Sponsored by: The FreeBSD Foundation
-rw-r--r-- | release/Makefile | 4 | ||||
-rwxr-xr-x | release/picobsd/build/picobsd | 4 | ||||
-rw-r--r-- | release/release.conf.sample | 9 | ||||
-rwxr-xr-x | release/release.sh | 28 | ||||
-rw-r--r-- | share/man/man7/release.7 | 6 |
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 |