Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 01 Jan 2014 10:40:31 -0700
From:      Gary Aitken <freebsd@dreamchaser.org>
To:        Erich Dollansky <erichsfreebsdlist@alogt.com>
Cc:        FreeBSD Mailing List <freebsd-questions@freebsd.org>
Subject:   Re: updating /sys/sys
Message-ID:  <52C4530F.3070405@dreamchaser.org>
In-Reply-To: <20140101184142.5f11b3f6@X220.alogt.com>
References:  <52C37801.8010001@dreamchaser.org> <20140101114745.3a3e37fb@X220.alogt.com> <52C3CC18.30407@dreamchaser.org> <20140101184142.5f11b3f6@X220.alogt.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 01/01/14 03:41, Erich Dollansky wrote:
> Hi,
> 
> On Wed, 01 Jan 2014 01:04:40 -0700
> Gary Aitken <freebsd@dreamchaser.org> wrote:
> 
>> On 12/31/13 20:47, Erich Dollansky wrote:
>>
>>>> I just used freebsd-update to upgrade from 9.1 to 9.2. Everything
>>>> seemed to go properly, but if I look at /sys/sys all of the .h
>>>> files say something like: * $FreeBSD: release/9.0.0/sys/sys/cons.h
>>>> 196506 2009-08-24 10:53:30Z ed $
>>>>
>>>> /etc/freebsd-update looks like:
>>>>
>>>> ... Components src world kernel IgnorePaths ...
>>>>
>>>> Why aren't they updated?
>>>
>>> why should they? They define the 'interface' to the implementation.
>>> It is most important that these interfaces do change as little as
>>> possible especially in a STABLE version.
>>
>> If I think about it, it seems that what you say should be the case.
>> However, if you download the src tarball and do some diffs, you will
>> see that many of them are in fact different; how significant those
>> differences are, I'm not sure.  I hit this problem trying to build
>> sysutils/lsof quite a while ago.  It still doesn't build for me after
>> upgrading to 9.2.
> 
> I never used a 9.X, so I do not know. If .h files are changed - I mean
> not just the comments - it is not possible to run old binaries from the
> version before. But binaries from 9.0 should run on 9.2.
>>
>>> They can change when you update to 10 and they can change all the
>>> while on CURRENT but not on RELEASE versions like 8 and 9.
>>
>> Maybe that *should* be the situation, but it is not in actuality.
> 
> It happens for parts which under development.
>>
>>>> What's the best way to get them updated?
>>>
>>> You should have the current version if nothing is mentioned in
>>> UPDATING.
>>
>> I ended up getting them via the src.txz tarball:
>> ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/9.2-RELEASE/
>>
>> Moving the 9.0 /usr/src/sys/sys directory to the side and symlinking
>> to the usr/src/sys/sys directory from the 9.2 tarball allows it to
>> compile.
> 
> Sounds strange. Every RELEASE must compile. At least the world has to
> compile. It is a different story for a custom build kernel. There is
> the chance that you select a combination of options which will not
> result in a working kernel. Sometimes, this is documented, sometimes,
> it is not.

The release compiles with it's own (9.2-RELEASE) /usr/src/sys/sys.
The problem is that /usr/src is not updated under some conditions,
apparently, when freebsd-update is run, even if freebsd-update includes
"src" in the "Components" line.

Hmmm.  When I first installed 9.0, I don't think I had any source installed,
but /usr/src/sys is part of the base install.  This would be consistent
with the state of my system, which has a stubbed out directory tree for
everything in /usr/src except for /usr/src/sys.  The default for 
"StrictComponents" is no, and when it goes to determine whether or not to 
update it makes the decision based on whether or not more than 50% of the 
files that are supposed to be there are actually there.  I suspect the whole 
of src is considerably more than double /usr/src/sys, so it would decide not 
to update.

Unfortunately, it is not possible to rerun freebsd-update on the same
version to correct a problem such as this.

I am not sure whether /usr/src/sys is considered part of the "world" or
"kernel" components or not; if it is not, then the above would explain
the behavior.  If it is considered part of "world" or "kernel", then it
would not explain it.

Gary



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?52C4530F.3070405>