From owner-freebsd-stable@FreeBSD.ORG Tue Apr 23 12:42:13 2013 Return-Path: Delivered-To: freebsd-stable@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 6EF0E10D for ; Tue, 23 Apr 2013 12:42:13 +0000 (UTC) (envelope-from jcm@visi.com) Received: from g2host.com (mailback4.g2host.com [208.42.184.244]) by mx1.freebsd.org (Postfix) with ESMTP id 2ED681F83 for ; Tue, 23 Apr 2013 12:42:11 +0000 (UTC) Received: from [208.42.90.57] (account jcm@visi.com) by mailback4.g2host.com (CommuniGate Pro WEBUSER 5.3.11) with HTTP id 12881662 for freebsd-stable@freebsd.org; Tue, 23 Apr 2013 07:42:05 -0500 From: "John Mehr" Subject: Re: svn revision stable/9 To: X-Mailer: CommuniGate Pro WebUser v5.3.11 Date: Tue, 23 Apr 2013 07:42:05 -0500 Message-ID: In-Reply-To: <20130423003810.GA18488@icarus.home.lan> References: <000901ce3fb3$31732a50$94597ef0$@gmail.com> <20130423000004.GA17734@icarus.home.lan> <20130423000602.GB1606@glenbarber.us> <20130423003810.GA18488@icarus.home.lan> MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1; format="flowed" Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Apr 2013 12:42:13 -0000 On Mon, 22 Apr 2013 17:38:10 -0700  Jeremy Chadwick wrote: > On Mon, Apr 22, 2013 at 08:06:02PM -0400, Glen Barber >wrote: >> On Mon, Apr 22, 2013 at 05:00:04PM -0700, Jeremy >>Chadwick wrote: >> > I'm not sure where this comes from during buildkernel, >>however.  "svn >> > info" is the way I know of to get that value, but I >>don't know where in >> > the build framework it obtains this number. >> > >> >> svnversion is called in sys/conf/newvers.sh to get the >>revision. >> >> > The reason I mention that: possibly the build >>framework uses the "svn" >> > command to get the information, and since "svnup" is >>not "svn", it can't >> > get it, thus there's nothing to print. >> > >> >> svnversion is the specific binary that is required, but >>svnup does not >> pull in metadata. > > As always, thanks for the insights Glen -- that was the >piece I was > looking for.  :-) > > John Mehr might be able to comment on this, but here's >an idea (stated > with zero knowledge of, well, pretty much anything!): > > Depending on what all goes on within svnup (and what the >SVN protocol > offers), is it possible for svnup to pull down a >revision number and > store it somewhere (ex. /var/db/svnup-revision would >contain rXXXXXX), > then as part of the svnup package/suite, have a shell >script called > "svnversion" that simply provides the content of that >file? > > That looks like it'd be compatible with >sys/conf/newvers.sh, which > does: > > 91 for dir in /bin /usr/bin /usr/local/bin; do > 92         if [ -x "${dir}/svnversion" ] ; then > 93                 svnversion=${dir}/svnversion > 94                 break > 95         fi > 96 done > ... > 106 if [ -n "$svnversion" ] ; then > 107         echo "$svnversion" > 108         svn=`cd ${SYSDIR} && $svnversion` > 109         case "$svn" in > 110         [0-9]*) svn=" r${svn}" ;; > 111         *)      unset svn ;; > 112         esac > 113 fi > > Naturally the svnup port would need to have a CONFLICTS >line added, > since having both svnup and subversion installed on the >same machine > would result in a /usr/local/bin/svnversion conflict. > > -- > | Jeremy Chadwick >                                  jdc@koitsu.org | > | UNIX Systems Administrator >               http://jdc.koitsu.org/ | > | Mountain View, CA, US >                                           | > | Making life hard for others since 1977. >            PGP 4BD6C0CB | > _______________________________________________ > freebsd-stable@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to >"freebsd-stable-unsubscribe@freebsd.org" > Hello, svnup stores "known file" information in /tmp/svnup for each of the defined sections (current, stable, ports, etc.) and in the next update, it will be including the revision number in these files so that something like: # svnup stable -n would return the stable branch's last downloaded revision number and then exit. Because the current, stable and releng branches all use /usr/src by default, implementing a custom svnversion to inform newvers.sh of which revision exists in /usr/src would be problematic without leaving a small bread crumb there for newvers.sh to use.  If this is ok to do, I can include this in the next revision (which should be ready to go in the next couple of days).