diff options
author | Warner Losh <imp@FreeBSD.org> | 2023-09-27 23:07:53 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2023-09-27 23:07:53 +0000 |
commit | fc4a6768272ea9e943661e0c34ff436dac872ac7 (patch) | |
tree | 54bb80ca752683cf9ac48245dd4c243f29018898 | |
parent | cb668587591c4850bf7fb939a2b79e0e9aa77f7c (diff) | |
download | src-fc4a6768272ea9e943661e0c34ff436dac872ac7.tar.gz src-fc4a6768272ea9e943661e0c34ff436dac872ac7.zip |
newvers: Add comment about why we need sccs, but deprecate it
The SCCS ID is still the most reliable way to dig out the version
information from the kernel w/o false positives. Add a comment to that
effect. savecore(8) neglects to save the kerneldumpheader that would
have the version information at a fixed location. savecore(8) needs to
be augmented to have the right data in the right places, but until then
the old-school SCCS id needs to remain. Once that's fixed, we plan to
remove it.
The reason it needs to be in a fixed or easily findable location is
because if you have an arbitrary core and want to pull the source and
build artificts that went along with that core, you don't yet have the
symbols you need to read the version string. To solve the chicken / egg
problem, one needs an independent way to know what to use so that
automated analysis of cores can happen. The sccs id being in the kernel
ensures that it is in the core image written. The what(1) utility makes
extracting the version easy.
Sponsored by: Netflix
Reviewed by: cy, emaste
Differential Revision: https://reviews.freebsd.org/D41984
-rw-r--r-- | sys/conf/newvers.sh | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 73fd6857d307..33615a8d94f8 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -311,6 +311,14 @@ fi vers_content_new=$(cat << EOF $COPYRIGHT +/* + * The SCCS stuff is a marker that by convention identifies the kernel. While + * the convention originated with SCCS, the current use is more generic and is + * used by different organizations to identify the kernel, the crash dump, + * etc. The what(1) utility prints these markers. Better methods exist, so this + * method is deprecated and will be removed in a future version of FreeBSD. Orgs + * that use it are encouraged to migrate before then. + */ #define SCCSSTR "@(#)${VERINFO}" #define VERSTR "${VERSTR}" #define RELSTR "${RELEASE}" |