From swell.k@gmail.com  Sat May 22 12:02:12 2010
Return-Path: <swell.k@gmail.com>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 39E42106566C
	for <FreeBSD-gnats-submit@freebsd.org>; Sat, 22 May 2010 12:02:12 +0000 (UTC)
	(envelope-from swell.k@gmail.com)
Received: from mail-fx0-f54.google.com (mail-fx0-f54.google.com [209.85.161.54])
	by mx1.freebsd.org (Postfix) with ESMTP id BD4D68FC39
	for <FreeBSD-gnats-submit@freebsd.org>; Sat, 22 May 2010 12:02:11 +0000 (UTC)
Received: by fxm4 with SMTP id 4so1953997fxm.13
        for <FreeBSD-gnats-submit@freebsd.org>; Sat, 22 May 2010 05:02:10 -0700 (PDT)
Received: by 10.204.48.20 with SMTP id p20mr630065bkf.56.1274529730634;
        Sat, 22 May 2010 05:02:10 -0700 (PDT)
Received: from localhost (95-25-188-72.broadband.corbina.ru [95.25.188.72])
        by mx.google.com with ESMTPS id a11sm9124747bkc.15.2010.05.22.05.02.09
        (version=SSLv3 cipher=RC4-MD5);
        Sat, 22 May 2010 05:02:10 -0700 (PDT)
Message-Id: <86iq6gdu5j.fsf@gmail.com>
Date: Sat, 22 May 2010 15:59:20 +0400
From: Anonymous <swell.k@gmail.com>
To: FreeBSD-gnats-submit@freebsd.org
Subject: [patch] conf/newvers.sh: respect LOCALBASE and MAKEOBJDIRPREFIX

>Number:         146828
>Category:       conf
>Synopsis:       [newvers.sh] [patch] respect LOCALBASE and MAKEOBJDIRPREFIX
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat May 22 12:10:01 UTC 2010
>Closed-Date:    
>Last-Modified:  Sun May 04 04:14:42 UTC 2014
>Originator:     Anonymous
>Release:        FreeBSD 9.0-CURRENT amd64
>Organization:
>Environment:
LOCALBASE=/usr/pkg
MAKEOBJDIRPREFIX=/a/objdir
SRC_BASE=/a/dirty_build (used by kmod ports, e.g. kqemu-kmod, virtualbox-ose-kmod)
SYSDIR=$SRC_BASE/sys (used by out-of-tree kmods, bsd.kmod.mk)
>Description:
>How-To-Repeat:
$ make buildkernel

  + v=5 u=holo d=/a/objdir/a/dirty_build/sys/PHOENIX h=raphael.local t='Sat May 22 11:30:56 UTC 2010'
  + /a/objdir/a/dirty_build/make.amd64/make -V KERN_IDENT
  + i=PHOENIX
  + SRCDIR=dir/a/dirty_build/sys/PHOENIX
  + [ -n amd64 ]
  + SRCDIR=dir/a/dirty_build/sys/PHOENIX
  + SRCDIR=dir/a/dirty_build
  + [ -d dir/a/dirty_build/sys/.svn -a -x /bin/svnversion ]
  + [ -d dir/a/dirty_build/.git -a -x /bin/git ]
  + [ -d dir/a/dirty_build/sys/.svn -a -x /usr/bin/svnversion ]
  + [ -d dir/a/dirty_build/.git -a -x /usr/bin/git ]
  + [ -d dir/a/dirty_build/sys/.svn -a -x /usr/local/bin/svnversion ]
  + [ -d dir/a/dirty_build/.git -a -x /usr/local/bin/git ]
  + [ -n '' ]
  + [ -n '' ]

after applying patch

  + v=6 u=holo d=/a/objdir/a/dirty_build/sys/PHOENIX h=raphael.local t='Sat May 22 11:43:29 UTC 2010'
  + /a/objdir/a/dirty_build/make.amd64/make -V KERN_IDENT
  + i=PHOENIX
  + SRCDIR=/a/dirty_build/sys/PHOENIX
  + [ -n amd64 ]
  + SRCDIR=/a/dirty_build/sys/PHOENIX
  + SRCDIR=/a/dirty_build
  + [ -d /a/dirty_build/sys/.svn -a -x /bin/svnversion ]
  + [ -d /a/dirty_build/.git -a -x /bin/git ]
  + [ -d /a/dirty_build/sys/.svn -a -x /usr/bin/svnversion ]
  + [ -d /a/dirty_build/.git -a -x /usr/bin/git ]
  + [ -d /a/dirty_build/sys/.svn -a -x /usr/pkg/bin/svnversion ]
  + svnversion=/usr/pkg/bin/svnversion
  + break
  + [ -n /usr/pkg/bin/svnversion ]
  + cd /a/dirty_build/sys
  + /usr/pkg/bin/svnversion
  + svn=' r208414M'
  + [ -n '' ]

>Fix:
--- a.diff begins here ---
Index: sys/conf/newvers.sh
===================================================================
--- sys/conf/newvers.sh	(revision 208414)
+++ sys/conf/newvers.sh	(working copy)
@@ -89,13 +89,13 @@
 
 case "$d" in
 */sys/*)
-	SRCDIR=${d##*obj}
+	SRCDIR=${d##*${MAKEOBJDIRPREFIX:-/usr/obj}}
 	if [ -n "$MACHINE" ]; then
 		SRCDIR=${SRCDIR##/$MACHINE}
 	fi
 	SRCDIR=${SRCDIR%%/sys/*}
 
-	for dir in /bin /usr/bin /usr/local/bin; do
+	for dir in /bin /usr/bin ${LOCALBASE:-/usr/local}/bin; do
 		if [ -d "${SRCDIR}/sys/.svn" -a -x "${dir}/svnversion" ] ; then
 			svnversion=${dir}/svnversion
 			break
--- a.diff ends here ---
>Release-Note:
>Audit-Trail:

From: Anonymous <swell.k@gmail.com>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: conf/146828: [patch] conf/newvers.sh: respect LOCALBASE and MAKEOBJDIRPREFIX
Date: Fri, 24 Sep 2010 17:05:42 +0400

 Refreshed patch to note that MAKEOBJDIRPREFIX hunk is no longer
 neccessary since r213077.
 
   $ uname -vm
   FreeBSD 9.0-CURRENT #0 r213089=be7197c-dirty: Fri Sep 24 12:30:22 UTC 2010     holo@raphael.local:/a/objdir/a/dirty_build/sys/PHOENIX  amd64
 
 --- a.diff begins here ---
 Index: sys/conf/newvers.sh
 ===================================================================
 --- sys/conf/newvers.sh	(revision r213078)
 +++ sys/conf/newvers.sh	(working copy)
 @@ -87,7 +87,7 @@ touch version
  v=`cat version` u=${USER:-root} d=`pwd` h=${HOSTNAME:-`hostname`} t=`date`
  i=`${MAKE:-make} -V KERN_IDENT`
  
 -for dir in /bin /usr/bin /usr/local/bin; do
 +for dir in /bin /usr/bin ${LOCALBASE:-/usr/local}/bin; do
  	if [ -d "${SYSDIR}/.svn" -a -x "${dir}/svnversion" ] ; then
  		svnversion=${dir}/svnversion
  		break
 --- a.diff ends here ---
>Unformatted:
