svn commit: r364891 - in head: . release release/scripts

Ruslan Garipov ruslanngaripov at gmail.com
Wed Sep 9 06:45:56 UTC 2020


On August 28, 2020 2:19:33 AM Glen Barber <gjb at FreeBSD.org> wrote:

> Author: gjb
> Date: Thu Aug 27 21:19:16 2020
> New Revision: 364891
> URL: https://svnweb.freebsd.org/changeset/base/364891
>
> Log:
>   Merge the projects/release-git branch to head.
>   This allows building 13.x from Git instead of Subversion.
I'm sorry for the late response (and for the bad first one I made on this 
commit recently via Gmail web client).

My build machine is completely offline.  I provide it with fresh snapshots
of the source and ports tree manually -- via tarballs which I'm pulling on
a FreeBSD machine having Internet connection.  Therefore, neither
"/scratch", nor the chrooted environment for me don't require Internet
access (I fetch distfiles for offline usage too).

Can we somehow remove that requirement for the devel/git port?  For
example, if one has set all three {SRC,PORTS,DOC}_UPDATE_SKIP variables,
then release/release.sh doesn't require devel/git to exist on the host.

I really don't need git on my build machine (and don't need it for
building).

Thanks.

>   
>   No MFC to stable branches is planned at this time. [1]
>   
>   Discussed with:	git working group [1]
>   Sponsored by:	Rubicon Communications, LLC (netgate.com)
>
> Added:
>   head/release/Makefile.inc1
>      - copied unchanged from r364890, projects/release-git/release/Makefile.inc1
> Deleted:
>   head/release/scripts/relnotes-search.sh
> Modified:
>   head/Makefile.inc1
>   head/release/Makefile
>   head/release/Makefile.azure
>   head/release/Makefile.ec2
>   head/release/Makefile.gce
>   head/release/Makefile.mirrors
>   head/release/Makefile.vagrant
>   head/release/release.conf.sample
>   head/release/release.sh
> Directory Properties:
>   head/   (props changed)
>   head/cddl/   (props changed)
>   head/cddl/contrib/opensolaris/   (props changed)
>   head/contrib/bc/   (props changed)
>   head/contrib/byacc/   (props changed)
>   head/contrib/elftoolchain/   (props changed)
>   head/contrib/ipfilter/   (props changed)
>   head/contrib/llvm-project/   (props changed)
>   head/contrib/llvm-project/clang/   (props changed)
>   head/contrib/llvm-project/compiler-rt/   (props changed)
>   head/contrib/llvm-project/libcxx/   (props changed)
>   head/contrib/llvm-project/libunwind/   (props changed)
>   head/contrib/llvm-project/lld/   (props changed)
>   head/contrib/llvm-project/lldb/   (props changed)
>   head/contrib/llvm-project/llvm/   (props changed)
>   head/contrib/llvm-project/openmp/   (props changed)
>   head/contrib/lua/   (props changed)
>   head/contrib/mtree/   (props changed)
>   head/contrib/netbsd-tests/   (props changed)
>   head/contrib/openbsm/   (props changed)
>   head/contrib/sendmail/   (props changed)
>   head/contrib/sqlite3/   (props changed)
>   head/contrib/unbound/   (props changed)
>   head/crypto/openssh/   (props changed)
>   head/crypto/openssl/   (props changed)
>   head/sys/cddl/contrib/opensolaris/   (props changed)
>   head/sys/contrib/dev/acpica/   (props changed)
>   head/sys/contrib/ipfilter/   (props changed)
>   head/sys/gnu/dts/arm/   (props changed)
>   head/sys/gnu/dts/arm64/   (props changed)
>   head/sys/gnu/dts/include/   (props changed)
>   head/sys/gnu/dts/riscv/   (props changed)
>
> Modified: head/Makefile.inc1
> ==============================================================================
> --- head/Makefile.inc1	Thu Aug 27 21:09:17 2020	(r364890)
> +++ head/Makefile.inc1	Thu Aug 27 21:19:16 2020	(r364891)
> @@ -510,6 +510,15 @@ VCS_REVISION=	$$(echo r${_VCS_REVISION})
>  .export VCS_REVISION
>  .endif
>  
> +.if !defined(GIT_CMD) || empty(GIT_CMD)
> +. for _P in /usr/bin /usr/local/bin
> +.  if exists(${_P}/git)
> +GIT_CMD=   ${_P}/git
> +.  endif
> +. endfor
> +.export GIT_CMD
> +.endif
> +
>  .if !defined(OSRELDATE)
>  .if exists(/usr/include/osreldate.h)
>  OSRELDATE!=	awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \
>
> Modified: head/release/Makefile
> ==============================================================================
> --- head/release/Makefile	Thu Aug 27 21:09:17 2020	(r364890)
> +++ head/release/Makefile	Thu Aug 27 21:19:16 2020	(r364891)
> @@ -90,15 +90,6 @@ EXTRA_PACKAGES+= src.txz
>  .endif
>  .if !defined(NODOC)
>  EXTRA_PACKAGES+= reldoc
> -. if !defined(SVN) || empty(SVN)
> -.  for S in svn svnlite
> -.   for D in /usr/local/bin /usr/bin
> -.    if(exists(${D}/${S}))
> -SVN?=	${D}/${S}
> -.    endif
> -.   endfor
> -.  endfor
> -. endif
>  .endif
>  
>  RELEASE_TARGETS= ftp
> @@ -173,7 +164,6 @@ ports.txz:
>  reldoc:
>  	cd ${DOCDIR}/en_US.ISO8859-1/htdocs/releases/${REVISION}R && \
>  	    env MAN4DIR=${WORLDDIR}/share/man/man4 \
> -	    SVN=${SVN} \
>  	    _BRANCH=${BRANCH} \
>  	    ${MAKE} all install clean "FORMATS=html txt" \
>  	    INSTALL_COMPRESSED='' URLS_ABSOLUTE=YES DOCDIR=${.OBJDIR}/rdoc \
> @@ -336,4 +326,5 @@ release-install:
>  	cd ${DESTDIR} && sha512 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.SHA512
>  	cd ${DESTDIR} && sha256 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.SHA256
>  
> +.include "${.CURDIR}/Makefile.inc1"
>  .include "${.CURDIR}/Makefile.vm"
>
> Modified: head/release/Makefile.azure
> ==============================================================================
> --- head/release/Makefile.azure	Thu Aug 27 21:09:17 2020	(r364890)
> +++ head/release/Makefile.azure	Thu Aug 27 21:19:16 2020	(r364891)
> @@ -17,7 +17,7 @@ AZURE${VAR}!=	grep -E ^AZURE${VAR} ${AZURE_UPLOAD_CONF
>  .endif
>  
>  .if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT" || ${BRANCH} == 
>  "PRERELEASE"
> -SNAPSHOT_DATE!=		date +-%Y-%m-%d
> +SNAPSHOT_DATE!=		date +-${BUILDDATE}
>  .endif
>  
>  AZURE_TARGET:=		${OSRELEASE}${SNAPSHOT_DATE}.vhd
>
> Modified: head/release/Makefile.ec2
> ==============================================================================
> --- head/release/Makefile.ec2	Thu Aug 27 21:09:17 2020	(r364890)
> +++ head/release/Makefile.ec2	Thu Aug 27 21:19:16 2020	(r364891)
> @@ -5,32 +5,8 @@
>  # Makefile for creating an EC2 AMI from a disk image.
>  #
>  
> -# Figure out where SVN is
> -.if !defined(SVN_CMD) || empty(SVN_CMD)
> -. for _P in /usr/bin /usr/local/bin
> -.  for _S in svn svnlite
> -.   if exists(${_P}/${_S})
> -SVN_CMD=   ${_P}/${_S}
> -.   endif
> -.  endfor
> -. endfor
> -.endif
> -.if exists(${SRCTOP}/.svn)
> -.  if empty(EC2_SVNBRANCH)
> -   EC2_SVNBRANCH!=	${SVN_CMD} info --show-item relative-url ${WORLDDIR} 
> 2>/dev/null | sed -e 's/\^\///'
> -.  export EC2_SVNBRANCH
> -.  endif
> -.  if empty(EC2_SVNREV)
> -   EC2_SVNREV!=	${SVN_CMD} info --show-item last-changed-revision 
> ${WORLDDIR} 2>/dev/null || true
> -.  export EC2_SVNREV
> -.  endif
> -.else
> -EC2_SVNBRANCH=	unknown
> -EC2_SVNREV=	unknown
> -.endif
> -
>  .if ${BRANCH} == "CURRENT" || ${BRANCH} == "STABLE" || ${BRANCH} == 
>  "PRERELEASE"
> -AMINAMESUFFIX!=	date +-%Y-%m-%d
> +AMINAMESUFFIX!=	date +-${BUILDDATE}
>  .endif
>  .if defined(EC2PUBLIC) && !empty(EC2PUBLIC)
>  PUBLISH=	--public
> @@ -40,7 +16,7 @@ PUBLICSNAP=	--publicsnap
>  .endif
>  .if defined(EC2SNSTOPIC) && !empty(EC2SNSTOPIC)
>  EC2SNSREL=	${REVISION}-${BRANCH}
> -EC2SNSVERS=	${EC2_SVNBRANCH}@${EC2_SVNREV}
> +EC2SNSVERS=	${GITBRANCH}@${GITREV}
>  .endif
>  .if ${TARGET_ARCH} != "amd64"
>  EC2ARCH=	--${TARGET_ARCH:S/aarch64/arm64/}
> @@ -89,7 +65,7 @@ ec2ami: cw-ec2 ${CW_EC2_PORTINSTALL}
>  	    ${EC2ARCH} --sriov --ena \
>  	    ${.OBJDIR}/ec2.raw \
>  	    "${TYPE} ${REVISION}-${BRANCH}-${TARGET}${AMINAMESUFFIX}" \
> -	    "${TYPE}/${TARGET} ${EC2_SVNBRANCH}@${EC2_SVNREV}" \
> +	    "${TYPE}/${TARGET} ${GITBRANCH}@${GITREV}" \
>  	    ${AWSREGION} ${AWSBUCKET} ${AWSKEYFILE} \
>  	    ${EC2SNSTOPIC} ${EC2SNSREL} ${EC2SNSVERS}
>  	@touch ${.TARGET}
>
> Modified: head/release/Makefile.gce
> ==============================================================================
> --- head/release/Makefile.gce	Thu Aug 27 21:09:17 2020	(r364890)
> +++ head/release/Makefile.gce	Thu Aug 27 21:19:16 2020	(r364891)
> @@ -24,8 +24,7 @@ GCE_FAMILY=		${TYPE:tl}-${REVISION:S,.,-,}
>  .endif
>  
>  .if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT" || ${BRANCH} == 
>  "PRERELEASE"
> -_SNAPSHOT_DATE!=	date +%Y%m%d
> -SNAPSHOT_DATE=		-v${_SNAPSHOT_DATE}
> +SNAPSHOT_DATE=		-v${BUILDDATE}
>  GCE_FAMILY_SUFX=	-snap
>  .endif
>  
>
> Copied: head/release/Makefile.inc1 (from r364890, 
> projects/release-git/release/Makefile.inc1)
> ==============================================================================
> --- /dev/null	00:00:00 1970	(empty, because file is newly added)
> +++ head/release/Makefile.inc1	Thu Aug 27 21:19:16 2020	(r364891, copy of 
> r364890, projects/release-git/release/Makefile.inc1)
> @@ -0,0 +1,31 @@
> +#
> +# $FreeBSD$
> +#
> +
> +# Figure out where the git binary is.
> +.for _P in /usr/bin /usr/local/bin
> +. if !defined(GIT_CMD) || empty(GIT_CMD)
> +.  if exists(${_P}/git)
> +GIT_CMD=   ${_P}/git
> +.  endif
> +. endif
> +.endfor
> +.if !defined(GIT_CMD) && empty(GIT_CMD)
> +. error "Git binary not found.  Set GIT_CMD appropriately."
> +.endif
> +
> +# Set the git branch and hash to export where needed.
> +.if !defined(GITBRANCH) || empty(GITBRANCH)
> +GITBRANCH!=	${GIT_CMD} -C ${.CURDIR} rev-parse --abbrev-ref HEAD 
> 2>/dev/null | sed -e 's/\^\///'
> +.export GITBRANCH
> +.endif
> +.if !defined(GITREV) || empty(GITREV)
> +GITREV!=	${GIT_CMD} -C ${.CURDIR} rev-parse --verify --short HEAD 
> 2>/dev/null || true
> +.export GITREV
> +.endif
> +
> +# Set the build date, primarily for snapshot builds.
> +.if !defined(BUILDDATE) || empty(BUILDDATE)
> +BUILDDATE!=		date +%Y%m%d
> +.export BUILDDATE
> +.endif
>
> Modified: head/release/Makefile.mirrors
> ==============================================================================
> --- head/release/Makefile.mirrors	Thu Aug 27 21:09:17 2020	(r364890)
> +++ head/release/Makefile.mirrors	Thu Aug 27 21:19:16 2020	(r364891)
> @@ -19,7 +19,6 @@ FTPDIR?=		${RELEASEDIR}/ftp-stage
>  .if exists(${RELEASEDIR})
>  STAGE_TARGETS?=		iso-images-stage
>  .endif
> -SRCBRANCH!=		${SVN_CMD} info --show-item relative-url ${WORLDDIR}
>  
>  .if (defined(EMBEDDED_TARGET) && !empty(EMBEDDED_TARGET)) || 
>  (defined(EMBEDDEDBUILD) && !empty(EMBEDDEDBUILD))
>  . if ${TARGET:Marm*} != "" || ${EMBEDDED_TARGET:Marm*} != ""
> @@ -31,26 +30,10 @@ EMBEDDED=		1
>  .if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT" || ${BRANCH} == 
>  "PRERELEASE" || ${BRANCH:MALPHA*} != ""
>  SNAPSHOT=		1
>  TLD?=			${FTPDIR}/snapshots
> -. if !defined(SVNREVISION) || empty(SVNREVISION)
> -.  for _D in /usr/bin /usr/local/bin
> -.   for _S in svnversion svnliteversion
> -.    if exists(${_D}/${_S})
> -SVNVERSION?=		${_D}/${_S}
> -.    endif
> -.   endfor
> -.  endfor
> -.  if exists(${SVNVERSION}) && !empty(SVNVERSION)
> -SVNREVISION!=		${SVNVERSION} ${WORLDDIR}/Makefile
> -.  endif
> -. endif # !defined(SVNREVISION)
> -. if !defined(BUILDDATE) || empty(BUILDDATE)
> -.  if exists(${.CURDIR}/${.OBJDIR}/dist/base/bin/sh)
> -BUILDDATE!=		cd ${.CURDIR} && date -j -f '%s' $$(stat -f "%c" 
> ${.OBJDIR}/dist/base/bin/sh) +%Y%m%d
> -.  else
> +.if !defined(BUILDDATE) || empty(BUILDDATE)
>  BUILDDATE!=		date +%Y%m%d
> -.  endif
> -. endif
> -_SNAP_SUFFIX:=		${BUILDDATE}-r${SVNREVISION}
> +.endif
> +_SNAP_SUFFIX:=		${BUILDDATE}-${GITREV}
>  .else
>  # release
>  SNAPSHOT=
> @@ -187,8 +170,8 @@ iso-images-stage:
>  	mkdir -p ${FTP_DIR}
>  	cp -p ${RELEASEDIR}/ftp/*.txz ${RELEASEDIR}/ftp/MANIFEST ${FTP_DIR}
>  	echo ${BUILDDATE} > ${FTP_DIR}/BUILDDATE
> -	echo ${SRCBRANCH} > ${FTP_DIR}/SRCBRANCH
> -	echo r${SVNREVISION} > ${FTP_DIR}/REVISION
> +	echo ${GITBRANCH} > ${FTP_DIR}/GITBRANCH
> +	echo ${GITREV} > ${FTP_DIR}/REVISION
>  	cd ${TLD}/${TARGET} && \
>  		ln -s ${TARGET_ARCH}/${REVISION}-${BRANCH} \
>  			${REVISION}-${BRANCH}
>
> Modified: head/release/Makefile.vagrant
> ==============================================================================
> --- head/release/Makefile.vagrant	Thu Aug 27 21:09:17 2020	(r364890)
> +++ head/release/Makefile.vagrant	Thu Aug 27 21:19:16 2020	(r364891)
> @@ -29,7 +29,7 @@ ATLAS${VAR}:=		${VAGRANT${VAR}}
>  .endif
>  
>  .if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT" || ${BRANCH} == 
>  "PRERELEASE"
> -SNAPSHOT_DATE!=		date +-%Y%m%d
> +SNAPSHOT_DATE!=		date +-${BUILDDATE}
>  .endif
>  
>  VAGRANT_VERSION!=	date +%Y.%m.%d
>
> Modified: head/release/release.conf.sample
> ==============================================================================
> --- head/release/release.conf.sample	Thu Aug 27 21:09:17 2020	(r364890)
> +++ head/release/release.conf.sample	Thu Aug 27 21:19:16 2020	(r364891)
> @@ -12,23 +12,19 @@
>  ## Set the directory within which the release will be built.
>  CHROOTDIR="/scratch"
>  
> -## Set the svn host.
> -SVNROOT="svn://svn.FreeBSD.org/"
> +## Set the version control system host.
> +GITROOT="https://cgit-beta.freebsd.org/"
> +GITSRC="src.git"
> +GITPORTS="ports.git"
> +GITDOC="doc.git"
>  
>  ## Set the src/, ports/, and doc/ branches or tags.
> -SRCBRANCH="base/head at rHEAD"
> -DOCBRANCH="doc/head at rHEAD"
> -PORTBRANCH="ports/head at rHEAD"
> +SRCBRANCH="main"
> +DOCBRANCH="main"
> +PORTBRANCH="main"
>  
> -## 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"
> +## Sample configuration for using git from ports.
> +#GITCMD="/usr/local/bin/git clone -q --branch main"
>  
>  ## Set to override the default target architecture.
>  #TARGET="amd64"
>
> Modified: head/release/release.sh
> ==============================================================================
> --- head/release/release.sh	Thu Aug 27 21:09:17 2020	(r364890)
> +++ head/release/release.sh	Thu Aug 27 21:19:16 2020	(r364891)
> @@ -1,6 +1,7 @@
>  #!/bin/sh
>  #-
> -# Copyright (c) 2013-2018 The FreeBSD Foundation
> +# Copyright (c) 2020 Rubicon Communications, LLC (netgate.com)
> +# Copyright (c) 2013-2019 The FreeBSD Foundation
>  # Copyright (c) 2013 Glen Barber
>  # Copyright (c) 2011 Nathan Whitehorn
>  # All rights reserved.
> @@ -38,7 +39,7 @@
>  
>  export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin"
>  
> -VERSION=2
> +VERSION=3
>  
>  # Prototypes that can be redefined per-chroot or per-target.
>  load_chroot_env() { }
> @@ -51,7 +52,7 @@ usage() {
>  }
>  
>  # env_setup(): Set up the default build environment variables, such as the
> -# CHROOTDIR, VCSCMD, SVNROOT, etc.  This is called before the release.conf
> +# CHROOTDIR, VCSCMD, GITROOT, etc.  This is called before the release.conf
>  # file is sourced, if '-c <release.conf>' is specified.
>  env_setup() {
>  	# The directory within which the release will be built.
> @@ -60,27 +61,29 @@ env_setup() {
>  
>  	# The default version control system command to obtain the sources.
>  	for _dir in /usr/bin /usr/local/bin; do
> -		for _svn in svn svnlite; do
> -			[ -x "${_dir}/${_svn}" ] && VCSCMD="${_dir}/${_svn}"
> -			[ ! -z "${VCSCMD}" ] && break 2
> -		done
> +		[ -x "${_dir}/git" ] && VCSCMD="/${_dir}/git"
> +		[ ! -z "${VCSCMD}" ] && break 2
>  	done
> -	VCSCMD="${VCSCMD} checkout"
>  
> -	# The default svn checkout server, and svn branches for src/, doc/,
> +	if [ -z "${VCSCMD}" ]; then
> +		echo "*** The devel/git port/package is required."
> +		exit 1
> +	fi
> +	VCSCMD="/usr/local/bin/git clone -q"
> +
> +	# The default git checkout server, and branches for src/, doc/,
>  	# and ports/.
> -	SVNROOT="svn://svn.FreeBSD.org/"
> -	SRCBRANCH="base/head at rHEAD"
> -	DOCBRANCH="doc/head at rHEAD"
> -	PORTBRANCH="ports/head at rHEAD"
> +	GITROOT="https://cgit-beta.FreeBSD.org/"
> +	SRCBRANCH="main"
> +	DOCBRANCH="main"
> +	PORTBRANCH="main"
> +	GITSRC="src.git"
> +	GITPORTS="ports.git"
> +	GITDOC="doc.git"
>  
>  	# Set for embedded device builds.
>  	EMBEDDEDBUILD=
>  
> -	# Sometimes one needs to checkout src with --force svn option.
> -	# If custom kernel configs copied to src tree before checkout, e.g.
> -	SRC_FORCE_CHECKOUT=
> -
>  	# The default make.conf and src.conf to use.  Set to /dev/null
>  	# by default to avoid polluting the chroot(8) environment with
>  	# non-default settings.
> @@ -128,20 +131,11 @@ env_setup() {
>  # in env_setup() if '-c <release.conf>' is specified.
>  env_check() {
>  	chroot_build_release_cmd="chroot_build_release"
> -	# Fix for backwards-compatibility with release.conf that does not have
> -	# the trailing '/'.
> -	case ${SVNROOT} in
> -		*svn*)
> -			SVNROOT="${SVNROOT}/"
> -			;;
> -		*)
> -			;;
> -	esac
>  
> -	# Prefix the branches with the SVNROOT for the full checkout URL.
> -	SRCBRANCH="${SVNROOT}${SRCBRANCH}"
> -	DOCBRANCH="${SVNROOT}${DOCBRANCH}"
> -	PORTBRANCH="${SVNROOT}${PORTBRANCH}"
> +	# Prefix the branches with the GITROOT for the full checkout URL.
> +	SRC="${GITROOT}${GITSRC}"
> +	DOC="${GITROOT}${GITDOC}"
> +	PORT="${GITROOT}${GITPORTS}"
>  
>  	if [ -n "${EMBEDDEDBUILD}" ]; then
>  		WITH_DVD=
> @@ -187,11 +181,6 @@ env_check() {
>  	else
>  		ARCH_FLAGS=
>  	fi
> -	# Force src checkout if configured
> -	FORCE_SRC_KEY=
> -	if [ -n "${SRC_FORCE_CHECKOUT}" ]; then
> -		FORCE_SRC_KEY="--force"
> -	fi
>  
>  	if [ -z "${CHROOTDIR}" ]; then
>  		echo "Please set CHROOTDIR."
> @@ -231,13 +220,13 @@ chroot_setup() {
>  	mkdir -p ${CHROOTDIR}/usr
>  
>  	if [ -z "${SRC_UPDATE_SKIP}" ]; then
> -		${VCSCMD} ${FORCE_SRC_KEY} ${SRCBRANCH} ${CHROOTDIR}/usr/src
> +		${VCSCMD} ${SRC} -b ${SRCBRANCH} ${CHROOTDIR}/usr/src
>  	fi
>  	if [ -z "${NODOC}" ] && [ -z "${DOC_UPDATE_SKIP}" ]; then
> -		${VCSCMD} ${DOCBRANCH} ${CHROOTDIR}/usr/doc
> +		${VCSCMD} ${DOC} -b ${DOCBRANCH} ${CHROOTDIR}/usr/doc
>  	fi
>  	if [ -z "${NOPORTS}" ] && [ -z "${PORTS_UPDATE_SKIP}" ]; then
> -		${VCSCMD} ${PORTBRANCH} ${CHROOTDIR}/usr/ports
> +		${VCSCMD} ${PORT} -b ${PORTBRANCH} ${CHROOTDIR}/usr/ports
>  	fi
>  
>  	if [ -z "${CHROOTBUILD_SKIP}" ]; then
> @@ -274,6 +263,26 @@ extra_chroot_setup() {
>  		cp ${SRC_CONF} ${CHROOTDIR}/${SRC_CONF}
>  	fi
>  
> +	# Install git from ports or packages if the ports tree is
> +	# available and VCSCMD is unset.
> +	_gitcmd="$(which git)"
> +	if [ -d ${CHROOTDIR}/usr/ports -a -z "${_gitcmd}" ]; then
> +		# Trick the ports 'run-autotools-fixup' target to do the right
> +		# thing.
> +		_OSVERSION=$(chroot ${CHROOTDIR} /usr/bin/uname -U)
> +		REVISION=$(chroot ${CHROOTDIR} make -C /usr/src/release -V REVISION)
> +		BRANCH=$(chroot ${CHROOTDIR} make -C /usr/src/release -V BRANCH)
> +		UNAME_r=${REVISION}-${BRANCH}
> +		GITUNSETOPTS="CONTRIB CURL CVS GITWEB GUI HTMLDOCS"
> +		GITUNSETOPTS="${GITUNSETOPTS} ICONV NLS P4 PERL"
> +		GITUNSETOPTS="${GITUNSETOPTS} SEND_EMAIL SUBTREE SVN"
> +		GITUNSETOPTS="${GITUNSETOPTS} PCRE PCRE2"
> +		eval chroot ${CHROOTDIR} env OPTIONS_UNSET=\"${GITUNSETOPTS}\" \
> +			make -C /usr/ports/devel/git FORCE_PKG_REGISTER=1 \
> +			WRKDIRPREFIX=/tmp/ports \
> +			DISTDIR=/tmp/distfiles \
> +			install clean distclean
> +	fi
>  	if [ -d ${CHROOTDIR}/usr/ports ]; then
>  		# Trick the ports 'run-autotools-fixup' target to do the right
>  		# thing.
> _______________________________________________
> svn-src-head at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/svn-src-head
> To unsubscribe, send any mail to "svn-src-head-unsubscribe at freebsd.org"





More information about the svn-src-head mailing list