Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Jan 2014 07:48:37 +0800
From:      Erich Dollansky <erichsfreebsdlist@alogt.com>
To:        freebsd@dreamchaser.org
Cc:        FreeBSD Mailing List <freebsd-questions@freebsd.org>
Subject:   Re: updating /sys/sys
Message-ID:  <20140102074837.564f662f@X220.alogt.com>
In-Reply-To: <52C4530F.3070405@dreamchaser.org>
References:  <52C37801.8010001@dreamchaser.org> <20140101114745.3a3e37fb@X220.alogt.com> <52C3CC18.30407@dreamchaser.org> <20140101184142.5f11b3f6@X220.alogt.com> <52C4530F.3070405@dreamchaser.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

On Wed, 01 Jan 2014 10:40:31 -0700
Gary Aitken <freebsd@dreamchaser.org> wrote:

> 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.

I do not know about this as I update only via source.
> 
> 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.
> 
The reason why the header files - or at least some of them - are part
of every install is very simple. It is not possible to compile any
software without the header files. As the installer does not know if
you want later to build ports from sources or compile your own
software, the header files are installed.

> 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.

You need the header files - which are included there - to compile any
piece of software. This could be the reason why they are there.

I am a bit confused about how you update and why. If you compile your
own kernel, just use svn to keep the sources current. If you do not
compile your own kernel, just ignore there things as they will not
affect you.

Erich



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