[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Kernel 2.2.1



>>>>> "AVP" == Angel Vicente Perez <avicente@mx2.redestb.es> writes:

  AVP> Hi all...  I have installed kernel 2.2.1 so..

  AVP> It's good idea recompiling libc-2.0.7 against
  AVP> kernel-headers-2.2.1

No!

Recompiling libc with 2.2.x headers will cause problems, due to the
arrangement of the chown and lchown syscalls.

During the 2.1.x series of syscalls, the chown syscall was renamed
lchown (which does the same thing as the pre-2.1 chown), and a new
chown syscall was created (which follows symlinks).

The upshot of this is that a libc compiled with the 2.2.x headers will 
follow the new syscall orientation, which will break some programs
expecting the old chown behavior (notably, dpkg, possibly tar). In
addition, you will not be able to use the new libc with a pre-2.2
kernel. 

To ease this transition, I suggest the following:

1) All programs should be examined for use of chown(), especially
   those in base. Any packages which may break if chown operates on
   the link instead of the file should be noted.
2) Wait until there are NO 2.0x kernel packages in the distribution.
3) Ensure that a libc6 upgrade depends on a kernel > 2.2.0, and
   announces that it will not work with 2.0.x kernels.
4) compile libc with new headers, but not installed into dist. Allow
   time for all programs identified in step 1 to be recompiled, then
   install the whole shooting match at once.

It would probably be best to ship potato with a 2.2 kernel and a 2.0.x 
headers libc, then for the next release remove all kernel 2.0.x
packages and do the header roll forward.

It just seems that caution is a better course of action, considering
the implications.

-Larry

-- 
  Larry Daffner        |  Linux: Unleash the workstation in your PC!
  vizzie@airmail.net / http://web2.airmail.net/vizzie/
Art is a collaboration between God and the artist, and the less the artist does
the better.  --Andre Gide


Reply to: