svn commit: r364891 - in head: . release release/scripts
Glen Barber
gjb at freebsd.org
Wed Sep 9 13:51:17 UTC 2020
On Wed, Sep 09, 2020 at 11:45:49AM +0500, Ruslan Garipov wrote:
> 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).
>
Can you verify if the attached patch works for your use case? You will
need to set NOGIT=1 in your release.conf.
Glen
-------------- next part --------------
Index: release/release.conf.sample
===================================================================
--- release/release.conf.sample (revision 365503)
+++ release/release.conf.sample (working copy)
@@ -12,6 +12,8 @@
## Set the directory within which the release will be built.
CHROOTDIR="/scratch"
+## Do not explicitly require the devel/git port to be installed.
+#NOGIT=1
## Set the version control system host.
GITROOT="https://cgit-beta.freebsd.org/"
GITSRC="src.git"
Index: release/release.sh
===================================================================
--- release/release.sh (revision 365503)
+++ release/release.sh (working copy)
@@ -65,7 +65,7 @@ env_setup() {
[ ! -z "${VCSCMD}" ] && break 2
done
- if [ -z "${VCSCMD}" ]; then
+ if [ -z "${VCSCMD}" -a ! -z "${NOGIT}" ]; then
echo "*** The devel/git port/package is required."
exit 1
fi
@@ -275,30 +275,32 @@ 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
- else
- eval chroot ${CHROOTDIR} env ASSUME_ALWAYS_YES=yes \
- pkg install -y devel/git
- eval chroot ${CHROOTDIR} env ASSUME_ALWAYS_YES=yes \
- pkg clean -y
+ if [ ! -z "${NOGIT}" ]; then
+ # 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
+ else
+ eval chroot ${CHROOTDIR} env ASSUME_ALWAYS_YES=yes \
+ pkg install -y devel/git
+ eval chroot ${CHROOTDIR} env ASSUME_ALWAYS_YES=yes \
+ pkg clean -y
+ fi
fi
if [ -d ${CHROOTDIR}/usr/ports ]; then
# Trick the ports 'run-autotools-fixup' target to do the right
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20200909/64c2a225/attachment.sig>
More information about the svn-src-all
mailing list