Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Apr 2013 17:38:10 -0700
From:      Jeremy Chadwick <jdc@koitsu.org>
To:        Glen Barber <gjb@FreeBSD.org>
Cc:        Scott Reber <sr1244@gmail.com>, freebsd-stable@freebsd.org, John Mehr <jcm@visi.com>
Subject:   Re: svn revision stable/9
Message-ID:  <20130423003810.GA18488@icarus.home.lan>
In-Reply-To: <20130423000602.GB1606@glenbarber.us>
References:  <000901ce3fb3$31732a50$94597ef0$@gmail.com> <20130423000004.GA17734@icarus.home.lan> <20130423000602.GB1606@glenbarber.us>

next in thread | previous in thread | raw e-mail | index | archive | help
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 |



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