diff options
author | rpaulo <rpaulo@FreeBSD.org> | 2012-09-16 06:01:34 +0000 |
---|---|---|
committer | rpaulo <rpaulo@FreeBSD.org> | 2012-09-16 06:01:34 +0000 |
commit | f520f7cfa483ad039c7e2554cc5266fed7170e60 (patch) | |
tree | 47e9ee6442455dcf39fb1f160947a9d1093453e9 | |
parent | 1448db2a5a61b404d25cc4be17137d9fb28e20ea (diff) | |
download | FreeBSD-src-f520f7cfa483ad039c7e2554cc5266fed7170e60.zip FreeBSD-src-f520f7cfa483ad039c7e2554cc5266fed7170e60.tar.gz |
Add Perforce support.
-rw-r--r-- | sys/conf/newvers.sh | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index cd523ca..5a4f13e 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -88,9 +88,11 @@ v=`cat version` u=${USER:-root} d=`pwd` h=${HOSTNAME:-`hostname`} t=`date` i=`${MAKE:-make} -V KERN_IDENT` for dir in /bin /usr/bin /usr/local/bin; do - if [ -x "${dir}/svnversion" ] ; then + if [ -x "${dir}/svnversion" ] && [ -z ${svnversion} ] ; then svnversion=${dir}/svnversion - break + fi + if [ -x "${dir}/p4" ] && [ -z ${p4_cmd} ] ; then + p4_cmd=${dir}/p4 fi done if [ -d "${SYSDIR}/../.git" ] ; then @@ -132,10 +134,27 @@ if [ -n "$git_cmd" ] ; then fi fi +if [ -n "$p4_cmd" ] ; then + p4version=`cd ${SYSDIR} && $p4_cmd changes -m1 "./...#have" 2>&1 | \ + awk '{ print $2 }'` + case "$p4version" in + [0-9]*) + p4version=" ${p4version}" + p4opened=`$p4_cmd opened 2>&1` + case "$p4opened" in + File*) ;; + *) p4version="${p4version}+pending" ;; + esac + ;; + *) unset p4version ;; + esac +fi + + cat << EOF > vers.c $COPYRIGHT -#define SCCSSTR "@(#)${VERSION} #${v}${svn}${git}: ${t}" -#define VERSTR "${VERSION} #${v}${svn}${git}: ${t}\\n ${u}@${h}:${d}\\n" +#define SCCSSTR "@(#)${VERSION} #${v}${svn}${git}${p4version}: ${t}" +#define VERSTR "${VERSION} #${v}${svn}${git}${p4version}: ${t}\\n ${u}@${h}:${d}\\n" #define RELSTR "${RELEASE}" char sccs[sizeof(SCCSSTR) > 128 ? sizeof(SCCSSTR) : 128] = SCCSSTR; |