svn commit: r204824 - head/sys/conf
M. Warner Losh
imp at bsdimp.com
Mon Mar 8 16:07:21 UTC 2010
In message: <20100308010125.GA6387 at dragon.NUXI.org>
"David O'Brien" <obrien at FreeBSD.org> writes:
: On Sun, Mar 07, 2010 at 02:36:19PM -0700, M. Warner Losh wrote:
: > Please back out this change. It is unwise, I think.
:
: Instead I'd rather fix it for the use case you mention.
I'd still rather you back it out because it introduces a significant
regression in speed, see below...
: ---->%---->%---->%---->%---->%---->%---->%---->%---->%---->%---->%---->%----
: Index: newvers.sh
: ===================================================================
: --- newvers.sh (revision 204851)
: +++ newvers.sh (working copy)
: @@ -87,13 +87,11 @@ touch version
: v=`cat version` u=${USER:-root} d=`pwd` h=${HOSTNAME:-`hostname`} t=`date`
: i=`${MAKE:-make} -V KERN_IDENT`
:
: +# Are we doing a kernel build? Look for "/sys/" in pwd for 'make kernel',
: +# and "/compile/" for tradiational within-tree kernel build.
: case "$d" in
: -*/compile/*)
: - SRCDIR=${d##*obj}
: - if [ -n "$MACHINE" ]; then
: - SRCDIR=${SRCDIR##/$MACHINE}
: - fi
: - SRCDIR=$(cd ${SRCDIR%%/compile/*}/.. && pwd)
: +*/sys/*|*/compile/*)
: + SRCDIR=$(realpath $(dirname $0)/..)
:
: for dir in /bin /usr/bin /usr/local/bin; do
: if [ -d "${SRCDIR}/.svn" -a -x "${dir}/svnversion" ] ; then
: ---->%---->%---->%---->%---->%---->%---->%---->%---->%---->%---->%---->%----
:
:
: Do you get the subversion revision in your vers.c file with this patch?
Well, except that you get the revision for the whole tree, instead of
just for the kernel. And this takes a *LOT* longer to compute. The
whole reason we did the sys hack was to make build times not suck...
for dir in /bin /usr/bin /usr/local/bin; do
- if [ -d "${SRCDIR}/sys/.svn" -a -x "${dir}/svnversion" ] ; then
+ if [ -d "${SRCDIR}/.svn" -a -x "${dir}/svnversion" ] ; then
svnversion=${dir}/svnversion
break
fi
@@ -107,7 +107,7 @@ case "$d" in
done
if [ -n "$svnversion" ] ; then
- svn=" r`cd ${SRCDIR}/sys && $svnversion`"
+ svn=" r`cd ${SRCDIR} && $svnversion`"
fi
if [ -n "$git_cmd" ] ; then
git=`$git_cmd rev-parse --verify --short HEAD 2>/dev/null`
Again, like Doug said: "my kernel doesn't live in sys" isn't a problem
that is worth solving at the cost of "I have to run svnversion over
all of /usr/src every time I build a kernel."
Please, back this out. If you *MUST* support != sys, then do so in a
way that doesn't screw everybody else with long build times. And
*PLEASE* talk to people before doing a drive-by commit? This bit of
code has way too much loaded history behind it for just random
tweaking.
Warner
More information about the svn-src-head
mailing list