In article <[email protected]>, Alan Barrett <[email protected]> wrote: >I have some private patches that append arbitrary additional >information to the kernel version string. Essentially, I pass >BUILDINFO="<multi-line message here>" in the environment (through >build.sh and the make wrapper), and then a modified version of >src/sys/conf/newvers.sh appends it to the value of the "version" >variable in the vers.c file that's compiled into the kernel. I >also add the information to /etc/release. > >The additional information is exposed in sysctl kern.version, and >in {struct utsname}.version as returned by uname(3), and in the >output from uname(1) -v. > >I use this feature to add infomation about the source tree >and build date, so I see information like this: > >$ sysctl kern.version >kern.version = NetBSD 6.99.47 (APB) >fossil repository: apb-local-src.fossil >fossil tags: local >fossil commit: 449e51b700 (2014-07-19 15:41:14 UTC) >fossil comment: merge src from trunk as of 2014-07-19 00:00 UTC > >I imagine that it would be useful for official builds to >include some sort of official statement here. > >The multi-line BUILDINFO strings are truncated and folded to a >single line by uname(3), which is unhelpful, so I am inclined to >store them in a new kernel variable, exposed via a new sysctl >node, instead of appending to the existing kernel version >variable. Then the new information would not be exposed by >uname(3) or uname(1). > >Comments?
Yes, I think that a new sysctl variable would be good. christos
