From amuhametov@monitoring.rambler.ru  Tue Jul  2 09:13:36 2013
Return-Path: <amuhametov@monitoring.rambler.ru>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1])
	by hub.freebsd.org (Postfix) with ESMTP id 2E671569;
	Tue,  2 Jul 2013 09:13:36 +0000 (UTC)
	(envelope-from amuhametov@monitoring.rambler.ru)
Received: from monitoring.rambler.ru (monitoring.rambler.ru [81.19.75.233])
	by mx1.freebsd.org (Postfix) with ESMTP id 6E2E61EE5;
	Tue,  2 Jul 2013 09:13:34 +0000 (UTC)
Received: from monitoring.rambler.ru (localhost [127.0.0.1])
	by monitoring.rambler.ru (8.14.4/8.14.4) with ESMTP id r6297pGp043124;
	Tue, 2 Jul 2013 13:07:51 +0400 (MSK)
	(envelope-from amuhametov@monitoring.rambler.ru)
Received: (from amuhametov@localhost)
	by monitoring.rambler.ru (8.14.4/8.14.4/Submit) id r6297p4S043117;
	Tue, 2 Jul 2013 13:07:51 +0400 (MSK)
	(envelope-from amuhametov)
Message-Id: <201307020907.r6297p4S043117@monitoring.rambler.ru>
Date: Tue, 2 Jul 2013 13:07:51 +0400 (MSK)
From: Anes Mukhametov <anes@anes.su>
Reply-To: Anes Mukhametov <anes@anes.su>
To: FreeBSD-gnats-submit@freebsd.org
Cc: gjb@freebsd.org
Subject: [PATCH] release/release.sh bugfixes+small improvements
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         180192
>Category:       conf
>Synopsis:       [PATCH] release/release.sh bugfixes+small improvements
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    gjb
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jul 02 09:20:00 UTC 2013
>Closed-Date:    Mon Jul 08 01:46:31 UTC 2013
>Last-Modified:  Mon Jul  8 01:50:01 UTC 2013
>Originator:     Anes Mukhametov <anes@anes.su>
>Release:        FreeBSD 9.1-STABLE amd64
>Organization:
>Environment:
	
>Description:
	Changeset for release/release.sh with updates in release/release.conf.sample.
	1. Fixed bug when textproc/docproj was not installed when NODOCS was unset, added some cleanup.
	2. Fixed bug when NOPORTS and NODOCS were passed as make vars even if they were unset.
		They should not pass because of definedness check.
	3. Added www/w3m to workaround docs build failures.
	4. Added WITHOUT_X11=yes WITHOUT_PYTHON=yes to docproj and w3m make variables.
	5. Added support of multiple kerneles build.
	6. Added SRC_FORCE_CHECKOUT config variable which tells to checkout with "--force" option.
		Useful when one puts custom kernels to sys/${TARGET}/conf before source tree checkout.   
>How-To-Repeat:
	
>Fix:

	

--- release.diff begins here ---
Index: release.conf.sample
===================================================================
--- base/head/release/release.conf.sample.orig	(revision 252465)
+++ base/head/release/release.conf.sample	(working copy)
@@ -14,6 +14,9 @@
 DOCBRANCH="doc/head"
 PORTBRANCH="ports/head"
 
+## Run svn co --force for src checkout.
+#SRC_FORCE_CHECKOUT=yes
+
 ## Set the src/, ports/, and doc/ revisions.
 SRCREVISION="-rHEAD"
 DOCREVISION="-rHEAD"
@@ -23,6 +26,8 @@
 #TARGET="amd64"
 #TARGET_ARCH="amd64"
 #KERNEL="GENERIC"
+##Multiple kernels may be set
+#KERNEL="GENERIC XENHVM"
 
 ## Set to specify a custom make.conf and/or src.conf
 #MAKE_CONF="/etc/local/make.conf"
Index: release.sh
===================================================================
--- base/head/release/release.sh.orig	(revision 252465)
+++ base/head/release/release.sh	(working copy)
@@ -45,6 +45,10 @@
 DOCBRANCH="doc/head"
 PORTBRANCH="ports/head"
 
+# 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 src/, doc/, and ports/ revisions.
 SRCREVISION="-rHEAD"
 DOCREVISION="-rHEAD"
@@ -109,6 +113,25 @@
 done
 shift $(($OPTIND - 1))
 
+# 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
+	echo "*** NOTICE: Setting NODOC=1 since ports tree is required"
+	echo "            and NOPORTS is set."
+	NODOC=yes
+fi
+
+# If NOPORTS and/or NODOC are unset, they must not pass to make as variables.
+# The release makefile verifies definedness of NOPORTS/NODOC variables
+# instead of their values.
+DOCPORTS=
+if [ "x${NOPORTS}" != "x" ]; then
+ DOCPORTS="NOPORTS=yes "
+fi
+if [ "x${NODOC}" != "x" ]; then
+ DOCPORTS="${DOCPORTS}NODOC=yes"
+fi
+
 # The aggregated build-time flags based upon variables defined within
 # this file, unless overridden by release.conf.  In most cases, these
 # will not need to be changed.
@@ -118,16 +141,14 @@
 CHROOT_IMAKEFLAGS="${CONF_FILES}"
 CHROOT_DMAKEFLAGS="${CONF_FILES}"
 RELEASE_WMAKEFLAGS="${MAKE_FLAGS} ${WORLD_FLAGS} ${ARCH_FLAGS} ${CONF_FILES}"
-RELEASE_KMAKEFLAGS="${MAKE_FLAGS} ${KERNEL_FLAGS} KERNCONF=${KERNEL} ${ARCH_FLAGS} ${CONF_FILES}"
-RELEASE_RMAKEFLAGS="${ARCH_FLAGS} KERNCONF=${KERNEL} ${CONF_FILES} \
-	NODOC=${NODOC} NOPORTS=${NOPORTS}"
+RELEASE_KMAKEFLAGS="${MAKE_FLAGS} ${KERNEL_FLAGS} KERNCONF=\"${KERNEL}\" ${ARCH_FLAGS} ${CONF_FILES}"
+RELEASE_RMAKEFLAGS="${ARCH_FLAGS} KERNCONF=\"${KERNEL}\" ${CONF_FILES} \
+	${DOCPORTS}"
 
-# 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
-	echo "*** NOTICE: Setting NODOC=1 since ports tree is required"
-	echo "            and NOPORTS is set."
-	NODOC=1
+# Force src checkout if configured
+FORCE_SRC_KEY=
+if [ "x${SRC_FORCE_CHECKOUT}" != "x" ]; then
+ FORCE_SRC_KEY="--force"
 fi
 
 if [ ! ${CHROOTDIR} ]; then
@@ -144,7 +165,7 @@
 
 mkdir -p ${CHROOTDIR}/usr
 
-svn co ${SVNROOT}/${SRCBRANCH} ${CHROOTDIR}/usr/src $SRCREVISION
+svn co ${FORCE_SRC_KEY} ${SVNROOT}/${SRCBRANCH} ${CHROOTDIR}/usr/src $SRCREVISION
 if [ "x${NODOC}" = "x" ]; then
 	svn co ${SVNROOT}/${DOCBRANCH} ${CHROOTDIR}/usr/doc $DOCREVISION
 fi
@@ -164,10 +185,12 @@
 build_doc_ports() {
 	## Trick the ports 'run-autotools-fixup' target to do the right thing.
 	_OSVERSION=$(sysctl -n kern.osreldate)
-	if [ -d ${CHROOTDIR}/usr/doc ] && [ "x${NODOC}" != "x" ]; then
-		PBUILD_FLAGS="OSVERSION=${_OSVERSION} WITHOUT_JADETEX=yes BATCH=yes"
+	if [ -d ${CHROOTDIR}/usr/doc ] && [ "x${NODOC}" = "x" ]; then
+		PBUILD_FLAGS="OSVERSION=${_OSVERSION} WITHOUT_JADETEX=yes WITHOUT_X11=yes WITHOUT_PYTHON=yes BATCH=yes"
 		chroot ${CHROOTDIR} make -C /usr/ports/textproc/docproj \
-			${PBUILD_FLAGS} install
+			${PBUILD_FLAGS} install clean distclean
+		#w3m needed to build docs
+		chroot ${CHROOTDIR} make -C /usr/ports/www/w3m ${PBUILD_FLAGS} install clean distclean
 	fi
 }
 
@@ -192,10 +215,10 @@
 fi
 
 chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_WMAKEFLAGS} buildworld
-chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_KMAKEFLAGS} buildkernel
-chroot ${CHROOTDIR} make -C /usr/src/release ${RELEASE_RMAKEFLAGS} \
+eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_KMAKEFLAGS} buildkernel
+eval chroot ${CHROOTDIR} make -C /usr/src/release ${RELEASE_RMAKEFLAGS} \
 	release RELSTRING=${RELSTRING}
-chroot ${CHROOTDIR} make -C /usr/src/release ${RELEASE_RMAKEFLAGS} \
+eval chroot ${CHROOTDIR} make -C /usr/src/release ${RELEASE_RMAKEFLAGS} \
 	install DESTDIR=/R RELSTRING=${RELSTRING}
 
 cd ${CHROOTDIR}/R
--- release.diff ends here ---


>Release-Note:
>Audit-Trail:

From: Anes Mukhametov <anes@anes.su>
To: FreeBSD-gnats-submit@freebsd.org, freebsd-bugs@freebsd.org
Cc:  
Subject: Re: conf/180192: [PATCH] release/release.sh bugfixes+small improvements
Date: Tue, 2 Jul 2013 13:57:13 +0400

 --001a1133414c91cb7904e0845e93
 Content-Type: multipart/alternative; boundary=001a1133414c91cb7504e0845e91
 
 --001a1133414c91cb7504e0845e91
 Content-Type: text/plain; charset=ISO-8859-1
 
 Here is the latest patch with WITHOUT_SVN=yes added to docproj. We don't
 need to checkout docs again.
 
 On Tue, Jul 2, 2013 at 1:20 PM, <FreeBSD-gnats-submit@freebsd.org> wrote:
 
 > Thank you very much for your problem report.
 > It has the internal identification `conf/180192'.
 > The individual assigned to look at your
 > report is: freebsd-bugs.
 >
 > You can access the state of your problem report at any time
 > via this link:
 >
 > http://www.freebsd.org/cgi/query-pr.cgi?pr=180192
 >
 > >Category:       conf
 > >Responsible:    freebsd-bugs
 > >Synopsis:       [PATCH] release/release.sh bugfixes+small improvements
 > >Arrival-Date:   Tue Jul 02 09:20:00 UTC 2013
 >
 
 --001a1133414c91cb7504e0845e91
 Content-Type: text/html; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 Here is the latest patch with WITHOUT_SVN=3Dyes added to docproj. We don&#3=
 9;t need to checkout docs again.<br><br><div class=3D"gmail_quote">On Tue, =
 Jul 2, 2013 at 1:20 PM,  <span dir=3D"ltr">&lt;<a href=3D"mailto:FreeBSD-gn=
 ats-submit@freebsd.org" target=3D"_blank">FreeBSD-gnats-submit@freebsd.org<=
 /a>&gt;</span> wrote:<br>
 <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
 x #ccc solid;padding-left:1ex">Thank you very much for your problem report.=
 <br>
 It has the internal identification `conf/180192&#39;.<br>
 The individual assigned to look at your<br>
 report is: freebsd-bugs.<br>
 <br>
 You can access the state of your problem report at any time<br>
 via this link:<br>
 <br>
 <a href=3D"http://www.freebsd.org/cgi/query-pr.cgi?pr=3D180192" target=3D"_=
 blank">http://www.freebsd.org/cgi/query-pr.cgi?pr=3D180192</a><br>
 <br>
 &gt;Category: =A0 =A0 =A0 conf<br>
 &gt;Responsible: =A0 =A0freebsd-bugs<br>
 &gt;Synopsis: =A0 =A0 =A0 [PATCH] release/release.sh bugfixes+small improve=
 ments<br>
 &gt;Arrival-Date: =A0 Tue Jul 02 09:20:00 UTC 2013<br>
 </blockquote></div><br>
 
 --001a1133414c91cb7504e0845e91--
 --001a1133414c91cb7904e0845e93
 Content-Type: application/octet-stream; name="release.diff"
 Content-Disposition: attachment; filename="release.diff"
 Content-Transfer-Encoding: base64
 X-Attachment-Id: f_himx88200
 
 SW5kZXg6IHJlbGVhc2UuY29uZi5zYW1wbGUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gYmFzZS9oZWFkL3JlbGVh
 c2UvcmVsZWFzZS5jb25mLnNhbXBsZS5vcmlnCShyZXZpc2lvbiAyNTI0NjUpCisrKyBiYXNlL2hl
 YWQvcmVsZWFzZS9yZWxlYXNlLmNvbmYuc2FtcGxlCSh3b3JraW5nIGNvcHkpCkBAIC0xNCw2ICsx
 NCw5IEBACiBET0NCUkFOQ0g9ImRvYy9oZWFkIgogUE9SVEJSQU5DSD0icG9ydHMvaGVhZCIKIAor
 IyMgUnVuIHN2biBjbyAtLWZvcmNlIGZvciBzcmMgY2hlY2tvdXQuCisjU1JDX0ZPUkNFX0NIRUNL
 T1VUPXllcworCiAjIyBTZXQgdGhlIHNyYy8sIHBvcnRzLywgYW5kIGRvYy8gcmV2aXNpb25zLgog
 U1JDUkVWSVNJT049Ii1ySEVBRCIKIERPQ1JFVklTSU9OPSItckhFQUQiCkBAIC0yMyw2ICsyNiw4
 IEBACiAjVEFSR0VUPSJhbWQ2NCIKICNUQVJHRVRfQVJDSD0iYW1kNjQiCiAjS0VSTkVMPSJHRU5F
 UklDIgorIyNNdWx0aXBsZSBrZXJuZWxzIG1heSBiZSBzZXQKKyNLRVJORUw9IkdFTkVSSUMgWEVO
 SFZNIgogCiAjIyBTZXQgdG8gc3BlY2lmeSBhIGN1c3RvbSBtYWtlLmNvbmYgYW5kL29yIHNyYy5j
 b25mCiAjTUFLRV9DT05GPSIvZXRjL2xvY2FsL21ha2UuY29uZiIKSW5kZXg6IHJlbGVhc2Uuc2gK
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PQotLS0gYmFzZS9oZWFkL3JlbGVhc2UvcmVsZWFzZS5zaC5vcmlnCShyZXZpc2lv
 biAyNTI0NjUpCisrKyBiYXNlL2hlYWQvcmVsZWFzZS9yZWxlYXNlLnNoCSh3b3JraW5nIGNvcHkp
 CkBAIC00NSw2ICs0NSwxMCBAQAogRE9DQlJBTkNIPSJkb2MvaGVhZCIKIFBPUlRCUkFOQ0g9InBv
 cnRzL2hlYWQiCiAKKyMgU29tZXRpbWVzIG9uZSBuZWVkcyB0byBjaGVja291dCBzcmMgd2l0aCAt
 LWZvcmNlIHN2biBvcHRpb24uCisjIElmIGN1c3RvbSBrZXJuZWwgY29uZmlncyBjb3BpZWQgdG8g
 c3JjIHRyZWUgYmVmb3JlIGNoZWNrb3V0LCBlLmcuCitTUkNfRk9SQ0VfQ0hFQ0tPVVQ9CisKICMg
 VGhlIGRlZmF1bHQgc3JjLywgZG9jLywgYW5kIHBvcnRzLyByZXZpc2lvbnMuCiBTUkNSRVZJU0lP
 Tj0iLXJIRUFEIgogRE9DUkVWSVNJT049Ii1ySEVBRCIKQEAgLTEwOSw2ICsxMTMsMjUgQEAKIGRv
 bmUKIHNoaWZ0ICQoKCRPUFRJTkQgLSAxKSkKIAorIyBJZiBQT1JUUyBpcyBzZXQgYW5kIE5PRE9D
 IGlzIHVuc2V0LCBmb3JjZSBOT0RPQz15ZXMgYmVjYXVzZSB0aGUgcG9ydHMgdHJlZQorIyBpcyBy
 ZXF1aXJlZCB0byBidWlsZCB0aGUgZG9jdW1lbnRhdGlvbiBzZXQuCitpZiBbICJ4JHtOT1BPUlRT
 fSIgIT0gIngiIF0gJiYgWyAieCR7Tk9ET0N9IiA9ICJ4IiBdOyB0aGVuCisJZWNobyAiKioqIE5P
 VElDRTogU2V0dGluZyBOT0RPQz0xIHNpbmNlIHBvcnRzIHRyZWUgaXMgcmVxdWlyZWQiCisJZWNo
 byAiICAgICAgICAgICAgYW5kIE5PUE9SVFMgaXMgc2V0LiIKKwlOT0RPQz15ZXMKK2ZpCisKKyMg
 SWYgTk9QT1JUUyBhbmQvb3IgTk9ET0MgYXJlIHVuc2V0LCB0aGV5IG11c3Qgbm90IHBhc3MgdG8g
 bWFrZSBhcyB2YXJpYWJsZXMuCisjIFRoZSByZWxlYXNlIG1ha2VmaWxlIHZlcmlmaWVzIGRlZmlu
 ZWRuZXNzIG9mIE5PUE9SVFMvTk9ET0MgdmFyaWFibGVzCisjIGluc3RlYWQgb2YgdGhlaXIgdmFs
 dWVzLgorRE9DUE9SVFM9CitpZiBbICJ4JHtOT1BPUlRTfSIgIT0gIngiIF07IHRoZW4KKyBET0NQ
 T1JUUz0iTk9QT1JUUz15ZXMgIgorZmkKK2lmIFsgIngke05PRE9DfSIgIT0gIngiIF07IHRoZW4K
 KyBET0NQT1JUUz0iJHtET0NQT1JUU31OT0RPQz15ZXMiCitmaQorCiAjIFRoZSBhZ2dyZWdhdGVk
 IGJ1aWxkLXRpbWUgZmxhZ3MgYmFzZWQgdXBvbiB2YXJpYWJsZXMgZGVmaW5lZCB3aXRoaW4KICMg
 dGhpcyBmaWxlLCB1bmxlc3Mgb3ZlcnJpZGRlbiBieSByZWxlYXNlLmNvbmYuICBJbiBtb3N0IGNh
 c2VzLCB0aGVzZQogIyB3aWxsIG5vdCBuZWVkIHRvIGJlIGNoYW5nZWQuCkBAIC0xMTgsMTYgKzE0
 MSwxNCBAQAogQ0hST09UX0lNQUtFRkxBR1M9IiR7Q09ORl9GSUxFU30iCiBDSFJPT1RfRE1BS0VG
 TEFHUz0iJHtDT05GX0ZJTEVTfSIKIFJFTEVBU0VfV01BS0VGTEFHUz0iJHtNQUtFX0ZMQUdTfSAk
 e1dPUkxEX0ZMQUdTfSAke0FSQ0hfRkxBR1N9ICR7Q09ORl9GSUxFU30iCi1SRUxFQVNFX0tNQUtF
 RkxBR1M9IiR7TUFLRV9GTEFHU30gJHtLRVJORUxfRkxBR1N9IEtFUk5DT05GPSR7S0VSTkVMfSAk
 e0FSQ0hfRkxBR1N9ICR7Q09ORl9GSUxFU30iCi1SRUxFQVNFX1JNQUtFRkxBR1M9IiR7QVJDSF9G
 TEFHU30gS0VSTkNPTkY9JHtLRVJORUx9ICR7Q09ORl9GSUxFU30gXAotCU5PRE9DPSR7Tk9ET0N9
 IE5PUE9SVFM9JHtOT1BPUlRTfSIKK1JFTEVBU0VfS01BS0VGTEFHUz0iJHtNQUtFX0ZMQUdTfSAk
 e0tFUk5FTF9GTEFHU30gS0VSTkNPTkY9XCIke0tFUk5FTH1cIiAke0FSQ0hfRkxBR1N9ICR7Q09O
 Rl9GSUxFU30iCitSRUxFQVNFX1JNQUtFRkxBR1M9IiR7QVJDSF9GTEFHU30gS0VSTkNPTkY9XCIk
 e0tFUk5FTH1cIiAke0NPTkZfRklMRVN9IFwKKwkke0RPQ1BPUlRTfSIKIAotIyBJZiBQT1JUUyBp
 cyBzZXQgYW5kIE5PRE9DIGlzIHVuc2V0LCBmb3JjZSBOT0RPQz15ZXMgYmVjYXVzZSB0aGUgcG9y
 dHMgdHJlZQotIyBpcyByZXF1aXJlZCB0byBidWlsZCB0aGUgZG9jdW1lbnRhdGlvbiBzZXQuCi1p
 ZiBbICJ4JHtOT1BPUlRTfSIgIT0gIngiIF0gJiYgWyAieCR7Tk9ET0N9IiA9ICJ4IiBdOyB0aGVu
 Ci0JZWNobyAiKioqIE5PVElDRTogU2V0dGluZyBOT0RPQz0xIHNpbmNlIHBvcnRzIHRyZWUgaXMg
 cmVxdWlyZWQiCi0JZWNobyAiICAgICAgICAgICAgYW5kIE5PUE9SVFMgaXMgc2V0LiIKLQlOT0RP
 Qz0xCisjIEZvcmNlIHNyYyBjaGVja291dCBpZiBjb25maWd1cmVkCitGT1JDRV9TUkNfS0VZPQor
 aWYgWyAieCR7U1JDX0ZPUkNFX0NIRUNLT1VUfSIgIT0gIngiIF07IHRoZW4KKyBGT1JDRV9TUkNf
 S0VZPSItLWZvcmNlIgogZmkKIAogaWYgWyAhICR7Q0hST09URElSfSBdOyB0aGVuCkBAIC0xNDQs
 NyArMTY1LDcgQEAKIAogbWtkaXIgLXAgJHtDSFJPT1RESVJ9L3VzcgogCi1zdm4gY28gJHtTVk5S
 T09UfS8ke1NSQ0JSQU5DSH0gJHtDSFJPT1RESVJ9L3Vzci9zcmMgJFNSQ1JFVklTSU9OCitzdm4g
 Y28gJHtGT1JDRV9TUkNfS0VZfSAke1NWTlJPT1R9LyR7U1JDQlJBTkNIfSAke0NIUk9PVERJUn0v
 dXNyL3NyYyAkU1JDUkVWSVNJT04KIGlmIFsgIngke05PRE9DfSIgPSAieCIgXTsgdGhlbgogCXN2
 biBjbyAke1NWTlJPT1R9LyR7RE9DQlJBTkNIfSAke0NIUk9PVERJUn0vdXNyL2RvYyAkRE9DUkVW
 SVNJT04KIGZpCkBAIC0xNjQsMTAgKzE4NSwxMiBAQAogYnVpbGRfZG9jX3BvcnRzKCkgewogCSMj
 IFRyaWNrIHRoZSBwb3J0cyAncnVuLWF1dG90b29scy1maXh1cCcgdGFyZ2V0IHRvIGRvIHRoZSBy
 aWdodCB0aGluZy4KIAlfT1NWRVJTSU9OPSQoc3lzY3RsIC1uIGtlcm4ub3NyZWxkYXRlKQotCWlm
 IFsgLWQgJHtDSFJPT1RESVJ9L3Vzci9kb2MgXSAmJiBbICJ4JHtOT0RPQ30iICE9ICJ4IiBdOyB0
 aGVuCi0JCVBCVUlMRF9GTEFHUz0iT1NWRVJTSU9OPSR7X09TVkVSU0lPTn0gV0lUSE9VVF9KQURF
 VEVYPXllcyBCQVRDSD15ZXMiCisJaWYgWyAtZCAke0NIUk9PVERJUn0vdXNyL2RvYyBdICYmIFsg
 Ingke05PRE9DfSIgPSAieCIgXTsgdGhlbgorCQlQQlVJTERfRkxBR1M9Ik9TVkVSU0lPTj0ke19P
 U1ZFUlNJT059IFdJVEhPVVRfSkFERVRFWD15ZXMgV0lUSE9VVF9TVk49eWVzIFdJVEhPVVRfWDEx
 PXllcyBXSVRIT1VUX1BZVEhPTj15ZXMgQkFUQ0g9eWVzIgogCQljaHJvb3QgJHtDSFJPT1RESVJ9
 IG1ha2UgLUMgL3Vzci9wb3J0cy90ZXh0cHJvYy9kb2Nwcm9qIFwKLQkJCSR7UEJVSUxEX0ZMQUdT
 fSBpbnN0YWxsCisJCQkke1BCVUlMRF9GTEFHU30gaW5zdGFsbCBjbGVhbiBkaXN0Y2xlYW4KKwkJ
 I3czbSBuZWVkZWQgdG8gYnVpbGQgZG9jcworCQljaHJvb3QgJHtDSFJPT1RESVJ9IG1ha2UgLUMg
 L3Vzci9wb3J0cy93d3cvdzNtICR7UEJVSUxEX0ZMQUdTfSBpbnN0YWxsIGNsZWFuIGRpc3RjbGVh
 bgogCWZpCiB9CiAKQEAgLTE5MiwxMCArMjE1LDEwIEBACiBmaQogCiBjaHJvb3QgJHtDSFJPT1RE
 SVJ9IG1ha2UgLUMgL3Vzci9zcmMgJHtSRUxFQVNFX1dNQUtFRkxBR1N9IGJ1aWxkd29ybGQKLWNo
 cm9vdCAke0NIUk9PVERJUn0gbWFrZSAtQyAvdXNyL3NyYyAke1JFTEVBU0VfS01BS0VGTEFHU30g
 YnVpbGRrZXJuZWwKLWNocm9vdCAke0NIUk9PVERJUn0gbWFrZSAtQyAvdXNyL3NyYy9yZWxlYXNl
 ICR7UkVMRUFTRV9STUFLRUZMQUdTfSBcCitldmFsIGNocm9vdCAke0NIUk9PVERJUn0gbWFrZSAt
 QyAvdXNyL3NyYyAke1JFTEVBU0VfS01BS0VGTEFHU30gYnVpbGRrZXJuZWwKK2V2YWwgY2hyb290
 ICR7Q0hST09URElSfSBtYWtlIC1DIC91c3Ivc3JjL3JlbGVhc2UgJHtSRUxFQVNFX1JNQUtFRkxB
 R1N9IFwKIAlyZWxlYXNlIFJFTFNUUklORz0ke1JFTFNUUklOR30KLWNocm9vdCAke0NIUk9PVERJ
 Un0gbWFrZSAtQyAvdXNyL3NyYy9yZWxlYXNlICR7UkVMRUFTRV9STUFLRUZMQUdTfSBcCitldmFs
 IGNocm9vdCAke0NIUk9PVERJUn0gbWFrZSAtQyAvdXNyL3NyYy9yZWxlYXNlICR7UkVMRUFTRV9S
 TUFLRUZMQUdTfSBcCiAJaW5zdGFsbCBERVNURElSPS9SIFJFTFNUUklORz0ke1JFTFNUUklOR30K
 IAogY2QgJHtDSFJPT1RESVJ9L1IK
 --001a1133414c91cb7904e0845e93--
Responsible-Changed-From-To: freebsd-bugs->gjb 
Responsible-Changed-By: gjb 
Responsible-Changed-When: Tue Jul 2 10:07:37 UTC 2013 
Responsible-Changed-Why:  
Grab. 


http://www.freebsd.org/cgi/query-pr.cgi?pr=180192 
State-Changed-From-To: open->patched 
State-Changed-By: gjb 
State-Changed-When: Fri Jul 5 22:05:03 UTC 2013 
State-Changed-Why:  
Patched in head, pending MFC.  Thanks! 


http://www.freebsd.org/cgi/query-pr.cgi?pr=180192 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: conf/180192: commit references a PR
Date: Fri,  5 Jul 2013 22:05:03 +0000 (UTC)

 Author: gjb
 Date: Fri Jul  5 22:04:49 2013
 New Revision: 252846
 URL: http://svnweb.freebsd.org/changeset/base/252846
 
 Log:
   - Add SRC_FORCE_CHECKOUT configuration option to force svn to checkout
     the src/ tree into a directory that contains files/directories, such
     as a case where a custom kernel configuration file is specified.
   
   - Allow specification of multiple KERNCONFs to pass to 'make release'.
   
   - Move evaluation of NODOCS/NOPORTS earlier, and set based on how the
     release process expects these options to be evaluated.
   
   - Wrap KERNCONF specification in double quotes, and use 'eval' so multiple
     kernel configurations do not cause the build to fail in strange ways.
   
   - Set WITHOUT_X11 for the port build flags for the documentation toolchain
     build.  Also run 'clean distclean' targets during port build.
   
   PR:		180192
   Submitted by:	Anes Mukhametov
   MFC after:	3 days
   Approved by:	kib (mentor, implicit)
 
 Modified:
   head/release/release.conf.sample
   head/release/release.sh
 
 Modified: head/release/release.conf.sample
 ==============================================================================
 --- head/release/release.conf.sample	Fri Jul  5 21:41:05 2013	(r252845)
 +++ head/release/release.conf.sample	Fri Jul  5 22:04:49 2013	(r252846)
 @@ -14,6 +14,9 @@ SRCBRANCH="base/head"
  DOCBRANCH="doc/head"
  PORTBRANCH="ports/head"
  
 +## Run svn co --force for src checkout.
 +#SRC_FORCE_CHECKOUT=yes
 +
  ## Set the src/, ports/, and doc/ revisions.
  SRCREVISION="-rHEAD"
  DOCREVISION="-rHEAD"
 @@ -23,6 +26,8 @@ PORTREVISION="-rHEAD"
  #TARGET="amd64"
  #TARGET_ARCH="amd64"
  #KERNEL="GENERIC"
 +## Multiple kernels may be set.
 +#KERNEL="GENERIC XENHVM"
  
  ## Set to specify a custom make.conf and/or src.conf
  #MAKE_CONF="/etc/local/make.conf"
 
 Modified: head/release/release.sh
 ==============================================================================
 --- head/release/release.sh	Fri Jul  5 21:41:05 2013	(r252845)
 +++ head/release/release.sh	Fri Jul  5 22:04:49 2013	(r252846)
 @@ -45,6 +45,10 @@ SRCBRANCH="base/head"
  DOCBRANCH="doc/head"
  PORTBRANCH="ports/head"
  
 +# 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 src/, doc/, and ports/ revisions.
  SRCREVISION="-rHEAD"
  DOCREVISION="-rHEAD"
 @@ -109,6 +113,25 @@ while getopts c: opt; do
  done
  shift $(($OPTIND - 1))
  
 +# 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
 +	echo "*** NOTICE: Setting NODOC=1 since ports tree is required"
 +	echo "            and NOPORTS is set."
 +	NODOC=yes
 +fi
 +
 +# If NOPORTS and/or NODOC are unset, they must not pass to make as variables.
 +# The release makefile verifies definedness of NOPORTS/NODOC variables
 +# instead of their values.
 +DOCPORTS=
 +if [ "x${NOPORTS}" != "x" ]; then
 + DOCPORTS="NOPORTS=yes "
 +fi
 +if [ "x${NODOC}" != "x" ]; then
 + DOCPORTS="${DOCPORTS}NODOC=yes"
 +fi
 +
  # The aggregated build-time flags based upon variables defined within
  # this file, unless overridden by release.conf.  In most cases, these
  # will not need to be changed.
 @@ -118,16 +141,14 @@ CHROOT_WMAKEFLAGS="${MAKE_FLAGS} ${WORLD
  CHROOT_IMAKEFLAGS="${CONF_FILES}"
  CHROOT_DMAKEFLAGS="${CONF_FILES}"
  RELEASE_WMAKEFLAGS="${MAKE_FLAGS} ${WORLD_FLAGS} ${ARCH_FLAGS} ${CONF_FILES}"
 -RELEASE_KMAKEFLAGS="${MAKE_FLAGS} ${KERNEL_FLAGS} KERNCONF=${KERNEL} ${ARCH_FLAGS} ${CONF_FILES}"
 -RELEASE_RMAKEFLAGS="${ARCH_FLAGS} KERNCONF=${KERNEL} ${CONF_FILES} \
 -	NODOC=${NODOC} NOPORTS=${NOPORTS}"
 -
 -# 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
 -	echo "*** NOTICE: Setting NODOC=1 since ports tree is required"
 -	echo "            and NOPORTS is set."
 -	NODOC=1
 +RELEASE_KMAKEFLAGS="${MAKE_FLAGS} ${KERNEL_FLAGS} KERNCONF=\"${KERNEL}\" ${ARCH_FLAGS} ${CONF_FILES}"
 +RELEASE_RMAKEFLAGS="${ARCH_FLAGS} KERNCONF=\"${KERNEL}\" ${CONF_FILES} \
 +	${DOCPORTS}"
 +
 +# Force src checkout if configured
 +FORCE_SRC_KEY=
 +if [ "x${SRC_FORCE_CHECKOUT}" != "x" ]; then
 + FORCE_SRC_KEY="--force"
  fi
  
  if [ ! ${CHROOTDIR} ]; then
 @@ -144,7 +165,7 @@ set -e # Everything must succeed
  
  mkdir -p ${CHROOTDIR}/usr
  
 -svn co ${SVNROOT}/${SRCBRANCH} ${CHROOTDIR}/usr/src $SRCREVISION
 +svn co ${FORCE_SRC_KEY} ${SVNROOT}/${SRCBRANCH} ${CHROOTDIR}/usr/src $SRCREVISION
  if [ "x${NODOC}" = "x" ]; then
  	svn co ${SVNROOT}/${DOCBRANCH} ${CHROOTDIR}/usr/doc $DOCREVISION
  fi
 @@ -164,10 +185,10 @@ trap "umount ${CHROOTDIR}/dev" EXIT # Cl
  build_doc_ports() {
  	## Trick the ports 'run-autotools-fixup' target to do the right thing.
  	_OSVERSION=$(sysctl -n kern.osreldate)
 -	if [ -d ${CHROOTDIR}/usr/doc ] && [ "x${NODOC}" != "x" ]; then
 -		PBUILD_FLAGS="OSVERSION=${_OSVERSION} WITHOUT_JADETEX=yes BATCH=yes"
 +	if [ -d ${CHROOTDIR}/usr/doc ] && [ "x${NODOC}" = "x" ]; then
 +		PBUILD_FLAGS="OSVERSION=${_OSVERSION} WITHOUT_JADETEX=yes WITHOUT_X11=yes BATCH=yes"
  		chroot ${CHROOTDIR} make -C /usr/ports/textproc/docproj \
 -			${PBUILD_FLAGS} install
 +			${PBUILD_FLAGS} install clean distclean
  	fi
  }
  
 @@ -191,11 +212,11 @@ if [ "x${RELSTRING}" = "x" ]; then
  	RELSTRING="$(chroot ${CHROOTDIR} uname -s)-${OSRELEASE}-${TARGET_ARCH}"
  fi
  
 -chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_WMAKEFLAGS} buildworld
 -chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_KMAKEFLAGS} buildkernel
 -chroot ${CHROOTDIR} make -C /usr/src/release ${RELEASE_RMAKEFLAGS} \
 +eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_WMAKEFLAGS} buildworld
 +eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_KMAKEFLAGS} buildkernel
 +eval chroot ${CHROOTDIR} make -C /usr/src/release ${RELEASE_RMAKEFLAGS} \
  	release RELSTRING=${RELSTRING}
 -chroot ${CHROOTDIR} make -C /usr/src/release ${RELEASE_RMAKEFLAGS} \
 +eval chroot ${CHROOTDIR} make -C /usr/src/release ${RELEASE_RMAKEFLAGS} \
  	install DESTDIR=/R RELSTRING=${RELSTRING}
  
  cd ${CHROOTDIR}/R
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: patched->closed 
State-Changed-By: gjb 
State-Changed-When: Mon Jul 8 01:46:20 UTC 2013 
State-Changed-Why:  
MFC complete. 


http://www.freebsd.org/cgi/query-pr.cgi?pr=180192 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: conf/180192: commit references a PR
Date: Mon,  8 Jul 2013 01:46:31 +0000 (UTC)

 Author: gjb
 Date: Mon Jul  8 01:46:11 2013
 New Revision: 253019
 URL: http://svnweb.freebsd.org/changeset/base/253019
 
 Log:
   MFC r252846:
   
    - Add SRC_FORCE_CHECKOUT configuration option to force svn to checkout
      the src/ tree into a directory that contains files/directories, such
      as a case where a custom kernel configuration file is specified.
   
    - Allow specification of multiple KERNCONFs to pass to 'make release'.
   
    - Move evaluation of NODOCS/NOPORTS earlier, and set based on how the
      release process expects these options to be evaluated.
   
    - Wrap KERNCONF specification in double quotes, and use 'eval' so multiple
      kernel configurations do not cause the build to fail in strange ways.
   
    - Set WITHOUT_X11 for the port build flags for the documentation toolchain
      build.  Also run 'clean distclean' targets during port build.
   
   PR:		180192
   MFC after:	3 days
   Approved by:	kib (mentor, implicit)
 
 Modified:
   stable/9/release/release.conf.sample
   stable/9/release/release.sh
 Directory Properties:
   stable/9/release/   (props changed)
 
 Modified: stable/9/release/release.conf.sample
 ==============================================================================
 --- stable/9/release/release.conf.sample	Mon Jul  8 01:29:09 2013	(r253018)
 +++ stable/9/release/release.conf.sample	Mon Jul  8 01:46:11 2013	(r253019)
 @@ -14,6 +14,9 @@ SRCBRANCH="base/stable/9"
  DOCBRANCH="doc/head"
  PORTBRANCH="ports/head"
  
 +## Run svn co --force for src checkout.
 +#SRC_FORCE_CHECKOUT=yes
 +
  ## Set the src/, ports/, and doc/ revisions.
  SRCREVISION="-rHEAD"
  DOCREVISION="-rHEAD"
 @@ -23,6 +26,8 @@ PORTREVISION="-rHEAD"
  #TARGET="amd64"
  #TARGET_ARCH="amd64"
  #KERNEL="GENERIC"
 +## Multiple kernels may be set.
 +#KERNEL="GENERIC XENHVM"
  
  ## Set to specify a custom make.conf and/or src.conf
  #MAKE_CONF="/etc/local/make.conf"
 
 Modified: stable/9/release/release.sh
 ==============================================================================
 --- stable/9/release/release.sh	Mon Jul  8 01:29:09 2013	(r253018)
 +++ stable/9/release/release.sh	Mon Jul  8 01:46:11 2013	(r253019)
 @@ -45,6 +45,10 @@ SRCBRANCH="base/head"
  DOCBRANCH="doc/head"
  PORTBRANCH="ports/head"
  
 +# 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 src/, doc/, and ports/ revisions.
  SRCREVISION="-rHEAD"
  DOCREVISION="-rHEAD"
 @@ -109,6 +113,25 @@ while getopts c: opt; do
  done
  shift $(($OPTIND - 1))
  
 +# 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
 +	echo "*** NOTICE: Setting NODOC=1 since ports tree is required"
 +	echo "            and NOPORTS is set."
 +	NODOC=yes
 +fi
 +
 +# If NOPORTS and/or NODOC are unset, they must not pass to make as variables.
 +# The release makefile verifies definedness of NOPORTS/NODOC variables
 +# instead of their values.
 +DOCPORTS=
 +if [ "x${NOPORTS}" != "x" ]; then
 + DOCPORTS="NOPORTS=yes "
 +fi
 +if [ "x${NODOC}" != "x" ]; then
 + DOCPORTS="${DOCPORTS}NODOC=yes"
 +fi
 +
  # The aggregated build-time flags based upon variables defined within
  # this file, unless overridden by release.conf.  In most cases, these
  # will not need to be changed.
 @@ -118,16 +141,14 @@ CHROOT_WMAKEFLAGS="${MAKE_FLAGS} ${WORLD
  CHROOT_IMAKEFLAGS="${CONF_FILES}"
  CHROOT_DMAKEFLAGS="${CONF_FILES}"
  RELEASE_WMAKEFLAGS="${MAKE_FLAGS} ${WORLD_FLAGS} ${ARCH_FLAGS} ${CONF_FILES}"
 -RELEASE_KMAKEFLAGS="${MAKE_FLAGS} ${KERNEL_FLAGS} KERNCONF=${KERNEL} ${ARCH_FLAGS} ${CONF_FILES}"
 -RELEASE_RMAKEFLAGS="${ARCH_FLAGS} KERNCONF=${KERNEL} ${CONF_FILES} \
 -	NODOC=${NODOC} NOPORTS=${NOPORTS}"
 -
 -# 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
 -	echo "*** NOTICE: Setting NODOC=1 since ports tree is required"
 -	echo "            and NOPORTS is set."
 -	NODOC=1
 +RELEASE_KMAKEFLAGS="${MAKE_FLAGS} ${KERNEL_FLAGS} KERNCONF=\"${KERNEL}\" ${ARCH_FLAGS} ${CONF_FILES}"
 +RELEASE_RMAKEFLAGS="${ARCH_FLAGS} KERNCONF=\"${KERNEL}\" ${CONF_FILES} \
 +	${DOCPORTS}"
 +
 +# Force src checkout if configured
 +FORCE_SRC_KEY=
 +if [ "x${SRC_FORCE_CHECKOUT}" != "x" ]; then
 + FORCE_SRC_KEY="--force"
  fi
  
  if [ ! ${CHROOTDIR} ]; then
 @@ -144,7 +165,7 @@ set -e # Everything must succeed
  
  mkdir -p ${CHROOTDIR}/usr
  
 -svn co ${SVNROOT}/${SRCBRANCH} ${CHROOTDIR}/usr/src $SRCREVISION
 +svn co ${FORCE_SRC_KEY} ${SVNROOT}/${SRCBRANCH} ${CHROOTDIR}/usr/src $SRCREVISION
  if [ "x${NODOC}" = "x" ]; then
  	svn co ${SVNROOT}/${DOCBRANCH} ${CHROOTDIR}/usr/doc $DOCREVISION
  fi
 @@ -164,10 +185,10 @@ trap "umount ${CHROOTDIR}/dev" EXIT # Cl
  build_doc_ports() {
  	## Trick the ports 'run-autotools-fixup' target to do the right thing.
  	_OSVERSION=$(sysctl -n kern.osreldate)
 -	if [ -d ${CHROOTDIR}/usr/doc ] && [ "x${NODOC}" != "x" ]; then
 -		PBUILD_FLAGS="OSVERSION=${_OSVERSION} WITHOUT_JADETEX=yes BATCH=yes"
 +	if [ -d ${CHROOTDIR}/usr/doc ] && [ "x${NODOC}" = "x" ]; then
 +		PBUILD_FLAGS="OSVERSION=${_OSVERSION} WITHOUT_JADETEX=yes WITHOUT_X11=yes BATCH=yes"
  		chroot ${CHROOTDIR} make -C /usr/ports/textproc/docproj \
 -			${PBUILD_FLAGS} install
 +			${PBUILD_FLAGS} install clean distclean
  	fi
  }
  
 @@ -191,11 +212,11 @@ if [ "x${RELSTRING}" = "x" ]; then
  	RELSTRING="$(chroot ${CHROOTDIR} uname -s)-${OSRELEASE}-${TARGET_ARCH}"
  fi
  
 -chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_WMAKEFLAGS} buildworld
 -chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_KMAKEFLAGS} buildkernel
 -chroot ${CHROOTDIR} make -C /usr/src/release ${RELEASE_RMAKEFLAGS} \
 +eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_WMAKEFLAGS} buildworld
 +eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_KMAKEFLAGS} buildkernel
 +eval chroot ${CHROOTDIR} make -C /usr/src/release ${RELEASE_RMAKEFLAGS} \
  	release RELSTRING=${RELSTRING}
 -chroot ${CHROOTDIR} make -C /usr/src/release ${RELEASE_RMAKEFLAGS} \
 +eval chroot ${CHROOTDIR} make -C /usr/src/release ${RELEASE_RMAKEFLAGS} \
  	install DESTDIR=/R RELSTRING=${RELSTRING}
  
  cd ${CHROOTDIR}/R
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
>Unformatted:
