2007/12/3, Ken Moffat <[EMAIL PROTECTED]>:
> And if, by some mischance, a package
> management tool becomes part of the book, who is going to support
> the users who then want to update packages (particularly toolchain
> packages) ?

Toolchain packages (in particular, glibc) cannot currently be upgraded
_exactly_ because there is no package manager (in the distro, aka
DESTDIR, sense - i.e., paco is not good enough). Here is what happens
when you run "make install" for the new glibc over an old one:

 * it installs ld-linux.so.2 using the "install" command
 * from the other line of the Makefile, it attempts to install
libc.so.6 using the "install" command - but at this point, there is
ld-linux.so.2 from the old glibc and libc.so.6 from the new glibc.
This was never supported, and segfaults because of mismatch of glibc
private data structures. The end result is unbootable system.

If you, instead of this, install glibc to a DESTDIR (called
install_root in the glibc Makefile), and then atomically copy its
contents to the filesystem root, no such mismatch occurs. And glibc
versions are binary compatible when upgrading, assuming that
applications don't use private glibc data structures.

Just a data point: I was able to upgrade glibc "live" on LFS LiveCD
6.2-5 from 2.3.6 to 2.7 by building it in /dev/shm "by the book" and
installing it with the following commands:

make install_root=/dev/shm/glibc-install
cd /dev/shm/glibc-install
tar -cpf - . | tar -C / -xUpvf -

(ignore "can't unlink" errors)

After that, everything just worked, including such a complex package
as Seamonkey.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to