where does uname get version number?
John
aqqa11 at earthlink.net
Fri Apr 18 04:59:04 UTC 2014
-----Original Message-----
>From: Eduardo Morras <emorrasg at yahoo.es>
>Sent: Apr 17, 2014 3:07 AM
>To: freebsd-questions at 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 at 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?
More information about the freebsd-questions
mailing list