Armin K. wrote:
> On 06/17/2012 12:00 AM, Bruce Dubbs wrote:
>> Also, as with the discussion on BLFS support discussing updating
>> glibc in place, I think I will put udev in the same category as too
>> risky to update in place.
> 
> Erm, why? What could go wrong?

For udev, for for glibc?

For glibc, it's pretty obvious: you need to replace ld-linux and libc at
the same time (unlink both, then symlink the new versions), otherwise
you'll end up with programs being exec()ed with a combination of those
two files that come from different versions of glibc.  Whether this is
actually a problem or not depends on which glibc versions they are, of
course, but there is at least a reasonable probability of an
incompatibility between the memory layout that ld-linux creates, and the
one that libc requires.

You also can't replace ld-linux with "rm && ln -s", because ln won't be
able to be exec()ed, since it requires ld-linux to do so.

Now this can obviously be worked around (the tar idea is interesting,
and yeah I think it'd work too, as long as both files and both symlinks
are added to the tar) -- but the glibc installation rules in its
Makefiles don't do that.

For udev, it also depends on which version you're coming from, but see
Bruce's previous posts in this thread for one thing that could go wrong
-- the layout of /sys changed in a backward-incompatible way, and
there's no way to run either current udevs with the old layout, or
(many) old udevs with the current layout.

There *might* be a few udev releases that work with both layouts, from
back before the day the udev maintainers decided that the only upgrade
path they'd support is the kernel working with older udevs (which it
*doesn't* in the case of !CONFIG_SYSFS_DEPRECATED), but I don't know
what versions they'd be.  :-/

But another incompatibility that comes to mind is the rules-file format.
Current udev versions use ATTR / ATTRS, while earlier versions used
SYSFS (and had no way to distinguish between "matching on the device
being processed" and "matching on any single parent device").  See also
the transition from NAME to KERNEL for everything except NICs, the
transition from $sysfs{...} to $attr{...} or $attrs{...} in substitution
strings, etc.  A bunch of udev versions warned about the presence of the
old constructs in the rules files they parsed, but that may have been
removed now as well.

Attachment: signature.asc
Description: OpenPGP digital signature

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

Reply via email to