Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Apr 2014 00:48:51 -0400 (GMT-04:00)
From:      John <aqqa11@earthlink.net>
To:        freebsd-questions@freebsd.org
Subject:   Re: where does uname get version number?
Message-ID:  <30564000.1397796531648.JavaMail.root@elwamui-darkeyed.atl.sa.earthlink.net>

next in thread | raw e-mail | index | archive | help



-----Original Message-----
>From: Eduardo Morras <emorrasg@yahoo.es>
>Sent: Apr 17, 2014 3:07 AM
>To: freebsd-questions@freebsd.org
>Subject: Re: where does uname get version number?
>
>On Wed, 16 Apr 2014 23:39:06 -0400 (GMT-04:00)
>John wrote:
>
>> Do you want me to add the following to /etc/profile ?
>> 
>> UNAME_v="FreeBSD 9.2-RELEASE #0 r243825: Tue Dec  4 09:23:10 UTC
>> 2012     root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC"
>> export UNAME_v UNAME_r="9.2-RELEASE"
>> export UNAME_r
>> 
>> But, then do I have to manually change this version number
>> in /etc/profile for each upgrade in the future?  That would be quite
>> a hassle for each upgrade to -p5, -p6, ... etc.  Is that the way to
>> go?
>
>No, freebsd-update should update your /etc/profile and UNAME_* system vars.
>
>> 
>> I also tried:
>> 
>> # unsetenv UNAME_r 
>> 
>> but "uname -r" still shows the incorrect "9.1-RELEASE" even though
>> all other files mentioned above are in "9.2-RELEASE".
>> 
>> So still, where did uname get that incorrect version number?
>
>If there's no UNAME_* defined, you undefined it with #unsetenv, uname reads them from /usr/obj/usr/src/sys/$KERNEL/vers{ion,.c} files. Trond suggest to delete them before rebuilding, so they get updated too, nice suggestion. Mine sets different information in UNAME_* and vers{ion,.c} files. This discrepancy should be avoided.
>
>---   ---

Thanks.  I don't have the folder /usr/obj/usr/src/sys/ .  Under /usr/obj/usr/src/ I only see two folders: lib32 and tmp.

I did find a file /usr/obj/lib32/usr/src/include/vers.c , that contains the incorrect version:

#define SCCSSTR "@(#)FreeBSD 9.1-RELEASE #0: Mon Jan 21 15:45:14 UTC 2013"
#define VERSTR "FreeBSD 9.1-RELEASE #0: Mon Jan 21 15:45:14 UTC 2013\n    root@:/usr/obj/lib32/usr/src/include\n"
#define RELSTR "9.1-RELEASE"

That's closer now!  However, I never compiled the kernel, I only installed 9.0-RELEASE and ran freebsd-update to upgrade to 9.2-RELEASE, so don't know how these /usr/obj files were produced.  I installed virtualbox before, maybe that produced /usr/obj ?

Anyway, I have deleted these folders /usr/src/ and /usr/obj/ , then ran svn to install /usr/src/ , and then rebooted.  Yet "uname -a" still says the incorrect 9.1-RELEASE.  Now I don't even have /usr/obj , where does uname get that incorrect version now?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?30564000.1397796531648.JavaMail.root>