svn revision stable/9

John Mehr jcm at visi.com
Tue Apr 23 12:42:13 UTC 2013




On Mon, 22 Apr 2013 17:38:10 -0700
 Jeremy Chadwick <jdc at 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 at koitsu.org |
> | UNIX Systems Administrator 
>               http://jdc.koitsu.org/ |
> | Mountain View, CA, US 
>                                           |
> | Making life hard for others since 1977. 
>            PGP 4BD6C0CB |
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to 
>"freebsd-stable-unsubscribe at 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).


More information about the freebsd-stable mailing list