[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Is it a must to keep kernel up-to-date for -current pkgsrc user?
On Freitag, 18. November 2011 at 20:24, Mayuresh wrote:
> This document suggests if the -current code uses new system calls
> supported only by newer kernel there could be a problem. So better to
> update the kernel in such cases.
> Is there anything in pkgsrc that will warn of need of a kernel upgrade, in
> case the changes use a new system call?
you're mixing a few things up here. There are three different items that can be
updated in Net- or any other BSD.
a) the kernel (built with "make buildkernel" in /usr/src)
b) the userland (built with "make buildworld" in /usr/src)
c) the package manager (in this case, pkgsrc, living in /usr/pkgsrc)
a) and b) are collectively called "the base system" – this is (Net)BSD. The
package manager is a means of installing extra software that is not part of the
base system; it is not directly a part of (Net)BSD, it just happens to be run
by the same people on the same servers.
The userland is basically everything that lives in and around /usr and comes
from the (Net)BSD source tree. The userland SHOULD never be newer than the
kernel – this is what the documentation you linked is referring to. This is
because in a BSD, userland and kernel are fairly closely linked and userland
tools might expect kernel features not available in an older kernel. Running a
_newer_ kernel with an _older_ userland MAY not work, but it usually does.
The package manager – pkgsrc – is completely separate from all this, it lives
in its own source tree and can even be used on completely different systems.
I'm running pkgsrc on Mac OS X right now. Because of this, you can more or less
use any version of pkgsrc on any version of NetBSD* – nothing speaks against
using pkgsrc-current on NetBSD 4 or something. You MAY have to re-build your
packages after some upgrades to the kernel (rarely) or userland (sometimes),
because the packages do use some libraries from the base system and might break
when those are updated. I.e., whenever you experience problems with "missing"
libraries or wrong library versions after a NetBSD update, re-build the
affected or all packages from pkgsrc.
Regarding your last question: If you are continuously upgrading NetBSD-current
from source, no "large" binary updates are required. The same goes for
pkgsrc-current. Some people call this a "rolling upgrade" procedure, as you
roll along with the progress of the respective -current branches and never jump
from one version to the next. But as said above, this is true _separately_ for
both. It is very likely though that, should you choose to only use rolling
upgrades for pkgsrc, you need to re-build all your packages when upgrading the
I hope this answers your questions.
* small caveat: sometimes a "bug" in one of the packages or even the pkgsrc
infrastructure is actually a bug in some version(s) of the base system. In that
case you may have to upgrade the base system to fix them.
Main Index |
Thread Index |