aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/freebsd-update
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2023-09-29 15:28:35 +0000
committerEd Maste <emaste@FreeBSD.org>2023-10-18 14:52:59 +0000
commit6b27e1f2eaab9360a796c943da9d206515e1742b (patch)
treec96b951c30bc8bd516e014fa9ea390e673d00b3c /usr.sbin/freebsd-update
parentc0f52443166ae7ecd512ab0350469d9c3648788c (diff)
Diffstat (limited to 'usr.sbin/freebsd-update')
-rw-r--r--usr.sbin/freebsd-update/freebsd-update.sh5
1 files changed, 5 insertions, 0 deletions
diff --git a/usr.sbin/freebsd-update/freebsd-update.sh b/usr.sbin/freebsd-update/freebsd-update.sh
index 30e78f9bffa2..4866514c321e 100644
--- a/usr.sbin/freebsd-update/freebsd-update.sh
+++ b/usr.sbin/freebsd-update/freebsd-update.sh
@@ -3191,6 +3191,11 @@ rollback_setup_rollback () {
# Install old files, delete new files, and update linker.hints
rollback_files () {
+ # Create directories first. They may be needed by files we will
+ # install in subsequent steps (PR273950).
+ awk -F \| '{if ($2 == "d") print }' $1/INDEX-OLD > INDEX-OLD
+ install_from_index INDEX-OLD || return 1
+
# Install old shared library files which don't have the same path as
# a new shared library file.
grep -vE '^/boot/' $1/INDEX-NEW |