diff options
author | brooks <brooks@FreeBSD.org> | 2015-02-06 23:44:16 +0000 |
---|---|---|
committer | brooks <brooks@FreeBSD.org> | 2015-02-06 23:44:16 +0000 |
commit | f7b7391ee396369e6cdd4928c8c7725498921cad (patch) | |
tree | 16d7d2c57000075dcd0be917773a7944bc2d7c54 /usr.sbin/freebsd-update | |
parent | dfbf56845d6ed5b02021581144fac65d4580e755 (diff) | |
download | FreeBSD-src-f7b7391ee396369e6cdd4928c8c7725498921cad.zip FreeBSD-src-f7b7391ee396369e6cdd4928c8c7725498921cad.tar.gz |
When upgrading, install the ELF runtime linkers before libraries.
This is required to prevent problems with nss modules that use libthr when
upgrading from releases prior to 10.1.
PR: 197366
Sponsored by: DARPA, AFRL
Differential Revision: D1790
Reviewed by: cperciva
MFC after: 3 days
Diffstat (limited to 'usr.sbin/freebsd-update')
-rw-r--r-- | usr.sbin/freebsd-update/freebsd-update.sh | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/usr.sbin/freebsd-update/freebsd-update.sh b/usr.sbin/freebsd-update/freebsd-update.sh index 4979c01..3b784c8 100644 --- a/usr.sbin/freebsd-update/freebsd-update.sh +++ b/usr.sbin/freebsd-update/freebsd-update.sh @@ -2828,18 +2828,27 @@ Kernel updates have been installed. Please reboot and run grep -E '^[^|]+\|d\|' > INDEX-NEW install_from_index INDEX-NEW || return 1 + # Install new runtime linker + grep -vE '^/boot/' $1/INDEX-NEW | + grep -vE '^[^|]+\|d\|' | + grep -E '^/libexec/ld-elf[^|]*\.so\.[0-9]+\|' > INDEX-NEW + install_from_index INDEX-NEW || return 1 + # Install new shared libraries next grep -vE '^/boot/' $1/INDEX-NEW | grep -vE '^[^|]+\|d\|' | + grep -vE '^/libexec/ld-elf[^|]*\.so\.[0-9]+\|' | grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-NEW install_from_index INDEX-NEW || return 1 # Deal with everything else grep -vE '^/boot/' $1/INDEX-OLD | grep -vE '^[^|]+\|d\|' | + grep -vE '^/libexec/ld-elf[^|]*\.so\.[0-9]+\|' | grep -vE '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-OLD grep -vE '^/boot/' $1/INDEX-NEW | grep -vE '^[^|]+\|d\|' | + grep -vE '^/libexec/ld-elf[^|]*\.so\.[0-9]+\|' | grep -vE '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-NEW install_from_index INDEX-NEW || return 1 install_delete INDEX-OLD INDEX-NEW || return 1 |