On Mon, 22 Apr 2013 17:38:10 -0700
 Jeremy Chadwick <j...@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                                   j...@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-unsubscr...@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).
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to