For as long as I can remember, running the SCCS command "what" on the kernel of the day produced useful output: a single line fairly similar to "uname -v" but not quite so verbose. It works up until FreeBSD 5.2.1 (at least) but fails for current. It fails because a hack in the constructed file "vers.c" no longer works. Here is a fix to the hack: --- newvers.sh.old Wed Apr 14 13:01:18 2004 +++ newvers.sh Fri Apr 23 22:55:04 2004 _at__at_ -85,7 +85,7 _at__at_ i=`make -V KERN_IDENT` cat << EOF > vers.c $COPYRIGHT -char sccspad[32 - 4 /* sizeof(sccs) */] = { '\\0' }; +char sccspad[32 - 4 /* sizeof(sccs) */] = { '\\1' }; char sccs[4] = { '_at_', '(', '#', ')' }; char version[] = "${VERSION} #${v}: ${t}\\n ${u}_at_${h}:${d}\\n"; char ostype[] = "${TYPE}"; Without this, sccspad is put in the BSS. I note that NetBSD solved this by duplicating the version string, one copy with _at_(#) and one without. Perhaps this is better than second guessing the whims of the compiler. Secondly, the output of "what" now has extraneous lines: $RCSfile: if_em_hw.h,v $$Revision: 1.37 $$Date: 2003/12/20 00:14:51 $ which is printed twice. To solve this, we could #define NO_VERSION_CONTROL or simply delete the _at_(#) characters in line 45 in dev/em/if_em_hw.h. So, is this one tradition that still exists, or does this go in my growing collection of personal hacks? Should I patch either or both of these? The quick hack or the NetBSD way? Stephen.Received on Fri Apr 23 2004 - 04:06:47 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:52 UTC