Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Apr 2013 07:42:05 -0500
From:      "John Mehr" <jcm@visi.com>
To:        <freebsd-stable@freebsd.org>
Subject:   Re: svn revision stable/9
Message-ID:  <web-12881663@mailback4.g2host.com>
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>

next in thread | previous in thread | raw e-mail | index | archive | help



On Mon, 22 Apr 2013 17:38:10 -0700
 Jeremy Chadwick <jdc@koitsu.org> 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).



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?web-12881663>