From owner-freebsd-questions@freebsd.org Sun Feb 7 15:46:59 2016 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9F72BAA0961 for ; Sun, 7 Feb 2016 15:46:59 +0000 (UTC) (envelope-from smithi@nimnet.asn.au) Received: from sola.nimnet.asn.au (paqi.nimnet.asn.au [115.70.110.159]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 01527B31; Sun, 7 Feb 2016 15:46:58 +0000 (UTC) (envelope-from smithi@nimnet.asn.au) Received: from localhost (localhost [127.0.0.1]) by sola.nimnet.asn.au (8.14.2/8.14.2) with ESMTP id u17FkteG063610; Mon, 8 Feb 2016 02:46:55 +1100 (EST) (envelope-from smithi@nimnet.asn.au) Date: Mon, 8 Feb 2016 02:46:55 +1100 (EST) From: Ian Smith To: Matthew Seaman cc: freebsd-questions@FreeBSD.org Subject: Re: svn revision in uname In-Reply-To: <56B73E8C.5060501@FreeBSD.org> Message-ID: <20160208015129.V51785@sola.nimnet.asn.au> References: <20160207223554.P51785@sola.nimnet.asn.au> <56B73E8C.5060501@FreeBSD.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Feb 2016 15:46:59 -0000 On Sun, 7 Feb 2016 12:54:36 +0000, Matthew Seaman wrote: > On 07/02/2016 12:11, Ian Smith wrote: > > I've been using svnup for source updates for ages, and for my occasional > > use it works fine. However one thing you don't get is the svn revision > > shown in uname, eg % uname -vm > > FreeBSD 9.3-STABLE #0: Thu Oct 29 03:18:26 EST 2015 > > root@x200.smithi.id.au:/usr/obj/usr/src/sys/GENERIC amd64 > > > > I know where to find it: > > smithi@x200:~ % ll -rt /var/tmp/svnup/ > > total 30400 > > -rw-r--r-- 1 root wheel 3736967 Apr 22 2014 stable.apr > > -rw-r--r-- 1 root wheel 3738448 Jun 25 2014 stable.jun > > -rw-r--r-- 1 root wheel 3738347 Jul 6 2014 release > > -rw-r--r-- 1 root wheel 7926790 Jan 23 2015 ports.first > > -rw-r--r-- 1 root wheel 7927003 Jan 23 2015 ports > > -rw-r--r-- 1 root wheel 3750256 Oct 10 16:43 stable > > > > smithi@x200:~ % head -1 /var/tmp/svnup/stable > > 289106 > > > > but I don't know where to poke it so build|install world|kernel find it? > > > > One of the reasons I prefer svnup on this very (64GB) space-constrained > > laptop is that it doesn't need svn's extra copy of the repository, but > > I'm happy to add a /usr/src/.svn dir with whatever is needed for this. > > > > Hoping the answer is not "the build needs svn installed to get that" :) > > > > The place where this is all set up is /usr/src/sys/conf/newvers.sh The > logic there is fairly complicated as it supports svn, git, hg and p4 > VCSes. However, the usual way it works is by running svnversion -- > that's part of the svn port. > > % svnversion /usr/src > 295073M > > If that fails, it will try running svnliteversion, and then cycle > through various different ways of extracting a version string from other > VCSes until it gets a result. Thanks for this. Right up to here, I thought it was going to be hard .. > So, if you don't need SVN installed locally, you could create a small > shell script as /usr/local/bin/svnversion that runs 'head -1 > /var/tmp/svnup/stable' Exactly so: smithi@x200:/usr/local/bin % svnversion anything 289106 It could be made a bit smarter in finding the latest svnup update, when updating to a release or releng rather than stable, but that's icing. [Oddly, I found an old version of svn installed from early 2013, that a) pkg2ng hadn't found because b) it had no old /var/db/svn* directory, ie was unregistered. Before removal, svnversion /usr/src said 'Unversioned directory', which was true enough.] Thanks again, cheers, Ian