From nobody@FreeBSD.org  Sat May 25 05:35:50 2013
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1])
	by hub.freebsd.org (Postfix) with ESMTP id 6EDD5BCD
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 25 May 2013 05:35:50 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from oldred.FreeBSD.org (oldred.freebsd.org [8.8.178.121])
	by mx1.freebsd.org (Postfix) with ESMTP id 6152EED3
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 25 May 2013 05:35:50 +0000 (UTC)
Received: from oldred.FreeBSD.org ([127.0.1.6])
	by oldred.FreeBSD.org (8.14.5/8.14.5) with ESMTP id r4P5ZnPm087050
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 25 May 2013 05:35:49 GMT
	(envelope-from nobody@oldred.FreeBSD.org)
Received: (from nobody@localhost)
	by oldred.FreeBSD.org (8.14.5/8.14.5/Submit) id r4P5ZnTS087049;
	Sat, 25 May 2013 05:35:49 GMT
	(envelope-from nobody)
Message-Id: <201305250535.r4P5ZnTS087049@oldred.FreeBSD.org>
Date: Sat, 25 May 2013 05:35:49 GMT
From: kit <ktsin@acm.org>
To: freebsd-gnats-submit@FreeBSD.org
Subject: make release is broken
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         178963
>Category:       conf
>Synopsis:       make release is broken
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    re
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat May 25 05:40:00 UTC 2013
>Closed-Date:    Thu May 30 14:32:08 UTC 2013
>Last-Modified:  Thu May 30 14:32:08 UTC 2013
>Originator:     kit
>Release:        FreeBSD 10.0-CURRENT
>Organization:
>Environment:
FreeBSD passion 10.0-CURRENT FreeBSD 10.0-CURRENT #0: Sat Mar  2 15:31:51 MYT 2013     ktsin@passion.yahoo.com:/tmp/obj/usr/src/sys/PASSION  amd64
>Description:
make release is broken due to NO_ROOT changes added to Makefile.inc1 starting r250707.

it appears that DESTDIR is incorrect because INSTALL_DDIR is undefined or empty when NO_ROOT isn't set.

mkdir -p dist
cd /usr/src/release/.. && make TARGET_ARCH=amd64 TARGET=amd64 distributekernel packagekernel DISTDIR=/tmp/obj/usr/src/release/dist
mkdir -p //tmp/obj/usr/src/release/dist
cd /tmp/obj/usr/src/sys/GENERIC;  MAKEOBJDIRPREFIX=/tmp/obj MACHINE_ARCH=amd64 MACHINE=amd64 CPUTYPE= GROFF_BIN_PATH=/tmp/obj/usr/src/tmp/legacy/usr/bin GROFF_FONT_PATH=/tmp/obj/usr/src/tmp/legacy/usr/share/groff_font GROFF_TMAC_PATH=/tmp/obj/usr/src/tmp/legacy/usr/share/tmac PATH=/tmp/obj/usr/src/tmp/legacy/usr/sbin:/tmp/obj/usr/src/tmp/legacy/usr/bin:/tmp/obj/usr/src/tmp/legacy/usr/games:/tmp/obj/usr/src/tmp/legacy/bin:/tmp/obj/usr/src/tmp/usr/sbin:/tmp/obj/usr/src/tmp/usr/bin:/tmp/obj/usr/src/tmp/usr/games:  LD_LIBRARY_PATH=  PATH_LOCALE=/locale    PATH=/tmp/obj/usr/src/tmp/legacy/usr/sbin:/tmp/obj/usr/src/tmp/legacy/usr/bin:/tmp/obj/usr/src/tmp/legacy/usr/games:/tmp/obj/usr/src/tmp/legacy/bin:/tmp/obj/usr/src/tmp/usr/sbin:/tmp/obj/usr/src/tmp/usr/bin:/tmp/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin /tmp/obj/usr/src/make.amd64/make KERNEL=kernel  DESTDIR=/kernel  install
mkdir -p /kernel/boot/kernel
mkdir: /kernel: Read-only file system
*** Error code 1

Stop.
make: stopped in /tmp/obj/usr/src/sys/GENERIC
*** Error code 1

Stop.
make: stopped in /usr/src
*** [distributekernel] Error code 1

Stop in /usr/src.
*** [kernel.txz] Error code 1

Stop in /usr/src/release.
*** [release] Error code 1

Stop in /usr/src/release.

>How-To-Repeat:

>Fix:
set NO_ROOT=1 even if running make release under root user?

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->re 
Responsible-Changed-By: gjb 
Responsible-Changed-When: Sat May 25 05:46:09 UTC 2013 
Responsible-Changed-Why:  
re territory. 


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

From: Glen Barber <gjb@FreeBSD.org>
To: kit <ktsin@acm.org>
Cc: freebsd-gnats-submit@FreeBSD.org
Subject: Re: conf/178963: make release is broken
Date: Sat, 25 May 2013 01:45:47 -0400

 On Sat, May 25, 2013 at 05:35:49AM +0000, kit wrote:
 > >Synopsis:       make release is broken
 
 re is looking into this for a proper fix.  It is broken as a result of
 the bmake switch recently (not something broken with bmake, but logic
 change as result).
 
 Glen
 

From: Brooks Davis <brooks@FreeBSD.org>
To: kit <ktsin@acm.org>
Cc: freebsd-gnats-submit@FreeBSD.org
Subject: Re: conf/178963: make release is broken
Date: Wed, 29 May 2013 10:32:48 -0500

 I believe the following patch should fix this.
 
 -- Brooks
 
 Always define INSTALL_DDIR and define it such at it contains no extra
 / characters rather than removing them later on.
 
 PR:		conf/178963
 Pointhat:	brooks
 Index: Makefile.inc1
 ===================================================================
 --- Makefile.inc1	(revision 250859)
 +++ Makefile.inc1	(working copy)
 @@ -414,11 +414,12 @@
  INSTALLFLAGS+=	-N ${.CURDIR}/etc
  MTREEFLAGS+=	-N ${.CURDIR}/etc
  .endif
 +_INSTALL_DDIR=	${DESTDIR}/${DISTDIR}
 +INSTALL_DDIR=	${_INSTALL_DDIR:S://:/:g:C:/$::}
  .if defined(NO_ROOT)
  METALOG?=	${DESTDIR}/${DISTDIR}/METALOG
  IMAKE+=		-DNO_ROOT METALOG=${METALOG}
 -INSTALL_DDIR=	${DESTDIR}/${DISTDIR}
 -INSTALLFLAGS+=	-U -M ${METALOG} -D ${INSTALL_DDIR:S://:/:g:C:/$::}
 +INSTALLFLAGS+=	-U -M ${METALOG} -D ${INSTALL_DDIR}
  MTREEFLAGS+=	-W
  .endif
  .if defined(DB_FROM_SRC) || defined(NO_ROOT)
 @@ -1032,7 +1033,7 @@
  	cd ${KRNLOBJDIR}/${INSTALLKERNEL}; \
  	    ${IMAKEENV} ${IMAKE_INSTALL:S/METALOG/kernel.premeta/} \
  	    ${IMAKE_MTREE} PATH=${TMPPATH} ${MAKE} KERNEL=${INSTKERNNAME} \
 -	    DESTDIR=${INSTALL_DDIR:S://:/:g:C:/$::}/kernel \
 +	    DESTDIR=${INSTALL_DDIR}/kernel \
  	    ${.TARGET:S/distributekernel/install/}
  .if defined(NO_ROOT)
  	sed -e 's|^./kernel|.|' ${DESTDIR}/${DISTDIR}/kernel.premeta > \
 @@ -1046,7 +1047,7 @@
  	    ${IMAKEENV} ${IMAKE_INSTALL:S/METALOG/kernel.${_kernel}.premeta/} \
  	    ${IMAKE_MTREE} PATH=${TMPPATH} ${MAKE} \
  	    KERNEL=${INSTKERNNAME}.${_kernel} \
 -	    DESTDIR=${INSTALL_DDIR:S://:/:g:C:/$::}/kernel.${_kernel} \
 +	    DESTDIR=${INSTALL_DDIR}/kernel.${_kernel} \
  	    ${.TARGET:S/distributekernel/install/}
  	sed -e 's|^./kernel|.|' \
  	    ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.premeta > \

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: conf/178963: commit references a PR
Date: Thu, 30 May 2013 14:10:06 +0000 (UTC)

 Author: brooks
 Date: Thu May 30 14:09:58 2013
 New Revision: 251140
 URL: http://svnweb.freebsd.org/changeset/base/251140
 
 Log:
   Always define INSTALL_DDIR and define it such that it contains no extra
   / characters rather than removing them later on.  This should fix
   release builds.
   
   PR:		conf/178963
   Reviewed by:	gjb, hrs
 
 Modified:
   head/Makefile.inc1
 
 Modified: head/Makefile.inc1
 ==============================================================================
 --- head/Makefile.inc1	Thu May 30 14:07:14 2013	(r251139)
 +++ head/Makefile.inc1	Thu May 30 14:09:58 2013	(r251140)
 @@ -407,11 +407,12 @@ IMAKEENV+=	PATH=${TMPPATH}:${INSTALLTMP}
  INSTALLFLAGS+=	-N ${.CURDIR}/etc
  MTREEFLAGS+=	-N ${.CURDIR}/etc
  .endif
 +_INSTALL_DDIR=	${DESTDIR}/${DISTDIR}
 +INSTALL_DDIR=	${_INSTALL_DDIR:S://:/:g:C:/$::}
  .if defined(NO_ROOT)
  METALOG?=	${DESTDIR}/${DISTDIR}/METALOG
  IMAKE+=		-DNO_ROOT METALOG=${METALOG}
 -INSTALL_DDIR=	${DESTDIR}/${DISTDIR}
 -INSTALLFLAGS+=	-U -M ${METALOG} -D ${INSTALL_DDIR:S://:/:g:C:/$::}
 +INSTALLFLAGS+=	-U -M ${METALOG} -D ${INSTALL_DDIR}
  MTREEFLAGS+=	-W
  .endif
  .if defined(DB_FROM_SRC) || defined(NO_ROOT)
 @@ -522,7 +523,7 @@ _includes:
  	@echo "--------------------------------------------------------------"
  	@echo ">>> stage 4.1: building includes"
  	@echo "--------------------------------------------------------------"
 -	${_+_}cd ${.CURDIR}; ${WMAKE} SHARED=symlinks par-includes
 +	${_+_}cd ${.CURDIR}; ${WMAKE} par-includes
  _libraries:
  	@echo
  	@echo "--------------------------------------------------------------"
 @@ -1014,7 +1015,7 @@ distributekernel distributekernel.debug:
  	cd ${KRNLOBJDIR}/${INSTALLKERNEL}; \
  	    ${IMAKEENV} ${IMAKE_INSTALL:S/METALOG/kernel.premeta/} \
  	    ${IMAKE_MTREE} PATH=${TMPPATH} ${MAKE} KERNEL=${INSTKERNNAME} \
 -	    DESTDIR=${INSTALL_DDIR:S://:/:g:C:/$::}/kernel \
 +	    DESTDIR=${INSTALL_DDIR}/kernel \
  	    ${.TARGET:S/distributekernel/install/}
  .if defined(NO_ROOT)
  	sed -e 's|^./kernel|.|' ${DESTDIR}/${DISTDIR}/kernel.premeta > \
 @@ -1028,7 +1029,7 @@ distributekernel distributekernel.debug:
  	    ${IMAKEENV} ${IMAKE_INSTALL:S/METALOG/kernel.${_kernel}.premeta/} \
  	    ${IMAKE_MTREE} PATH=${TMPPATH} ${MAKE} \
  	    KERNEL=${INSTKERNNAME}.${_kernel} \
 -	    DESTDIR=${INSTALL_DDIR:S://:/:g:C:/$::}/kernel.${_kernel} \
 +	    DESTDIR=${INSTALL_DDIR}/kernel.${_kernel} \
  	    ${.TARGET:S/distributekernel/install/}
  	sed -e 's|^./kernel|.|' \
  	    ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.premeta > \
 _______________________________________________
 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: open->closed 
State-Changed-By: brooks 
State-Changed-When: Thu May 30 14:31:40 UTC 2013 
State-Changed-Why:  
Fix commited 

http://www.freebsd.org/cgi/query-pr.cgi?pr=178963 
>Unformatted:
