Date: Thu, 8 Aug 2013 15:59:01 +0000 (UTC) From: Glen Barber <gjb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r254094 - head/sys/conf Message-ID: <201308081559.r78Fx1h6034578@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: gjb Date: Thu Aug 8 15:59:00 2013 New Revision: 254094 URL: http://svnweb.freebsd.org/changeset/base/254094 Log: When newvers.sh is run, it is possible that the svnversion (or svnliteversion) in the current lookup path is not what was used to check out the tree. If an incompatible version is used, the svn revision number is not reported in uname(1). Run ${svnversion} on newvers.sh itself when evaluating if the svn(1) in use is compatible with the tree. Fallback to an empty ${svnversion} if necessary. With this change, svnliteversion from base is only used if no compatible svnversion is found, so with this change, the version of svn(1) from the ports tree is evaluated first. Requested by: many MFC after: 3 days X-MFC-To: stable/9, releng/9.2 only Modified: head/sys/conf/newvers.sh Modified: head/sys/conf/newvers.sh ============================================================================== --- head/sys/conf/newvers.sh Thu Aug 8 11:53:47 2013 (r254093) +++ head/sys/conf/newvers.sh Thu Aug 8 15:59:00 2013 (r254094) @@ -88,19 +88,31 @@ v=`cat version` u=${USER:-root} d=`pwd` i=`${MAKE:-make} -V KERN_IDENT` compiler_v=$($(${MAKE:-make} -V CC) -v 2>&1 | grep 'version') -if [ -x /usr/bin/svnliteversion ] ; then - svnversion=/usr/bin/svnliteversion -fi - for dir in /usr/bin /usr/local/bin; do if [ ! -z "${svnversion}" ] ; then break fi if [ -x "${dir}/svnversion" ] && [ -z ${svnversion} ] ; then - svnversion=${dir}/svnversion - break + # Run svnversion from ${dir} on this script; if return code + # is not zero, the checkout might not be compatible with the + # svnversion being used. + ${dir}/svnversion $(basename ${0}) >/dev/null 2>&1 + if [ $? -eq 0 ]; then + svnversion=${dir}/svnversion + break + fi fi done + +if [ -z "${svnversion}" ] && [ -x /usr/bin/svnliteversion ] ; then + /usr/bin/svnversion $(basename ${0}) >/dev/null 2>&1 + if [ $? -eq 0 ]; then + svnversion=/usr/bin/svnliteversion + else + svnversion= + fi +fi + for dir in /usr/bin /usr/local/bin; do if [ -x "${dir}/p4" ] && [ -z ${p4_cmd} ] ; then p4_cmd=${dir}/p4
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201308081559.r78Fx1h6034578>