Be more selective when filtering for lib*.so.N files. These are deleted
at the end of the upgrade process, after warning users to upgrade any 3rd party software (e.g., from the ports tree) which might link to the libraries being removed. Prior to this commit, the line /usr/lib/libc.so|...|/lib/libc.so.7 matched the regex, which -- upgrading from 9.x to 10.x, where libc.so is a regular file and thus was not part of a line which matched the regex -- resulted in freebsd-update thinking that /usr/lib/libc.so was a shared library which was being removed as part of the upgrade. This had some unfortunate consequences. This will be part of an upcoming Errata Notice.
This commit is contained in:
parent
2e1ae0b3e9
commit
9546dbd128
@ -2822,16 +2822,16 @@ Kernel updates have been installed. Please reboot and run
|
||||
# Install new shared libraries next
|
||||
grep -vE '^/boot/' $1/INDEX-NEW |
|
||||
grep -vE '^[^|]+\|d\|' |
|
||||
grep -E '/lib/.*\.so\.[0-9]+\|' > INDEX-NEW
|
||||
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 '/lib/.*\.so\.[0-9]+\|' > INDEX-OLD
|
||||
grep -vE '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-OLD
|
||||
grep -vE '^/boot/' $1/INDEX-NEW |
|
||||
grep -vE '^[^|]+\|d\|' |
|
||||
grep -vE '/lib/.*\.so\.[0-9]+\|' > INDEX-NEW
|
||||
grep -vE '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-NEW
|
||||
install_from_index INDEX-NEW || return 1
|
||||
install_delete INDEX-OLD INDEX-NEW || return 1
|
||||
|
||||
@ -2852,11 +2852,11 @@ Kernel updates have been installed. Please reboot and run
|
||||
|
||||
# Do we need to ask the user to portupgrade now?
|
||||
grep -vE '^/boot/' $1/INDEX-NEW |
|
||||
grep -E '/lib/.*\.so\.[0-9]+\|' |
|
||||
grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' |
|
||||
cut -f 1 -d '|' |
|
||||
sort > newfiles
|
||||
if grep -vE '^/boot/' $1/INDEX-OLD |
|
||||
grep -E '/lib/.*\.so\.[0-9]+\|' |
|
||||
grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' |
|
||||
cut -f 1 -d '|' |
|
||||
sort |
|
||||
join -v 1 - newfiles |
|
||||
@ -2877,10 +2877,10 @@ again to finish installing updates.
|
||||
# Remove old shared libraries
|
||||
grep -vE '^/boot/' $1/INDEX-NEW |
|
||||
grep -vE '^[^|]+\|d\|' |
|
||||
grep -E '/lib/.*\.so\.[0-9]+\|' > INDEX-NEW
|
||||
grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-NEW
|
||||
grep -vE '^/boot/' $1/INDEX-OLD |
|
||||
grep -vE '^[^|]+\|d\|' |
|
||||
grep -E '/lib/.*\.so\.[0-9]+\|' > INDEX-OLD
|
||||
grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-OLD
|
||||
install_delete INDEX-OLD INDEX-NEW || return 1
|
||||
|
||||
# Remove old directories
|
||||
|
Loading…
x
Reference in New Issue
Block a user